New gobgp service: GoBGP peers eBGP-multihop with the AS57355 lab route server (Bromirski) for the full real IPv4 + IPv6 Internet table and BMP-exports it to the OpenBMP collector, landing in ip_rib as a monitored peer. Config follows the route server's published peering spec: local AS 65001, no password, keepalive 3600 / hold-time 7200, IPv4 feed on the v4 session and IPv6 feed on the v6 session. gobgp/mrt-refresh.sh is a cron-safe fallback that injects RouteViews MRT RIB dumps when the live session is down. The live BGP session is not started here — bringing gobgp up establishes the external session and loads ~1M routes. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
71 lines
2.6 KiB
Plaintext
71 lines
2.6 KiB
Plaintext
# GoBGP daemon configuration -- OpenBMP "global Internet table" feed (roadmap E1)
|
|
#
|
|
# Pulls the full real Internet routing table (IPv4 ~1M + IPv6 ~200k routes)
|
|
# from Lukasz Bromirski's lab route server (AS57355) and BMP-exports every
|
|
# received route to the OpenBMP collector, where it lands in PostgreSQL ip_rib.
|
|
# Peering spec: https://lukasz.bromirski.net/post/bgp-w-labie-3/
|
|
#
|
|
# Receive-only: we announce NOTHING -- AS57355 explicitly asks peers not to
|
|
# send prefixes. Local AS is 65001 (the value the route server expects).
|
|
# Per the spec: eBGP multihop, no password, keepalive 3600 / hold-time 7200.
|
|
# TOML syntax targets GoBGP v3.x / v4.x.
|
|
|
|
[global]
|
|
[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
|
|
|
|
# --- Neighbor: route server, IPv4 feed --------------------------------------
|
|
# The IPv4 transport session carries the full IPv4 table only.
|
|
[[neighbors]]
|
|
[neighbors.config]
|
|
neighbor-address = "85.232.240.179"
|
|
peer-as = 57355
|
|
description = "AS57355 Bromirski lab route-server (IPv4 feed)"
|
|
[neighbors.timers.config]
|
|
keepalive-interval = 3600
|
|
hold-time = 7200
|
|
[neighbors.ebgp-multihop.config]
|
|
enabled = true
|
|
multihop-ttl = 64
|
|
[neighbors.transport.config]
|
|
# we initiate the session; no local-address pinning
|
|
passive-mode = false
|
|
[[neighbors.afi-safis]]
|
|
[neighbors.afi-safis.config]
|
|
afi-safi-name = "ipv4-unicast"
|
|
|
|
# --- Neighbor: route server, IPv6 feed --------------------------------------
|
|
# The IPv6 transport session carries the full IPv6 table only.
|
|
[[neighbors]]
|
|
[neighbors.config]
|
|
neighbor-address = "2001:1a68:2c:2::179"
|
|
peer-as = 57355
|
|
description = "AS57355 Bromirski lab route-server (IPv6 feed)"
|
|
[neighbors.timers.config]
|
|
keepalive-interval = 3600
|
|
hold-time = 7200
|
|
[neighbors.ebgp-multihop.config]
|
|
enabled = true
|
|
multihop-ttl = 64
|
|
[neighbors.transport.config]
|
|
passive-mode = false
|
|
[[neighbors.afi-safis]]
|
|
[neighbors.afi-safis.config]
|
|
afi-safi-name = "ipv6-unicast"
|
|
|
|
# --- BMP export to the OpenBMP collector ------------------------------------
|
|
# GoBGP connects OUT to the collector. "obmp-collector" resolves on the shared
|
|
# compose network; port 5000 is the collector's BMP listener.
|
|
# route-monitoring-policy = "pre-policy" exports the Adj-RIB-In (received
|
|
# routes, pre import-policy) -- consistent with the rest of the OpenBMP fleet.
|
|
[[bmp-servers]]
|
|
[bmp-servers.config]
|
|
address = "obmp-collector"
|
|
port = 5000
|
|
route-monitoring-policy = "pre-policy"
|
|
statistics-timeout = 3600
|