website/content/docs/linking.md

45 lines
1.1 KiB
Markdown

# Server links
echoIRCd links to other servers — and to echo services — over a standard server-to-server
protocol, wire-compatible with the InspIRCd 1206 protocol.
## Server identity
Every server needs a unique **SID** (three characters, the first a digit) and a name.
```ini
network "echoiRCd";
sid "0AA";
```
## A link block
Each `link` block describes a peer: its name, address, port, and the passwords used to
authenticate the connection in each direction.
```ini
listen { ip "[::]"; port 7700; type server; }
link {
name "hub.example.net";
ip "203.0.113.10";
port 7700;
sendpassword "outbound-secret";
recvpassword "inbound-secret";
}
```
> Treat link passwords as secrets, and restrict the server port to trusted peers.
## Services
echo services connect as a special linked server. In the ircd, mark the services server name as a
**U-lined** server (and as the SASL server) so its privileged commands and SASL relay are
accepted:
```ini
uline { server "services.echoircd.org"; }
sasl_server "services.echoircd.org";
```
See [Services](/docs/services) for the services side of the link.