First session
Write a minimal config, start ansage and check that the neighbor has your prefixes.
Write a config
asn = 64500
router_id = "203.0.113.1"
announce = ["192.0.2.0/24", "2001:db8:1::/48"]
[[neighbor]]
address = "10.0.0.1"
asn = 64501ansage check -c /etc/ansage/ansage.toml validates it without starting anything. Every
setting is in the config reference.
Start ansage
Under systemd (see Install):
systemctl start ansageOr in the foreground:
ansage --config /etc/ansage/ansage.toml [--log-format text|json]Check the session
ansage show summaryansage 0.4.0, AS 64500, router ID 203.0.113.1, up 4.0s
RIB: 2 IPv4 and 2 IPv6 prefixes, 3 attribute sets
Announcing: 192.0.2.0/24 2001:db8:1::/48
ID NEIGHBOR AS STATE FOR RCVD v4/v6 SENT v4/v6 DESCRIPTION
1 10.0.0.1:179 64501 Established 4.0s 0/0 1/1 -Established and SENT 1/1: the neighbor has both prefixes. ansage show peer 10.0.0.1
shows the details, and why a session is not up. All client commands take --json, and
-s SOCKET (or -c CONFIG to find its socket).
Check on the router
vtysh -c 'show bgp ipv4 unicast 192.0.2.0/24'birdc show route 192.0.2.0/24 allThe router needs a neighbor for ansage too, see Router configs.
Who connects
By default ansage connects to its neighbors and accepts nothing. To accept connections from
configured neighbors as well, set listen; a neighbor with passive = true is never
connected to, ansage waits for it:
listen = ["0.0.0.0:179", "[::]:179"]
[[neighbor]]
address = "10.0.0.1"
asn = 64501
passive = trueNext steps
- One session carries IPv4 and IPv6: if it runs over IPv4, set
next_hop_ipv6, see Next hops. - Several servers with the same prefix: Run an anycast service.
- Withdraw when the service fails: Health checks.