解答

  • ホスト間の通信ができない原因は何ですか。

R2 F0/0にRAによってIPv6アドレスが自動的に設定されていないため、IPv6の通信ができないため。
また、R1 Loopback0でRIPngが有効化されていないため、R2からHost1へパケットをルーティングできないため。

  • ホスト間の通信ができるようにするために、R1、R2でどのように設定を修正すればよいですか。

R1

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
interface loopback0
ipv6 rip RIP enable
!
interface FastEthernet0/0
no ipv6 nd suppress-ra
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

ワンポイント

  • デフォルトでルータはRAメッセージを生成する
  • RIPngはインタフェース単位で有効化する

解説

IPv6の通信をするためには、すべての機器にIPv6アドレスが正しく設定されていることと、経路上のルータで正しくルーティングテーブルに必要なルート情報が登録されていなければなりません。この点は、IPv4での通信と全く同じです。今回の設定ミスは、

  • IPv6アドレスが正しく設定されていない
  • RIPngが正しく設定されていない

という2点です。

【IPv6アドレスが正しく設定されていない】

R2 F0/0のIPv6アドレスを確認すると、リンクローカルアドレスのみでグローバルアドレスが設定されていません。

R2

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
R2#show ipv6 interface brief
FastEthernet0/0            [up/up]
FE80::2
Loopback0                  [up/up]
FE80::CE01:19FF:FEE0:0
2001:2:2:2::2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

R2 F0/0では、ipv6 address autoconfigコマンドによって、RAメッセージから自動的にIPv6アドレスを生成する設定が行われています。

R2

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
R2#show running-config interface fastEthernet 0/0
Building configuration...
Current configuration : 165 bytes
!
interface FastEthernet0/0
no ip address
duplex auto
speed auto
ipv6 address FE80::2 link-local
ipv6 address autoconfig
ipv6 enable
ipv6 rip RIP enable
end
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

RAメッセージを確認するために、R2でdebug ipv6 ndコマンドを有効にしてもデバッグの出力は出てきません。R1がRAメッセージを送信していないことが考えられます。R1のF0/0の設定を確認すると、次のようになっています。

R2

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
R1#show running-config interface fastEthernet 0/0
Building configuration...
Current configuration : 195 bytes
!
interface FastEthernet0/0
no ip address
duplex auto
speed auto
ipv6 address 2001:12:12:12::1/64
ipv6 address FE80::1 link-local
ipv6 enable
ipv6 nd suppress-ra
ipv6 rip RIP enable
end
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

デフォルトでは、設定したIPv6アドレスのプレフィクスをRAメッセージで送信します。ところが、R1 F0/0ではipv6 nd suppress-raコマンドでRAメッセージの送信が無効化されていることがわかります。
R2 F0/0のグローバルアドレスを設定するためには、R1 F0/0でRAメッセージの送信を有効化します。そのためのコマンドは以下のとおりです。

R1

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
interface FastEthernet0/0
no ipv6 nd suppress-ra
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

その後、R2 F0/0のIPv6アドレスを確認するとRAメッセージから自動的にグローバルアドレスが設定されるようになっていることがわかります。

R2

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
R2#show ipv6 interface brief
FastEthernet0/0            [up/up]
FE80::2
2001:12:12:12::2
Loopback0                  [up/up]
FE80::CE01:19FF:FEE0:0
2001:2:2:2::2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

【RIPngが正しく設定されていない】

R2 F0/0のIPv6アドレスが正しく設定されてもホスト間の通信ができません。R2のIPv6ルーティングテーブルを確認すると、次のようになっています。

R2

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
R2#show ipv6 route
IPv6 Routing Table - 6 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
U - Per-user Static route
I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
C   2001:2:2:2::/64 [0/0]
via ::, Loopback0
L   2001:2:2:2::2/128 [0/0]
via ::, Loopback0
C   2001:12:12:12::/64 [0/0]
via ::, FastEthernet0/0
L   2001:12:12:12::2/128 [0/0]
via ::, FastEthernet0/0
L   FE80::/10 [0/0]
via ::, Null0
L   FF00::/8 [0/0]
via ::, Null0
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

R2のルーティングテーブルにはHost1のプレフィクス 2001:1:1:1::/64が登録されていないことがわかります。R2では、以下のように正しくRIPngが有効化されています。

R2

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
R2#show ipv6 rip
RIP process "RIP", port 521, multicast-group FF02::9, pid 163
Administrative distance is 120. Maximum paths is 16
Updates every 30 seconds, expire after 180
Holddown lasts 0 seconds, garbage collect after 120
Split horizon is on; poison reverse is off
Default routes are not generated
Periodic updates 64, trigger updates 3
Interfaces:
FastEthernet0/0
Loopback0
Redistribution:
None
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

ところが、R1ではHost1のLoopback0でRIPngが有効化されていません。

R1

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
R1#show ipv6 rip
RIP process "RIP", port 521, multicast-group FF02::9, pid 163
Administrative distance is 120. Maximum paths is 16
Updates every 30 seconds, expire after 180
Holddown lasts 0 seconds, garbage collect after 120
Split horizon is on; poison reverse is off
Default routes are not generated
Periodic updates 66, trigger updates 1
Interfaces:
FastEthernet0/0
Redistribution:
None
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

次のようにR1 Loopback0でRIPngを有効化して、R2へHost1のプレフィクスをアドバタイズします。

R1

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
interface loopback0
ipv6 rip RIP enable
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

すると、R2のIPv6ルーティングテーブルにHost1のプレフィクス 2001:1:1:1::/64が登録されて、ホスト間のIPv6通信ができるようになります。

R2

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
R2#show ipv6 route
IPv6 Routing Table - 7 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
U - Per-user Static route
I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary
O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
R   2001:1:1:1::/64 [120/2]
via FE80::1, FastEthernet0/0
C   2001:2:2:2::/64 [0/0]
via ::, Loopback0
L   2001:2:2:2::2/128 [0/0]
via ::, Loopback0
C   2001:12:12:12::/64 [0/0]
via ::, FastEthernet0/0
L   2001:12:12:12::2/128 [0/0]
via ::, FastEthernet0/0
L   FE80::/10 [0/0]
via ::, Null0
L   FF00::/8 [0/0]
via ::, Null0
R2#ping 2001:1:1:1::1 source loopback 0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2001:1:1:1::1, timeout is 2 seconds:
Packet sent with a source address of 2001:2:2:2::2
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/8/24 ms
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

【設定ミスのまとめ】

次の図は、今回の設定ミスをまとめたものです。

ipv6_trouble02.jpg
図 IPv6のトラブル 設定ミスのまとめ