IPv6アドレスの設定

IPv6の通信を行うためには、インタフェースにIPv6アドレスを設定しなければいけません。IPv4アドレスのように、インタフェースに1つのアドレスを設定するわけではないことに注意してください。IPv6のインタフェースには、ただ1つのIPv6アドレスではなく複数のIPv6アドレスを設定します。

  • 1つのリンクローカルアドレス
  • 1つ以上のグローバルユニキャストアドレスまたはユニークローカルユニキャストアドレス

以降で、CiscoでのこれらのIPv6アドレスの設定と確認コマンドについて解説します。なお、このページでは、グローバルユニキャストアドレス/ユニークローカルユニキャストアドレスの設定は手動設定のみ解説します。

IPv6ルーティングの有効化

CiscoルータにIPv6アドレスを設定するにあたって、まず、IPv6ルーティングを有効化します。グローバルコンフィグレーションモードで次のコマンドを入力します。

IPv6ルーティングの有効化

(config)#ipv6 unicast-routing

IPv6アドレスを設定するだけなら、特にipv6 unicast-routingコマンドはなくてもいいのですが、ルーティングができません。ルーティングできないルータは、あまり意味がありません。忘れずにipv6 unicast-routingの設定も行ってください。

リンクローカルアドレスの設定コマンド

すべてのIPv6インタフェースにはリンクローカルアドレスが必要です。リンクローカルアドレスは、同一リンク上でのみ有効なアドレスです。宛先アドレスがリンクローカルアドレスのIPv6パケットはルーティングされることはありません。リンクローカルアドレスによって、同一リンク上での以下のような制御を行います。

  • アドレス解決
  • SLAACによるアドレスの自動設定
  • アドレスの重複検出(DAD : Duplicate Address Detection)
  • ルーティングプロトコルでのルート情報の送受信

リンクローカルアドレスを設定するには、次の方法があります。

  1. 自動設定
    1. ipv6 enableコマンドでの自動設定
    1. グローバルユニキャストアドレス/ユニークローカルユニキャストアドレスの設定にともなう自動設定
  2. 手動設定

リンクローカルアドレスの自動設定

IPv6インタフェースには、必ずリンクローカルアドレスが必要で、デフォルトでは自動設定されます。インタフェースでIPv6を有効にして、リンクローカルアドレスを自動的に設定するには、インタフェースコンフィグレーションモードで次のコマンドを入力します。

インタフェースでIPv6の有効化

(config)#interface <interface-name>
(config-if)#ipv6 enable

<interface-name> : インタフェース名

ipv6 enableコマンドによって、自動的にFE80::<modified EUIのインタフェースID>のリンクローカルアドレスが割り当てられます。

個人的には、明示的にipv6 enableコマンドを入力する方が好きです。でも、多くの場合、ipv6 enableコマンドの設定は省略されています。インタフェースにグローバルユニキャストアドレスまたはユニークローカルユニキャストアドレスを設定すると、それに伴ってリンクローカルアドレスも自動的に割り当てられます。そのため、ipv6 enableコマンドの設定はとくに必要ありません。

グローバルユニキャストアドレス/ユニークローカルユニキャストアドレスをスタティックに設定するには、インタフェースコンフィグレーションモードで次のコマンドを入力します。

IPv6ユニキャストアドレスの手動設定

(config)#interface <interface-name>
(config-if)#ipv6 address <address> / <prefix-length>

<interface-name> : インタフェース名
<address> : グローバルユニキャストアドレスまたはユニークローカルユニキャストアドレス
<prefix-length> : プレフィクス長

上記のコマンドでグローバルユニキャストアドレス/ユニークローカルユニキャストアドレスを設定すると、自動的にリンクローカルアドレスも割り当てられます。割り当てられるリンクローカルアドレスはipv6 enableコマンドのときと同じでFE80::<modified EUIのインタフェースID>です。

リンクローカルアドレスの手動設定

自動的に設定されるリンクローカルアドレスは、インタフェースIDがmodified EUIのフォーマットなのでとてもわかりづらいアドレスです。リンクローカルアドレスは、ルーティングテーブル上のネクストホップになったり、ホストにとってのデフォルトゲートウェイのアドレスとしても利用されます。わかりづらいリンクローカルアドレスは、わかりづらいデフォルトゲートウェイやネクストホップになってしまいます。

そのため、ルータのリンクローカルアドレスは、わかりやすいアドレスを手動で設定するほうがよいでしょう。リンクローカルアドレスを手動で設定するには、インタフェースコンフィグレーションモードで次のコマンドを入力します。

リンクローカルアドレスの手動設定

(config)#interface <interface-name>
(config-if)#ipv6 address <link-local-address> link-local

<interface-name> : インタフェース名
<link-local-address> : FE80ではじまるリンクローカルアドレス

ルータには複数のインタフェースがあります。たいていは、ルータの複数のインタフェースに対して共通のリンクローカルアドレスを設定します。リンクローカルアドレスは、同一リンク内でのみ利用します。そのため、インタフェースが異なる、すなわち、リンクが異なれば同じリンクローカルアドレスを使い回すことができます。ルータのすべてのインタフェースには、わかりやすい共通のリンクローカルアドレスを手動で設定してください。

図  共通のリンクローカルアドレスを設定
図 共通のリンクローカルアドレスを設定

グローバルユニキャストアドレスまたはユニークローカルユニキャストアドレスの設定コマンド(手動)

グローバルユニキャストアドレスまたはユニークローカルユニキャストアドレスの設定は、手動設定だけではなく、自動設定もできます。ここでは、手動設定のみを解説します。コマンドはすでに載せていますが、インタフェースコンフィグレーションモードで次のコマンドを入力します。

IPv6ユニキャストアドレスの手動設定

(config)#interface <interface-name>
(config-if)#ipv6 address <address> / <prefix-length>

<interface-name> : インタフェース名
<address> : グローバルユニキャストアドレスまたはユニークローカルユニキャストアドレス
<prefix-length> : プレフィクス長

なお、設定したグローバルユニキャストアドレス/ユニークローカルユニキャストアドレスを修正するときには注意が必要です。IPv4アドレスだったら、新しいIPv4アドレスの設定で上書きされていました。しかし、IPv6アドレスの手動設定のコマンドは上書きされずに追加されていきます。

既存のIPv6アドレスの設定を修正するのであれば、いったん設定の削除→新しいIPv6アドレスで再設定しなければいけません。

IPv6アドレスの確認コマンド

設定したIPv6アドレスを確認するための主なコマンドを以下の表にまとめています。

コマンド概要
#show ipv6 interface [brief]インタフェースのIPv6についての情報を表示します。
#show ipv6 routeIPv6ルーティングテーブルを表示します。

show ipv6 interface

show ipv6 interfaceコマンドは、インタフェースのIPv6についての情報を表示します。briefをつけると、ルータの各インタフェースに設定されているIPv6アドレスを一覧で確認できます。

R1

R1#show ipv6 interface brief
FastEthernet0/0            [up/up]
    FE80::1
FastEthernet0/1            [up/up]
    FE80::1
    2001:1:2:3::1
Serial1/0                  [up/up]
    FE80::1
    2001:10:20:30::1
    FD00:10:20:30::1
Serial1/1                  [administratively down/down]
Serial1/2                  [administratively down/down]
Serial1/3                  [administratively down/down]

briefをつけなければインタフェースのIPv6についての詳細な情報がわかります。

R1

R1#show ipv6 interface FastEthernet0/1
FastEthernet0/1 is up, line protocol is up
  IPv6 is enabled, link-local address is FE80::1
  No Virtual link-local address(es):
  Global unicast address(es):
    2001:1:2:3::1, subnet is 2001:1:2:3::/64
  Joined group address(es):
    FF02::1
    FF02::1:FF00:1
  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

show ipv6 route

IPv4のときと同じように、インタフェースにIPv6アドレスを設定することで、直接接続のルート情報がルーティングテーブルに登録されます。また、インタフェースに設定したIPv6アドレスそのものを示すホストルート(/128)がローカルルートとして登録されます。

R1

R1#show ipv6 route
IPv6 Routing Table - 7 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
       U - Per-user Static route, M - MIPv6
       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
       D - EIGRP, EX - EIGRP external
C   2001:1:2:3::/64 [0/0]
     via ::, FastEthernet0/1
L   2001:1:2:3::1/128 [0/0]
     via ::, FastEthernet0/1
C   2001:10:20:30::/64 [0/0]
     via ::, Serial1/0
L   2001:10:20:30::1/128 [0/0]
     via ::, Serial1/0
C   FD00:10:20:30::/64 [0/0]
     via ::, Serial1/0
L   FD00:10:20:30::1/128 [0/0]
     via ::, Serial1/0
L   FF00::/8 [0/0]
     via ::, Null0