Preparing to run ferrix next to BIRD on the production router. - build: the config proto is now parsed in pure Rust, so building needs no `protoc` binary. It previously worked only where one happened to be installed; the Dockerfile in this repo could not have built. - peers gain `local_address`, the source IP for connections we open (and therefore the next hop we advertise). When both speakers share a host the OS would otherwise pick an arbitrary local address and the peer, which identifies us by address, would refuse the session. Address-family mismatches are rejected at config load; an address the host lacks shows up as the peer's backoff reason. - docs/lab/prod/on-router: static musl cross-build instructions, config, hardened systemd unit (unprivileged, SIGTERM gives BIRD a Cease), loopback addresses for networkd, the BIRD stanza for a same-host multihop session, and reverse-proxy examples with TLS and a password, since the API has no authentication. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
18 lines
439 B
SYSTEMD
18 lines
439 B
SYSTEMD
# /etc/systemd/network/05-lab-lo.network
|
|
# If a .network file already matches "lo" (e.g. the AnyIP one), merge these
|
|
# sections into it instead: networkd applies only the first match.
|
|
[Match]
|
|
Name=lo
|
|
|
|
# One address each for BIRD and ferrix to peer over.
|
|
[Address]
|
|
Address=fd00:179::1/128
|
|
|
|
[Address]
|
|
Address=fd00:179::2/128
|
|
|
|
# AnyIP: the router answers ping for every address in the lab space.
|
|
[Route]
|
|
Destination=2a0d:d741::/40
|
|
Type=local
|