こんにちは。izuminです。
JANOG55ではNETCONが開催されました。
https://www.janog.gr.jp/meeting/janog55/nl-003/
今回も前回に続きスタッフとして問題を作成したので解説します!
ここでは私が作成した5問のうちLevel 3-1を解説します。
その他の4問はこちら。
![](https://izuminmin.com/wp-content/themes/cocoon-master/images/no-image-160.png)
Containerlab再現用 https://github.com/izumin-baal/nwlab
問題
![](https://izuminmin.com/wp-content/uploads/2025/01/image-10-1024x754.png)
2つの拠点が存在するネットワークがあります。
各拠点内のサーバー同士は通信ができますが、拠点間のサーバーで通信ができません。
設定を確認して通信できるように是正しましょう。
達成条件
- 拠点間のサーバー同士で通信ができること (SV-01 ~ SV04)
- SV-01: ping 10.2.1.1
- SV-02: ping 10.2.2.1
制約
- 拠点間で広報する経路は/16の集約経路のみであること
解説-概要
この問題は、2つの問題がから通信ができない状態となっています。
1つ目はBGPとして経路が生成されていないこと。
2つ目はAS-PATHフィルタにて経路が受信できていないこと。 (ベンダーによる差分気づきましたか?)
これらを是正することで通信が可能です。
## RT-02 ##
router bgp 65002
network 10.1.1.0/24
network 10.1.2.0/24
~別解~
router bgp 65002
redistribute connected
## RT-03 ##
ip as-path access-list ASPATH-65001 seq 10 permit "^65001.*$"
解説-詳細
BGPとして経路が生成されていないこと
初期の状態ではSV-0[12]の経路がBGPとして回っておらず、RT-01において経路が確認できません。
RT-02にてSV向けIFの経路を生成してあげる必要があります。
ConnectedをBGPに再配送する。もしくはnetwork文で生成する。となります。
完了すると下記のようにRT-01でも経路見えるようになり、集約経路も生成されます。
RT-01#show ip bgp
Network Next Hop Metric AIGP LocPref Weight Path
* > 1.1.1.1/32 - - - - 0 i
* > 2.2.2.2/32 192.168.2.2 0 - 100 0 65002 i
* > 10.1.0.0/16 - 0 - - 0 65002 i
* > 10.1.1.0/24 192.168.2.2 0 - 100 0 65002 i
* > 10.1.2.0/24 192.168.2.2 0 - 100 0 65002 i
* > 10.2.0.0/16 192.168.1.2 0 - 100 0 65003 i
AS-PATHフィルタにて経路が受信できていないこと
経路が生成されお互いに広報が始まりました。しかしながら通信ができません。
これはRT-03がRT-01から受信した集約経路を許容しておらず、
BGPテーブルには存在してもRIBにインストールされないからです。
RT-0[12] / RT-0[34] はそれぞれ Arista EOS と Cisco Nexus が使われています。
AS-PATHフィルタは両方で同じような設定しているにも関わらず片方だけ受信できていません。
これはベンダーのデフォルトの動作の違いにより引き起こされます。
NexusはAggregateする際に自分自身がAS-PATHの先頭となるように経路生成を行うが、
EOSはAggregateする元経路のAS-PATHを引き継ぐ動作となります。
この影響で
Nexus は “65003”
EOSは “65001 65002”
というように同じ設定でもAS-PATHに差が生まれるのです。
今回の問題では通信できればよいので受信できていないRT-03側のAS-PATHフィルタを
受け入れるように自由に変更してもらえれば正解となります。
フィルタ自体を消してしまっても正解です(あまりうれしくない)