メモのページ - チラシの裏メモ 3枚目

通信技術や気になった事を黙々とメモし続ける

VMware Player上のCisco IOS XRvでeBGPの設定

まだまだ続く、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#