問題意識
- 以前の記事の検証がわかりづらい(構成図に存在しないRTを登場させている)
- 加えて、next-hopをroute-map経由で付与させようとしている
- next-hopはneighborに直接つけられるため、今回改めて検証を行う
構成図
RT5(AS200)--RT2(AS200)--RT3(AS300) Loopback 192.168.30.0/24をBGPで広報
初期状態
- Next Hopが25.1.1.2、つまりRT2のRT5向きIFのアドレスになっている
- 本来、初期状態ではiBGPへの広報時にNext-hopの書き換えは行わない
- が、Cisco機器の使用としてデフォルトでNext-hopの書き換えが有効となっている(公式のソースは相変わらず見つかっていないが、実機確認できているのでまあそういうことなのだろう)
RT2#show run | s r b
router bgp 200
bgp router-id 2.2.2.2
bgp log-neighbor-changes
!
address-family ipv4 vrf VRF_01
neighbor 2.3.4.3 remote-as 300
neighbor 2.3.4.3 activate
neighbor 25.1.1.5 remote-as 200
neighbor 25.1.1.5 activate
exit-address-family
RT5#show bgp vrf VRF_01 | b Origin
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 1:1 (default for vrf VRF_01)
*>i 192.168.30.0 25.1.1.2 0 100 0 300 i
*>i 192.168.40.0 25.1.1.2 0 100 0 400 i
設定追加
- neighborにnext-hop-unchangedをつけるだけ
RT2(config-router-af)#neighbor 25.1.1.5 next-hop-unchanged
確認
- Next Hopが2.3.4.2、つまりRT3のRT2向きIFアドレスに変化した
- 設定名の通り、Next-hopが変更されなかった(unchanged)ためである
RT5#show bgp vrf VRF_01 | b Origin
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
Route Distinguisher: 1:1 (default for vrf VRF_01)
* i 192.168.30.0 2.3.4.3 0 100 0 300 i
* i 192.168.40.0 2.3.4.4 0 100 0 400 i
結論
- CiscoはデフォルトでiBGPへの広報でもnext-hopを変更する
- next-hop-unchangedの設定を入れることで、RFCの想定の状態になる