9/12/2016

BGP IPv6セッションでIPv4経路を広報する

Junos 16.1のリリースノートを見ていたら、追加機能に「Advertising IPv4 routes over BGP IPv6 sessions」があった。今までのリリースでIPv6セッション上で交換できる経路は、inet6-unicast、inet6-multicast、inet6 labeled-unicastのアドレスファミリーに限定されていたが、16.1からは全てのアドレスファミリーを交換できるようになり、IPv6のBGPセッションで(ネクストホップがIPv4アドレスの)IPv4経路を広報できるとのこと。

Cisco IOSで試してみた。設定は次の通り。

router bgp 100
 bgp router-id 192.168.0.1
 bgp log-neighbor-changes
 neighbor 2001:100::2 remote-as 200
 !
 address-family ipv4
  network 192.168.0.1 mask 255.255.255.255
  neighbor 2001:100::2 activate
  neighbor 2001:100::2 send-community
  neighbor 2001:100::2 route-map set-next-hop out
 exit-address-family
!
route-map set-next-hop permit 10
 set ip next-hop 10.0.0.1

経路を確認。

iosv-2#show bgp     
BGP table version is 4, local router ID is 192.168.0.5
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, 
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, 
              x best-external, a additional-path, c RIB-compressed, 
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  10.0.0.0/16      0.0.0.0                  0         32768 i
 *>  192.168.0.1/32   10.0.0.1                 0             0 100 i
 *>  192.168.0.5/32   0.0.0.0                  0         32768 i

Next Hopを変更しないと、IPv6のNext Hop("2001:100::1")がそのままIPv4アドレス(32.1.1.0)に扱われてしまう。ここらあたり、アドレスファミリーを使って自動判別してくれるといいのだが。