Files
ferrix/docs/lab/prod/on-router/05-lab-lo.network
T
Rayhaan JaufeerallyandClaude Fable 5.1 fd496d26bf feature: run on the router itself: protoc-free build, per-peer source address
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>
2026-09-20 18:15:09 +02:00

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