bgp inject-map
初期設定(iosv-3,5のみ、他は前回前々回参照)
show ip bgp(before)
iosv-5#sh ip bgp
BGP table version is 3, local router ID is 192.168.25.5
<略>
Network Next Hop Metric LocPrf Weight Path
*> 172.16.1.0/24 192.168.25.2 0 100 30 i
*> 172.16.2.0/24 192.168.25.2 0 100 30 i
iosv-3にてnetworkで広告された経路はiosv-5まで伝わってきてる(そらそう)
show ip bgp (aggregate-address)
iosv-3(config)#router bgp 30
iosv-3(config-router)#aggre 172.16.0.0 255.255.0.0 summary
iosv-3#sh ip bgp nei 192.168.30.10 adv
BGP table version is 6, local router ID is 172.16.2.1
<略>
Network Next Hop Metric LocPrf Weight Path
*> 172.16.0.0 0.0.0.0 32768 i
iosv-5#sh ip bgp
BGP table version is 6, local router ID is 192.168.25.5
<略>
Network Next Hop Metric LocPrf Weight Path
*> 172.16.0.0 192.168.25.2 0 100 30 i
iosv-2#sh ip bgp nei 192.168.25.5 adv
<略>
Network Next Hop Metric LocPrf Weight Path
*>i 172.16.0.0 10.10.10.10 0 100 0 30 i
iosv-3でaggregate-addressで集約すればiosv-5は172.16.0.0しか経路を学ぶことができない(当たり前)
show ip bgp(after: inject-map)
iosv-2(config)#ip prefix INJECT permit 172.16.1.0/24
iosv-2(config)#ip prefix EXIST permit 172.16.0.0/16
iosv-2(config)#ip prefix SOURCE permit 10.10.10.10/32
iosv-2(config)#route-map INJECT_MAP permit 10
iosv-2(config-route-map)#set ip address prefix INJECT
iosv-2(config-route-map)#exit
iosv-2(config)#route-map EXIST_MAP permit 10
(config-route-map)#match ip route-source prefix SOURCE
iosv-2(config-route-map)#match ip add prefix EXIST
iosv-2(config)#router bgp 100
iosv-2(config-router)#bgp inject-map INJECT_MAP exist-map EXIST_MAP
送信元が10.10.10.10で172.16.0.0/16の経路が存在する場合、172.16.1.0/24を広告する内容のinject-mapを設定。
iosv-0#sh ip bgp
BGP table version is 6, local router ID is 10.10.10.10
<略>
Network Next Hop Metric LocPrf Weight Path
*> 172.16.0.0 192.168.30.3 0 0 30 i
iosv-5#sh ip bgp
BGP table version is 7, local router ID is 192.168.25.5
<略>
Network Next Hop Metric LocPrf Weight Path
*> 172.16.0.0 192.168.25.2 0 100 30 i
*> 172.16.1.0/24 192.168.25.2 0 100 ?
これ、すごい不可解なのが、発信元であるiosv-3は経路集約していて172.16.0.0/16しか広告していないからiosv-0は172.16.0.0/16しか学習していないのに、iosv-0の先にあるiosv-5では172.16.0.0/16のみならず172.16.1.0/24も学習している点。
設定の詳細はわかってはいるんだけどすごく気持ち悪い。