BGP next-hop-unchanged
設定
物理:192.168.123.0/24
Loopback:x.x.x.x/32
画像赤線がeBGPピア
show ip bgp
iosv-1#sh ip bgp | b validation
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 1.1.1.1/32 0.0.0.0 0 32768 i
*> 2.2.2.2/32 192.168.123.2 0 0 2 i
*> 3.3.3.3/32 192.168.123.3 0 0 3 i
iosv-2#sh ip bgp | b validation
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 1.1.1.1/32 192.168.123.1 0 0 1 i
*> 2.2.2.2/32 0.0.0.0 0 32768 i
*> 3.3.3.3/32 192.168.123.3 0 1 3 i
iosv-3#sh ip bgp | b validation
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 1.1.1.1/32 192.168.123.1 0 0 1 i
*> 2.2.2.2/32 192.168.123.2 0 1 2 i
*> 3.3.3.3/32 0.0.0.0 0 32768 i
記事に書いてある通り、unchangedを設定しなくてもネクストホップが最適化されている。(JANOG42のスライドではiosv-2,3間のトラフィックは始めiosv-1を流れているが、next-hopをunchangedすることで直接やりとりするようになっている。)
問題は、3次情報なこと。
CCOでそういうことが書かれてある箇所を探してるんだけど見つからない。
あとそもそもroute-mapのsetにunchangedがない他、シンプルなeBGPピアにはnext-hop-unchangedは設定できない(下記参照)
iosv-2(config-router)#nei 3.3.3.3 next-hop-unchanged
%BGP: Can propagate the nexthop only to multi-hop EBGP neighbor or iBGP VRF CE lite
iosv-1(config)#route-map MAP permit 10
iosv-1(config-route-map)#set ip next-hop ?
A.B.C.D IP address of next hop
dynamic application dynamically sets next hop
encapsulate Encapsulation profile for VPN nexthop
peer-address Use peer address (for BGP only)
recursive Recursive next-hop
self Use self address (for BGP only)
verify-availability Verify if nexthop is reachable
neighbor next-hop-unchanged
eBGP multihopとmultihop eBGP別物だと思ってたけど全然そんなことなかった。ebgp-multihop設定したあとであればunchangedは入る。
iosv-1(config)#router bgp 1
iosv-1(config-router)#nei 192.168.123.3 ebgp-multi
iosv-1(config-router)#nei 192.168.123.2 ebgp-multi
iosv-1(config-router)#nei 192.168.123.2 next-hop-unchanged
iosv-1(config-router)#nei 192.168.123.3 next-hop-unchanged
因みにBGPテーブルは変化なし。
そらそう、だってunchanged入れてなくてもネクストホップが最適になってたんだもの。
iosv-2#sh ip bgp | b validation
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 1.1.1.1/32 192.168.123.1 0 0 1 i
*> 2.2.2.2/32 0.0.0.0 0 32768 i
*> 3.3.3.3/32 192.168.123.3 0 1 3 i
iosv-3#sh ip bgp | b validation
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 1.1.1.1/32 192.168.123.1 0 0 1 i
*> 2.2.2.2/32 192.168.123.2 0 1 2 i
*> 3.3.3.3/32 0.0.0.0 0 32768 i
set ip next-hop unchanged
route-mapへのunchangedの設定は16.3.1から対応とのこと。
最新CML2.6.1のIOSバージョンは15.9なので設定不可。
iosv-3#show version
Cisco IOS Software, IOSv Software (VIOS-ADVENTERPRISEK9-M), Version 15.9(3)M6, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2022 by Cisco Systems, Inc.
Compiled Mon 08-Aug-22 15:22 by mcpre
因みに
CCOにこう書いてるけど、EIの範囲じゃないので一旦飛ばす。EIとって、SPの勉強始めたら戻ってこよう。
参考
Chapter: BGP Next Hop Unchanged
BGP NEXT_HOP Attribute(JANOG42)