IPv6について
今回も前回に引き続きIPv6について記載していきたいと思います。
ipv6アドレスの設定の仕方について
RAを使用してアドレスを設定
今回はRAを使用して自動でルータにアドレスを設定する方法について記載します。
IPv6にはIPv4でいうARPの代わりにNeighbor Discoveryというプロトコルを使用しています。
(IPv6ではARPは使われていません)
Neighbor DiscoveryはIPv6 ICMPの一種なのですが、以下の用途で使用されています。
・IPv6アドレスからMACアドレスを解決する
(ICMP Type135 ネイバーソリシテーション、 ICMP Type136 ネイバーアドバタイズメントを使用します)
・IPv6アドレスを自動設定する(ステートレス自動設定と呼ばれている)
(ICMP Type133 ルータソリシテーション、 ICMP Type134 ルータアドバタイズメントを使用します)
・重複したIPv6アドレスを持つ機器がいないかを調べる(DADと呼ばれている)
IPv6アドレスからMACアドレスを解決する場合は、
NS(ネイバーソリシテーション)という要求と、NA(ネイバーアドバタイズメント)という要請を返すことによって
リンクローカルアドレスを元に、MACアドレスを解決しています。
RAはRouter Advertisementと呼ばれておりNeighbor Discoveryプロトコルの一種で、
端末がIPv6アドレスを自動設定する際に使用されています。
RAを使用したIPv6アドレスの自動設定はステートレス自動設定とも呼ばれています。
この方法では RSというメッセージとRAというメッセージをやり取りすることによって
自動でIPv6アドレスを設定しています。
RSメッセージはルータ要請ともよばれ、アドレスを割り当ててもらいたい側が、ルータなどに送るメッセージです。
RAはルータアドバタイズメントとよばれ、ルータなどがアドレスを割り当てるために、プレフィックスやデフォルトゲートウェイなどの情報を
RSを送ってきた機器に渡すためのメッセージです。
RSやRAメッセージは実際にはICMPv6を使用しています。
RSとRAのメッセージをやりとりするためにはリンクローカルユニキャストアドレスが
双方の機器に設定されている必要があります。
Ciscoルータではデフォルトで200秒おきにルータはRAを送信しています。
RAを有効にするには以下のコマンドをまず実行する必要があります。
(config)# ipv6 unicast-routing
このコマンドを実行しないとRAがルータから送信されません。
またルータがRAを受信してインターフェースに自動でIPv6アドレスを設定したい場合は以下のコマンドを実行します。
(config-if)# ipv6 address autoconfig
実際の設定例
[styled_images width=”498px” height=”268px”] [image title=”1″]https://www.sakc.jp/blog/wp-content/uploads/2015/03/ipv6-1.png[/image] [/styled_images] [clearboth]以下の例では R1 と R2 を使用して R2側で RA を受信して、プレフィックス部分を取得して、アドレスを設定しています。
まず先に R2 側で以下のコマンドを実行してみます。
R2(config)# int f0/0 R2(config-if)# ipv6 address autoconfig すると、リンクローカルユニキャストアドレスのみが設定されました。 R2#show ipv6 interface f0/0 FastEthernet0/0 is up, line protocol is up IPv6 is enabled, link-local address is FE80::C001:17FF:FE90:0 [TEN] No global unicast address is configured Joined group address(es): FF02::1 FF02::1:FF90:0 MTU is 1500 bytes ICMP error messages limited to one every 100 milliseconds ICMP redirects are enabled ND DAD is enabled, number of DAD attempts: 1 ND reachable time is 30000 milliseconds
次にR1側で以下のコマンドを実行してRAの情報を送信できるようにしてみます。
R1(config)#ipv6 unicast-routing R1(config)#int f0 R1(config-if)#ipv6 address 2001:1::/64 eui-64
R1の f0 のインターフェースの状態を確認してみると RA が有効化されているのが確認できます。
R1#sh ipv6 interface f0 FastEthernet0 is up, line protocol is up IPv6 is enabled, link-local address is FE80::217:95FF:FE9E:F9B4 No Virtual link-local address(es): Global unicast address(es): 2001:1::217:95FF:FE9E:F9B4, subnet is 2001:1::/64 [EUI] Joined group address(es): FF02::1 FF02::2 FF02::1:FF9E:F9B4 MTU is 1500 bytes ICMP error messages limited to one every 100 milliseconds ICMP redirects are enabled ICMP unreachables are sent ND DAD is enabled, number of DAD attempts: 1 ND reachable time is 30000 milliseconds (using 30000) ND advertised reachable time is 0 (unspecified) ND advertised retransmit interval is 0 (unspecified) ND router advertisements are sent every 200 seconds ND router advertisements live for 1800 seconds ND advertised default router preference is Medium Hosts use stateless autoconfig for addresses.
続いてR2のほうを確認してみます。
するとR1と同じプレフィックスがR2に割り当てられて、自動でグローバルユニキャストアドレスが設定されました。
インターフェースID部分はEUI-64フォーマットを使用して生成されています。
R2#sh ipv6 int f0 FastEthernet0 is up, line protocol is up IPv6 is enabled, link-local address is FE80::21B:54FF:FE92:D142 No Virtual link-local address(es): Stateless address autoconfig enabled Global unicast address(es): 2001:1::21B:54FF:FE92:D142, subnet is 2001:1::/64 [EUI/CAL/PRE] valid lifetime 2591901 preferred lifetime 604701 Joined group address(es): FF02::1 FF02::1:FF92:D142 MTU is 1500 bytes ICMP error messages limited to one every 100 milliseconds ICMP redirects are enabled ICMP unreachables are sent ND DAD is enabled, number of DAD attempts: 1 ND reachable time is 30000 milliseconds (using 30000) Default router is FE80::217:95FF:FE9E:F9B4 on FastEthernet0
またR2のルーティングテーブルを確認すると以下のようにRAを受信した際に、
そのRAを送ってきたルータをデフォルトが設定されています。
R2#sh ipv6 route IPv6 Routing Table - default - 4 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP D - EIGRP, EX - EIGRP external, NM - NEMO, ND - Neighbor Discovery l - LISP O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 S ::/0 [2/0] via FE80::217:95FF:FE9E:F9B4, FastEthernet0 C 2001:1::/64 [0/0] via FastEthernet0, directly connected L 2001:1::21B:54FF:FE92:D142/128 [0/0] via FastEthernet0, receive L FF00::/8 [0/0] via Null0, receive
ちなみに下記のコマンドを実行するとルータは自動的にインターフェースからRAを
200秒おきに送信するようになりますが、
(config)# ipv6 unicast-routing
もしもR1のf0のインターフェースでRAを定期的に送信するのを
無効化したい場合は以下のようにします。
(config-if)# ipv6 nd ra suppress
また上記のコマンドを実行してもRSが送信されてきた場合には応答を返すので、
もしこれも無効化したいなら以下のコマンドを実行します。
(config-if)# ipv6 nd ra suppress all