まだまだ続く、Cisco IOS XRvでコアルータごっこ。
前回は、VMware Playerを2枚立ち上げてCisco IOS XRv同士でBGPでピアを張らせてみた。
通信キャリアのバックボーンネットワークにて導入実績があるCisco IOS XR搭載のコアルータ。
機能が限定されているXRv版ではあるものの、仮想環境でもコアルータを動作させる事が出来るという事で、今回はCisco IOS XRvを2台立ち上げてeBGPでピアを張らせてみた。
Cisco IOS XRvをVMware Playerに導入した際のメモは、下記リンク際を参照。
http://d.hatena.ne.jp/debslink/20150524/1432457008
VMware上でCisco IOS XRvのiBGP設定に関するメモは、下記リンク際を参照。
http://d.hatena.ne.jp/debslink/20150530/1432990905
動作環境
·DELL INSPIRON 1545改
·Windows7 Home Edition (64bit版) 4GB RAM / Intel Core2Duo P9700 2.8GHz
·VMware Player 7.1.0 (英語版)
·IOS XRv: iosxrv-k9-demo-5.3.1.ova
PCの設定:
ローカルエリア接続 192.168.1.12 (Netmask 255.255.255.0)
残念な点。
mtkBBVR98とmtkBBVR99区間のInterfaceをLAG(Ether-Bundle)で組みたかったのだが、IOS XRvではLAGは未対応。コマンドは投入出来るがcommitがとおらない。
自分の環境ではIOS XRvの起動は2台が限界。3台目のIOS XRvやCSR1000vを立ち上げようとしても、3台目は再起動を繰り返す。
1.CiscoIOSとは異なり、CiscoIOS XRの場合はroute-policyが無いとeBGPでピアを張る事が出来ない点に注意。
今回は、全てのPrefixをアドバタイズ/受け入れるという内容でmtkBBVR98とmtkBBVR99共に以下の内容でroute-policyを投入。
(勿論、商用環境ではザルなroute-policyは投入しない。)
RP/0/0/CPU0:mtkBBVR98#conf t RP/0/0/CPU0:mtkBBVR98(config)#route-policy PASS-ALL RP/0/0/CPU0:mtkBBVR99(config-rpl)#pass RP/0/0/CPU0:mtkBBVR99(config-rpl)#end-policy RP/0/0/CPU0:mtkBBVR98(config)#
2.mtkBBVR98にてeBGPの設定を投入。
各eBGPピアに対し、送受信の両方でroute-policyを適用させる。
最後にcommitコマンドを打ち、設定内容を保存。
RP/0/0/CPU0:mtkBBVR98(config)#router bgp 65533 RP/0/0/CPU0:mtkBBVR98(config-bgp)#bgp router-id 192.168.255.1 RP/0/0/CPU0:mtkBBVR98(config-bgp)#bgp graceful-restart RP/0/0/CPU0:mtkBBVR98(config-bgp)#address-family ipv4 unicast RP/0/0/CPU0:mtkBBVR98(config-bgp-af)# RP/0/0/CPU0:mtkBBVR98(config-bgp-af)#neighbor 192.168.10.2 RP/0/0/CPU0:mtkBBVR98(config-bgp-nbr)#remote-as 65534 RP/0/0/CPU0:mtkBBVR98(config-bgp-nbr)#address-family ipv4 unicast RP/0/0/CPU0:mtkBBVR98(config-bgp-nbr-af)#route-policy PASS-ALL in RP/0/0/CPU0:mtkBBVR98(config-bgp-nbr-af)#route-policy PASS-ALL out RP/0/0/CPU0:mtkBBVR98(config-bgp-nbr-af)#exit RP/0/0/CPU0:mtkBBVR98(config-bgp-nbr)# RP/0/0/CPU0:mtkBBVR98(config-bgp-nbr)#neighbor 192.168.11.2 RP/0/0/CPU0:mtkBBVR98(config-bgp-nbr)#remote-as 65534 RP/0/0/CPU0:mtkBBVR98(config-bgp-nbr)#address-family ipv4 unicast RP/0/0/CPU0:mtkBBVR98(config-bgp-nbr-af)#route-policy PASS-ALL in RP/0/0/CPU0:mtkBBVR98(config-bgp-nbr-af)#route-policy PASS-ALL out RP/0/0/CPU0:mtkBBVR98(config-bgp-nbr-af)# RP/0/0/CPU0:mtkBBVR98(config-bgp-nbr-af)#exit RP/0/0/CPU0:mtkBBVR98(config-bgp-nbr)#exit RP/0/0/CPU0:mtkBBVR98(config-bgp)#exit RP/0/0/CPU0:mtkBBVR98(config)# RP/0/0/CPU0:mtkBBVR98(config)# RP/0/0/CPU0:mtkBBVR98(config)#commit RP/0/0/CPU0:mtkBBVR98(config)#exit RP/0/0/CPU0:mtkBBVR98#
3.mtkBBVR99にてeBGPの設定を投入。
上記と同様に、eBGPでピアを張らせるにはroute-policyの適用が必要になる。
RP/0/0/CPU0:mtkBBVR99#conf t RP/0/0/CPU0:mtkBBVR99(config)# RP/0/0/CPU0:mtkBBVR99(config)#router bgp 65534 RP/0/0/CPU0:mtkBBVR99(config-bgp)#bgp router-id 192.168.255.2 RP/0/0/CPU0:mtkBBVR99(config-bgp)#bgp graceful-restart RP/0/0/CPU0:mtkBBVR99(config-bgp)#address-family ipv4 unicast RP/0/0/CPU0:mtkBBVR99(config-bgp-af)# RP/0/0/CPU0:mtkBBVR99(config-bgp-af)#neighbor 192.168.10.1 RP/0/0/CPU0:mtkBBVR99(config-bgp-nbr)#remote-as 65533 RP/0/0/CPU0:mtkBBVR99(config-bgp-nbr)#address-family ipv4 unicast RP/0/0/CPU0:mtkBBVR99(config-bgp-nbr-af)#route-policy PASS-ALL in RP/0/0/CPU0:mtkBBVR99(config-bgp-nbr-af)#route-policy PASS-ALL out RP/0/0/CPU0:mtkBBVR99(config-bgp-nbr-af)#exit RP/0/0/CPU0:mtkBBVR99(config-bgp-nbr)# RP/0/0/CPU0:mtkBBVR99(config-bgp-nbr)#neighbor 192.168.11.1 RP/0/0/CPU0:mtkBBVR99(config-bgp-nbr)#remote-as 65533 RP/0/0/CPU0:mtkBBVR99(config-bgp-nbr)#address-family ipv4 unicast RP/0/0/CPU0:mtkBBVR99(config-bgp-nbr-af)#route-policy PASS-ALL in RP/0/0/CPU0:mtkBBVR99(config-bgp-nbr-af)#route-policy PASS-ALL out RP/0/0/CPU0:mtkBBVR99(config-bgp-nbr-af)# RP/0/0/CPU0:mtkBBVR99(config-bgp-nbr-af)#exit RP/0/0/CPU0:mtkBBVR99(config-bgp-nbr)#exit RP/0/0/CPU0:mtkBBVR99(config-bgp)#exit
4.設定を投入した段階では、まだBGPのピアリングは開始されない。
commitコマンドを打ち設定内容がシステムに反映されると、BGPのピアリングプロセスが開始さえeBGPのピア関係が確立される。
"%ROUTING-BGP-5-ADJCHANGE : neighbor 192.168.10.1 Up (VRF: default) (AS: 65533)"と"%ROUTING-BGP-5-ADJCHANGE : neighbor 192.168.11.1 Up (VRF: default) (AS: 65533)"のログが出力され、mtkBBVR98との間でeBGPピア関係が確立された事がわかる。
RP/0/0/CPU0:mtkBBVR99(config)#commit RP/0/0/CPU0:Jun 8 23:10:25.277 JST: bpm[1067]: %ROUTING-BGP-5-ASYNC_IPC_STATUS : bpm-default:(A)inst-id 0, Connection Open RP/0/0/CPU0:Jun 8 23:10:25.527 JST: bgp[1052]: %ROUTING-BGP-5-ASYNC_IPC_STATUS : default, process instance 1:(A)inst-id 0, Connection Establised RP/0/0/CPU0:Jun 8 23:10:26.307 JST: bgp[1052]: %ROUTING-BGP-5-ASYNC_IPC_STATUS : default:(A)inst-id 0, Initial Config Done RP/0/0/CPU0:Jun 8 23:10:28.717 JST: bgp[1052]: %ROUTING-BGP-5-ADJCHANGE : neighbor 192.168.11.1 Up (VRF: default) (AS: 65533) RP/0/0/CPU0:Jun 8 23:10:28.717 JST: bgp[1052]: %ROUTING-BGP-5-NSR_STATE_CHANGE : Changed state to Not NSR-Ready RP/0/0/CPU0:Jun 8 23:10:29.647 JST: bgp[1052]: %ROUTING-BGP-5-ADJCHANGE : neighbor 192.168.10.1 Up (VRF: default) (AS: 65533) RP/0/0/CPU0:mtkBBVR99(config)#exit RP/0/0/CPU0:mtkBBVR99#
5.show bgp ipv4 unicast summaryコマンドを実行し、eBGPのピア関係を確認する。
192.168.10.1と192.168.11.1の両方でeBGPのピア関係が確立出来ている事がわかる。
RP/0/0/CPU0:mtkBBVR99#show bgp ipv4 unicast summary Mon Jun 8 23:10:53.396 JST BGP router identifier 192.168.255.2, local AS number 65534 BGP generic scan interval 60 secs Non-stop routing is enabled BGP table state: Active Table ID: 0xe0000000 RD version: 2 BGP main routing table version 2 BGP NSR Initial initsync version 2 (Not Reached) BGP NSR/ISSU Sync-Group versions 0/0 BGP scan interval 60 secs BGP is operating in STANDALONE mode. Process RcvTblVer bRIB/RIB LabelVer ImportVer SendTblVer StandbyVer Speaker 2 2 2 2 2 0 Neighbor Spk AS. MsgRcvd MsgSent TblVer InQ OutQ Up/Down St/PfxRcd 192.168.10.1 0 65533 3 3 2 0 0 00:00:24 0 192.168.11.1 0 65533 3 3 2 0 0 00:00:24 0 RP/0/0/CPU0:mtkBBVR99#