私は、eBGP で学習したプレフィックスを別の eBGP 接続ネイバーにアドバタイズするのと同じくらい簡単なことを Quagga に実行させようとしています。シンプルですよね?
BGPd 構成スニペット
!
router bgp 64620
bgp router-id 172.29.253.80
bgp log-neighbor-changes
network 172.29.253.80/32
timers bgp 10 30
neighbor 10.35.253.2 remote-as 64901
neighbor 10.35.253.2 next-hop-self
neighbor 10.35.253.2 soft-reconfiguration inbound
neighbor 10.47.0.254 remote-as 64621
neighbor 10.47.0.254 ebgp-multihop 255
neighbor 10.47.0.254 next-hop-self
neighbor 10.47.0.254 soft-reconfiguration inbound
!
プレフィックス 10.47.0.0/16 がネイバー 10.47.0.254 から学習され、10.35.253.2 に再アドバタイズされる
# sh ip bgp 10.47.0.0/16
BGP routing table entry for 10.47.0.0/16
Paths: (1 available, best #1, table Default-IP-Routing-Table)
Advertised to non peer-group peers:
10.35.253.2
64621
10.47.0.254 from 10.47.0.254 (10.47.0.254)
Origin IGP, localpref 100, valid, external, best
Last update: Mon Mar 19 08:35:28 2018
しかし、10.35.253.2 へのアドバタイズされたルートを確認すると、実際には (10.47.0.0/16) がアドバタイズされていないことがわかります。これもtcpdumpで確認しました。
# sh ip bgp neighbors 10.35.253.2 advertised-routes
BGP table version is 0, local router ID is 172.29.253.80
Status codes: s suppressed, d damped, h history, * valid, > best, = multipath,
i internal, r RIB-failure, S Stale, R Removed
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 172.29.253.80/32 10.35.253.1 0 32768 i
Total number of prefixes 1
BGPd バージョン
# /usr/lib/quagga/bgpd --version
bgpd version 0.99.24.1