💬

JANOG50 NETCON問題解説Level3-5

2022/07/20に公開

問題文

Linux1⇔Linux2 で ASM(Any Source Multicast) の通信をしようと設定をしていますが、うまく通信ができません。

CSR1/CSR2/CSR3 に足りない設定を追加してLinux1⇔Linux2でASMの通信ができるようにしてください。
今回使用するマルチキャストアドレスは 239.0.2.0/24 です。
Rendezvous Point は CSR1 の Lo100 を使用してください。
Linux や 各ルーターには必要なユニキャストルーティング設定はすでに入っています。
各ルーターには必要な access-list の設定はすでに入っています。
Linux では IGMPv2 を使用してマルチキャスト通信を行うように設定されています。

通信確認は以下のように実施してください。

Linux1で以下のコマンドを実行。これによりマルチキャストの試験通信を流すことができます。

/home/janoger/mtools/msend -g 239.0.2.100 -i 10.10.10.1 -t 10

Linux2で以下のコマンドを実行。これにより IGMPv2 でマルチキャストへの join パケットを送信できます。

/home/janoger/mtools/mreceive -g 239.0.2.100 -i 10.20.20.1

なお、 -g で指定するマルチキャストアドレスは今回使用するマルチキャストアドレス帯であれば、何をつかっても大丈夫です。

ただし、 Linux1 と Linux2 で同じアドレスを指定する必要はあります。

マルチキャスト通信が成功すると、 Linux2(mreceiveを起動しているホスト) で以下のようなログが出力されます。

Multicast Success
janoger@Linux2:~$ /home/janoger/mtools/mreceive -g 239.0.2.100 -i 10.20.20.1
Now receiving from multicast group: 239.0.2.100
Receive msg 1 from 10.10.10.1:4444:
Receive msg 2 from 10.10.10.1:4444:
Receive msg 3 from 10.10.10.1:4444:
Receive msg 4 from 10.10.10.1:4444:

Receive msg というログが出れば、マルチキャスト通信が成功していますので、正解となります。

回答の際は、各ルーターに追加した設定と、通信確認結果を記載してください。

問題解説

今回の問題は、 ASM(Any Source Multicast) の通信を行うための設定が各 Router に不足しているので、追加することを求める問題となっています。

まずは、マルチキャスト通信を行うための前提となる、マルチキャストルーティングを有効にする設定が各 Router に無いため、追加します。

CSR-Router1/2/3
ip multicast-routing distributed

ASM では受信したいホストと送信するホストのマルチキャスト通信を合流させるための Rendezvous Point を設定する必要があります。

今回は CSR1 の Lo100 を RP に設定するようにと指定があるため、以下のように Static な RP 指定を各ルーターに設定として追加する必要があります。

CSR-Router1/2/3
ip pim rp-address 10.0.0.1 To_RP1

To_RP1 はあらかじめ装置に設定されていた access-list で、今回使用するマルチキャストアドレスである 239.0.2.0/24 に対象の通信を制限する設定となっています。

また、設定の最後に override オプションを付けられますが、今回は Static RP の設定しか行わないため、無くても問題はありません。

また、 CSR-Router2/3 のエンドポイント向けのインターフェースである Gi4 に、 pim を有効化する設定がありません。

下部のインターフェースでも pim を有効化しないとマルチキャストトラフィックが流れないため、 Gi4 においても pim を有効化します。

CSR-Router2/3
interface GigabitEthernet4
 ip pim sparse-mode

なお、 pim のモードは特に指定は無いため、 dense モードでも正解となります。

以上の設定を追加すると、 Linux でのマルチキャスト試験通信が成功し、正解となります。

以上解説となります。

お疲れさまでした!

Discussion