久しぶりに設定すると「アレ?なんだっけ?」とよくなるのでメモ。
設定自体は単純なものなんだけど、アドレッシングで「なんだっけ?」とよくなる。
トポロジー図はこんな感じ。
R3、R4はIPv6のみ。
個人的によく惑わされるのが、トンネルに当てるv6アドレスと、その向こう側のネットワーク2002で始まるプレフィックス。
トンネルインターフェースのv6アドレスの17~48bitまでを、対抗ルータとつないでいるインターフェースのv4アドレスを16進数に変換したものを埋め込む
2002以降のプレフィックスはv4アドレスを16進数変換し埋め込んだだけの方が無難。
R1で例えると、対抗ルータにつながるインターフェースが192.168.12.1/30ならば、
トンネルインターフェースは2002:c0a8:c01::1/64(この色に該当する部分が上記v4アドレスの16進数表記)とかにしておいた方が無難ということ
2002:c0a8:c01:1::1/64
(1を入れるとダメ)
というようにプレフィックス部の49~64bit目までに余計(?)なことをすると対抗ルータ側より向こうのルータからpingが通らない。
(この場合はR3からR4へpingが通らない)
詳しく調べてないから実際はどうなのか分からないけど\(^o^)/
あと、このトポロジーでのルーティングプロトコルなどはこんな感じ。
R1 ⇔ R3、R2 ⇔ R4 → Ripng
R1 ⇔ R2 → static
(6to4トンネルはダイナミックルーティングが出来ないらしいので、スタティックを設定)
R3はR2 - R4のネットワーク
R4はR1 - R3のネットワーク
宛てのパケットをどこに送れば良いのか分かるように
R1、R2それぞれのルータで
(config-router)# ipv6 rip [ルーティングプロセス名] default-information originate
と叩いて、スタティックルートをR3、R4にそれぞれ通知してあげる。
実際のコマンドは以下のとおり。
R1(R2もほぼ同じ)
(config)# ipv6 unicast-routing
(config)# ipv6 router rip R1
(config)# int s2/0
(config-if)# encapsulation frame-relay
(config-if)# frame-relay map ip 192.168.12.2 120 broadcast
(config-if)# ip add 192.168.12.1 255.255.255.252
(config-if)# no shut
(config-if)# exit
(config)# int loopback 0
(config-if)# ipv6 add 2002:c0a8:c01::1/64
(config-if)# no shut
(config-if)# exit
(config)# int tunnel 0
(config-if)# ipv6 unnumbered loopback 0
(config-if)# tunnel mode ipv6ip 6to4
(config-if)# tunnel source s2/0
(config-if)# exit
(config)# int f1/0
(config-if)# ipv6 address 2002:c0a8:c01:d0c::1/64
(config-if)# ipv6 rip R1 enable
(config-if)# ipv6 rip R1 default-information originate
(config-if)# no shut
(config-if)# exit
(config)# ipv6 route 2002::/16 tunnel 0
R3(R4もほぼ同じ)
(config)# ipv6 unicast-routing
(config)# ipv6 router rip R3
(config)# int f1/0
(config-if)# ipv6 address 2002:c0a8:c01:d0c::1/64
(config-if)# ipv6 rip R3 enable
(config-if)# no shut
(config-if)# exit
(この色の値はそれぞれR2とR4用に書き換える)
以下、それぞれのルータの設定
R1
R2
R3
R4