JANOG53 NETCON 「チュートリアル2」問題解説
JANOG53 NETCONにて出題した「チュートリアル2」の問題解説を行います。
問題
トポロジ図
本文
あなたはT社の社員です。T社には東京と最近できた大阪に2つの営業所を構えています。
東京営業所ではRT1とRT2の2つのルータがあり、RT1はIT戦略部署用でRT2は対外用として運用されています。
また、大阪営業所ではRT3の対外用のルータが1つ運用されています。
そこで、あなたは上司として部下に「東京と大阪の営業所間で通信ができるように以下のトポロジでネットワークを構築」を依頼しました。
しかし、部下から
「BGPでネイバー情報を入れてピアを張れたと思ったのですが、通信が通りません!」
と言われました。
そのため、あなたが設定を確認をして検証用のPC1とPC2間でPingが通るようにしましょう。
制約
- Routerのみいじって良いこととする。
達成条件
- PC01とPC02間でPingによる疎通確認が行えること。以下のコマンドを実行をして、どちらの結果もパケロス率が0%であること。
pc01$ ping 172.24.2.51
pc02$ ping 192.168.1.1
解説
今回は、Cisco IOS-XR
のOSを使用しています。そして、これらのルータはOSPFやBGPを使って経路交換を行っています。しかしながら、初期状態ではeBGP区間(RT02とRT03)のピアが張れておらず、エンド端末間で通信が疎通しないという状態になっています。
なぜこのようになっているいるか...
IOS-XRは他のOSと異なりデフォルトの動作としてeBGPのAllDeny全不許可である事と、iBGPではAllPermit全許可であることに注意が必要です。
つまり、iBGPであるRT01とRT02間は特別な設定必要無しでピアが張れるけれども、eBGP間はroute-policyでpass
として追加しなければないことがわかります。
従って、以下のような形でroute-policyをeBGPのネイバーを張っているRT02とRT03に追加することでネイバーが張れることになります。
# conf t
(config)# route-policy PASS-BGP
(config-rpl)# pass
(config-rpl)# exit
(config)# router bgp 64521
(config-bgp)# neighbor 150.24.0.2
(config-bgp-nbr)# address-family ipv4 unicast
(config-bgp-nbr-af)# route-policy PASS-BGP in
(config-bgp-nbr-af)# route-policy PASS-BGP out
# conf t
(config)# route-policy PASS-BGP
(config-rpl)# pass
(config-rpl)# exit
(config)# router bgp 64523
(config-bgp)# neighbor 150.24.0.1
(config-bgp-nbr)# address-family ipv4 unicast
(config-bgp-nbr-af)# route-policy PASS-BGP in
(config-bgp-nbr-af)# route-policy PASS-BGP out
最後に
IOS-XRを普段使っている人だったりすると知っているかもしれないですが、使っていない人はBGPのピアが張れなくて困惑すると思い、作ってみました。また、今回の場合
show bgp ipv4 unicast summury
というコマンドを打つと、
...
Some configured eBGP neighbors (under default or non-default vrfs)
do not have both inbound and outbound policies configured for IPv4 Unicast
address family. These neighbors will default to sending and/or
receiving no routes and are marked with '!' in the output below.
Use the 'show bgp neighbor ' command for details.
...
のエラー文が表示されるのですぐに気づけた人もいたはず。
最後になりますが、本問題にチャレンジしてくださりありがとうございました!!
Discussion