Enable IPv6 feed: run GoBGP in host network mode

The IPv6 eBGP session never established because the Docker bridge
has no IPv6. Switch the gobgp container to network_mode: host so it
uses the host's real dual-stack connectivity — both sessions to
AS57355 now source from the host's public v4/v6 addresses.

Host mode binds the host's port namespace, so disable GoBGP's
inbound BGP listener (port = -1) — we only originate outbound
sessions, and a non-root container cannot bind privileged port 179.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
sam 2026-05-19 08:08:55 -07:00
parent 7766525787
commit cffb835f30
2 changed files with 9 additions and 3 deletions

View File

@ -427,6 +427,11 @@ services:
restart: unless-stopped
container_name: obmp-gobgp
image: jauderho/gobgp:v4.5.0
# Host networking: the daemon uses the host's real IPv4 + IPv6 stack, so
# both the v4 and v6 eBGP sessions to AS57355 source from the host's
# public addresses (no Docker IPv6/NAT plumbing). BMP still reaches the
# collector on 10.40.40.202:5000 (its published port).
network_mode: host
depends_on:
- collector
# gobgpd reads /config/gobgpd.conf; the same mount carries mrt-refresh.sh

View File

@ -14,9 +14,10 @@
[global.config]
as = 65001
router-id = "10.40.40.250"
# Listen for inbound BGP on the standard port. We only originate
# outbound sessions, but the daemon still needs a listen port.
port = 179
# We only originate outbound sessions to the route server; disable the
# inbound BGP listener (port -1) so the daemon needs no privileged
# (<1024) bind -- required under docker network_mode: host.
port = -1
# --- Neighbor: route server, IPv4 feed --------------------------------------
# The IPv4 transport session carries the full IPv4 table only.