# IPv6 / IPv6インターフェース

IPv6インターフェースの設定方法について説明します。
Note

本製品のIPv6ホスト機能はつねに有効なため、インターフェースにIPv6アドレスを設定するだけでIPv6ホストとしての動作が可能です。ただし、IPv6パケットの転送機能（IPv6ルーティング）は初期設定で無効なため、IPv6ルーターとして動作させる場合は同機能の有効化（ipv6 forwardingコマンド）が必要です。

## 基本設定

### グローバルアドレスの手動設定

本製品のインターフェースにグローバルなIPv6アドレスを手動設定するには、ipv6 addressコマンドを使います。IPv6アドレスは、アドレスとプレフィックス長の組で指定します。たとえば、vlan1にIPv6アドレス「2001:db8:3c:10::1/64」を設定するには、次のようにします。

    awplus(config)# interface vlan1
    awplus(config-if)# ipv6 address 2001:db8:3c:10::1/64
    awplus(config-if)# no ipv6 nd accept-ra-pinfo

Note

ipv6 addressコマンドでインターフェースにグローバルなIPv6アドレスを設定すると、EUI-64形式のリンクローカルアドレスも自動的に設定されます。リンクローカルアドレスを手動で設定する方法については、「リンクローカルアドレスの手動設定」をご覧ください。

Note

ipv6 nd accept-ra-pinfoコマンドを no形式で実行しているのは、ipv6 addressコマンドを実行すると自動的に有効になるSLAAC（ステートレスアドレス自動設定）を無効にするためです。

IPv6インターフェースの情報はshow ipv6 interfaceコマンドやshow interfaceコマンドで確認できます。

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

IPsecなどのトンネルインターフェースは、IPv6アドレスを設定してIPv6パケットのルーティングに使うことができます。
純粋にIPv6パケットをルーティング（転送）するだけであれば、トンネルインターフェースのIPv6アドレスはリンクローカルアドレスだけでかまいません。
トンネルインターフェースにリンクローカルアドレスだけを設定するには、ipv6 enableコマンドを使います。

    awplus(config)# interface tunnel0
    awplus(config-if)# ipv6 enable
    awplus(config-if)# no ipv6 nd accept-ra-pinfo

Note

ipv6 nd accept-ra-pinfoコマンドを no形式で実行しているのは、ipv6 addressコマンドを実行すると自動的に有効になるSLAAC（ステートレスアドレス自動設定）を無効にするためです。

ただし、BGPを使用する場合などグローバルアドレスが必要な場合は前述のとおりipv6 addressコマンドで適切なIPv6アドレスを設定してください。
トンネルインターフェースの詳細については「VPN」/「トンネルインターフェース」をご覧ください。

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

ipv6 addressコマンドでインターフェースにグローバルなIPv6アドレスを設定すると、初期設定ではEUI-64形式のリンクローカルアドレスも自動的に設定されますが、リンクローカルアドレスを手動で設定したいときは、ipv6 eui64-linklocalコマンドをno形式で実行してEUI-64形式リンクローカルアドレスの自動生成を無効にしたのち、ipv6 addressコマンドでグローバルアドレスと任意のリンクローカルアドレスを設定してください。
たとえば、vlan1にグローバルIPv6アドレス「2001:db8:3c:10::1/64」とリンクローカルアドレス「fe80::1/64」を手動設定するには、次のようにします。

    awplus(config)# interface vlan1
    awplus(config-if)# no ipv6 eui64-linklocal
    awplus(config-if)# ipv6 address 2001:db8:3c:10::1/64
    awplus(config-if)# ipv6 address fe80::1/64

なお、EUI-64リンクローカルアドレスを無効に設定した場合は、ipv6 enableコマンドを実行してもリンクローカルアドレスが自動設定されなくなるため、インターフェースをリンクローカルアドレスだけで運用する場合でも、前節で述べた ipv6 enableコマンドではなく、ipv6 addressコマンドを使ってリンクローカルアドレスを手動設定してください。

    awplus(config)# interface vlan1
    awplus(config-if)# no ipv6 eui64-linklocal
    awplus(config-if)# ipv6 address fe80::1/64

## RAによるプレフィックス情報の通知（RA送信）

IPv6にはSLAAC（ステートレスアドレス自動設定）というアドレス自動設定の仕組みがあります。
IPv6ホスト上のSLAACが有効なインターフェースでは、ルーターから通知されたネットワーク番号（プレフィックス）に、自身の物理アドレス（MACアドレスなど）から導き出した値を組み合わせて、一意のIPv6アドレスを生成します。
本製品の配下に存在するホストがSLAACを利用してIPv6アドレスを自動設定できるようにするには、本製品のIPv6インターフェースでルーター通知（RA）パケットの送信を有効にし、インターフェースに設定されているIPv6アドレスのプレフィックス（ネットワーク番号）を通知する必要があります。
IPv6インターフェースでルーター通知（RA）パケットの送信を有効にするには、ipv6 nd suppress-raコマンドをno形式で実行します。

    awplus(config-if)# no ipv6 nd suppress-ra

## RAによるIPv6アドレス自動設定（SLAAC）

上位ルーターと接続するインターフェースなどでは、上位ルーターが送信するルーター通知（RA）パケットを受信してグローバルIPv6アドレスを自動設定（SLAAC）することができます。
SLAACは、インターフェースに対して下記のいずれかのコマンドを実行した時点で自動的に有効となります。

- ipv6 enable
- ipv6 address
- ipv6 address dhcp
- ipv6 address(DHCPv6 PD)
- ipv6 dhcp client pd

eth1インターフェースのグローバルIPv6アドレスを上位ルーターからのRAによって自動設定するには、次のようにします。

    awplus(config)# interface eth1
    awplus(config-if)# ipv6 enable

Note

ipv6 enableコマンドを実行すると、EUI-64形式のリンクローカルIPv6アドレスが自動的に設定されます。

Note

RAによってIPv6アドレスを自動設定する場合は、RAを送信する機器において、通知するプレフィックス長を「/64」に設定してください。「/64」以外のプレフィックス長を受信した場合、本製品はアドレスを自動設定できません。

Note

SLAAC有効時は、受信したRAのOフラグ（Other Configurationフラグ）がオンであれば、ステートレスDHCPv6（Information Request）によってDNSサーバーアドレス、SNTP/NTPサーバーアドレス、DS-Lite AFTR（Address Family Transition Router）の情報取得と自動設定も試みます。なお、ステートレスDHCPv6ではドメインリストの情報も要求しますが、これは本製品の動作には反映されません。

初期設定では、SLAACによって自動設定されるIPv6アドレスのインターフェースID（下位64ビット）はMACアドレスにもとづくEUI-64形式になります。インターフェースIDを固定的に設定したい場合は、対象インターフェースにipv6 address suffixコマンドでスタティックサフィックスを設定します。これにより、該当インターフェースには、「RAで通知されたプレフィックス ＋ スタティックサフィックス」が自動設定されるようになります。
たとえば、次のようにスタティックサフィックスを「::acec:faca」に設定し、RAでプレフィックス「2001:db8:10:10::/64」を受信した場合、該当インターフェースには「2001:db8:10:10::acec:faca」が自動設定されます。

    awplus(config)# interface eth1
    awplus(config-if)# ipv6 address suffix ::acec:faca
    awplus(config-if)# ipv6 enable

前記コマンドを実行したインターフェースではSLAACが自動的に有効になるため、SLAACを使わないインターフェースではipv6 nd accept-ra-pinfoコマンドをno形式で実行し、SLAACを明示的に無効化してください（初期設定は有効）。

    awplus(config)# interface vlan1
    awplus(config-if)# ipv6 address 2001:db8:10:10::1/64
    awplus(config-if)# no ipv6 nd accept-ra-pinfo

## DHCPv6クライアント機能によるIPv6アドレス自動設定

ネットワーク上のDHCPv6サーバーを利用して、インターフェースのIPv6アドレスを自動設定することもできます（DHCPv6クライアント機能）。
Note

本製品はDHCPv6サーバーとして、クライアントにIPv6アドレスやIPv6パラメーターを割り当てることもできます。ここで説明しているのは、本製品がDHCPv6クライアントとして別のDHCPv6サーバーからアドレスをもらうための設定です。DHCPv6サーバー機能については、「IP付加機能」の「DHCPv6サーバー」をご覧ください。

インターフェースのIPv6アドレスをDHCPv6を使って設定するには、ipv6 address dhcpコマンドを使います。

    awplus(config)# interface eth1
    awplus(config-if)# ipv6 address dhcp
    awplus(config-if)# no ipv6 nd accept-ra-pinfo

Note

ipv6 nd accept-ra-pinfoコマンドを no形式で実行しているのは、ipv6 address dhcpコマンドを実行すると自動的に有効になるSLAAC（ステートレスアドレス自動設定）を無効にするためです。

Note

DHCPv6クライアント機能によってIPv6アドレスを自動設定する場合、プレフィックス長は「/64」となります。プレフィックス長を変更する必要がある場合は、次に述べるDHCPv6 PDクライアント機能を使用してください。

Note

DHCPv6クライアント機能有効時は、DNSサーバーアドレス、SNTP/NTPサーバーアドレス、DS-Lite AFTR（Address Family Transition Router）の情報取得と自動設定も試みます。なお、ドメインリストの情報も要求しますが、これは本製品の動作には反映されません。

## DHCPv6 PDクライアント機能

ネットワーク上のDHCPv6サーバーが単一アドレスではなく、アドレスブロック（プレフィックス）の割り当てを行っている場合は、本製品のDHCPv6 PDクライアント機能を利用することで、DHCPv6サーバーからプレフィックスの割り当てを受けることができます。
割り当てられたプレフィックスは、本製品の各インターフェースにIPv6アドレスを設定するために使えるほか、本製品のDHCPv6サーバー機能を併用することで、下位のDHCPv6 PDクライアントに分割・再配布することもできます。

### 取得したプレフィックスにもとづく自インターフェースのIPv6アドレス自動設定

DHCPv6 PDクライアント機能を用いて、上位のDHCPv6サーバーからプレフィックスの割り当てを受け、そのプレフィックスを分割して各インターフェースにIPv6アドレスを自動設定するには、次のようにします。
ここでは、次の環境を想定します。

表 1
インターフェース名 | 役割・動作 | IPv6アドレス/プレフィックス長
eth1 | DHCPv6 PDクライアント、RA受信 | 上位ルーターからRAを受信して自動設定
vlan1 | RA送信 | 取得したプレフィックス + SLA ID=0x10 (::10) + インターフェースID=0x1 (:0:0:0:1) /64

1. eth1インターフェースを、DHCPv6 PDクライアントとして動作させるための設定を行います。
   DHCPv6 PDクライアント機能を有効にするには、ipv6 dhcp client pdコマンドを使用します（同コマンドの実行によりSLAACも自動的に有効化されます）。
   DHCPv6サーバーから取得したプレフィックスを他のコマンドから参照するため、ここではDelegatedPrefixというプレフィックス名を付けています。
   このプレフィックス名は、次の手順で他のインターフェースにIPv6アドレスを設定するときや、後述する「プレフィックス再割り当て（subdelegation）」（次節を参照）の設定時に使用します。

       awplus(config)# interface eth1
       awplus(config-if)# ipv6 dhcp client pd DelegatedPrefix
       awplus(config-if)# exit

2. DHCPv6サーバーから取得したプレフィックスをもとにvlan1のIPv6アドレスを自動設定するよう設定します。
   DHCPv6サーバーから取得したプレフィックス（DelegatedPrefixという名前で識別）をもとに、vlan1インターフェースのアドレスを設定するため、ipv6 address(DHCPv6 PD)コマンドを実行します。
   さらに、自動設定されたアドレス（プレフィックス）をインターフェース配下のネットワークに通知するため、ipv6 nd suppress-raコマンドをno形式で実行してルーター通知（RA）パケットの送信を有効にしておきます。

       awplus(config)# interface vlan1
       awplus(config-if)# ipv6 address DelegatedPrefix ::20:0:0:0:1/64
       awplus(config-if)# no ipv6 nd suppress-ra
       awplus(config-if)# no ipv6 nd accept-ra-pinfo

   Note

   ipv6 nd accept-ra-pinfoコマンドを no形式で実行しているのは、ipv6 addressコマンドを実行すると自動的に有効になるSLAAC（ステートレスアドレス自動設定）を無効にするためです。

   ipv6 address(DHCPv6 PD)コマンドで指定している「::20:0:0:0:1/64」は、vlan1インターフェースに割り当てるIPv6アドレスの下位部分です。
   このように設定した場合、DHCPv6サーバーから割り当てられたプレフィックス（DelegatedPrefixで識別）が「2001:db8:1::/48」であれば、vlan1に設定されるIPv6アドレスは「2001:db8:1:20::1/64」となります。

設定は以上です。

### DHCPv6サーバー機能の併用によるプレフィックス再割り当て

DHCPv6サーバーから割り当てられたプレフィックスの一部を、本装置自身のDHCPv6サーバー機能によって下位のDHCPv6 PDクライアントに再割り当てするには次のようにします。
Note

DHCPv6サーバー機能の一般的な設定については「IP付加機能」の「DHCPv6サーバー」をご覧ください。

ここでは、DHCPv6 PDクライアントの基本設定（前節を参照）をもとに、vlan1配下のDHCPv6 PDクライアントにプレフィックスを再割り当てする設定を追加します。プレフィックスの再割り当ては次の仕様にもとづいて行うものとします。

表 2
再割り当て用プール | 取得したプレフィックス（DelegatedPrefix） + 200:0:0:0:0/56
割り当て単位 | /64

ここでは、DHCPv6サーバーから割り当てられたプレフィックス（DelegatedPrefix）を「2001:db8:1::/48」と仮定します。
この場合、再割り当て用プール全体は「2001:db8:1:200::/56」となり、この範囲から/64単位でプレフィックスを割り当てます。
実際に割り当てられるプレフィックスは、「2001:db8:1:200::/64」、「2001:db8:1:201::/64」 ... 「2001:db8:1:2ff::/64」の256個です。
以下、DHCPv6 PDクライアントの基本設定（前節を参照）に対する追加設定を示します。

1. DHCPv6 PDクライアントに再割り当てするプレフィックスの仕様をプレフィックスプールBlockToSubdelegateとして設定します。これには、ipv6 local poolコマンドを使います。
   このコマンドでは、上位のDHCPv6サーバーから割り当てられたプレフィックス（ipv6 dhcp client pdコマンドで指定したプレフィックス名で指定）、該当プレフィックス内のどの部分（サブプレフィックス）を再割り当てに使うか、各クライアントに何ビット長のプレフィックスを割り当てるか（切り出し単位）を指定します。

       awplus(config)# ipv6 local pool BlockToSubdelegate DelegatedPrefix ::200:0:0:0:0/56 64

2. DHCPv6プールを作成します。DHCPv6プール名をipv6 dhcp poolコマンドで指定してください。

       awplus(config)# ipv6 dhcp pool Subdelegation

3. 手順1で定義したプレフィックスプールBlockToSubdelegateの仕様にもとづいて、動的なプレフィックス割り当てを行うよう指示します。これには、prefix-delegation poolコマンドを使います。

       awplus(config-dhcp6)# prefix-delegation pool BlockToSubdelegate

4. vlan1インターフェースでDHCPv6サーバーを有効にします。これには、ipv6 dhcp serverコマンドを使います。同コマンドでは手順2で作成したDHCPv6プール名を指定します。

       awplus(config)# interface vlan1
       awplus(config-if)# ipv6 dhcp server Subdelegation

設定は以上です。