11.6. IPv6 トークンインターフェース識別子の設定
ネットワークでは一般的には、サーバーには静的アドレスが与えられ、通常、アドレスに障害が発生したり、不足したりする可能性がある
DHCP
サーバーに依存しないように手動で設定されます。IPv6
プロトコルでは、ステートレスアドレス自動設定 (SLAAC)が導入され、クライアントが DHCPv6
サーバーに依存せずにアドレスを割り当てることができます。SLAAC はインターフェースハードウェアに基づいて IPv6
アドレスを派生するため、ハードウェアが変更され、関連する SLAAC がアドレスの変更に関連する SLAAC の生成時にサーバーに使用することはできません。IPv6
環境では、ネットワーク接頭辞が変更された場合や、システムが新しい場所に移動した場合は、接頭辞の変更により、手動で構成された静的アドレスを編集する必要があります。
これらの問題に対処するために、IETF ドラフト 『Tokenised IPv6 識別子』 がカーネルに実装され、ip ユーティリティーに対応する機能が追加されました。これにより、管理者が指定するトークンに基づいて、
IPv6
アドレスの 64 ビットインターフェース識別子の部分が ルーター広告 (RA)から取得できるようになります。つまり、ネットワークインターフェースのハードウェアが変更されると、アドレスの低い 64 ビットが変更されず、システムが別のネットワークに移動した場合に、ルーター広告からネットワーク接頭辞が自動的に取得されるため、手動での編集は必要ありません。
トークン化された
IPv6
識別子を使用するようにインターフェースを設定するには、root
で以下の形式のコマンドを実行します。
~]# ip token set ::1a:2b:3c:4d/64 dev eth4
::1a:2b:3c:4d/64
は使用するトークンに置き換えます。この設定は永続的ではありません。これを永続化するには、コマンドを init スクリプトに追加します。「インターフェース制御スクリプト」を参照してください。
メモリーが可能なトークンを使用できますが、有効な 16 進数の範囲に制限されます。たとえば、従来ポート
53
の DNS
サーバーでは、::53/
64 のトークンを使用できます。
設定した
IPv6
トークンすべてを表示するには、以下のコマンドを実行します。
~]$ ip token
token :: dev eth0
token :: dev eth1
token :: dev eth2
token :: dev eth3
token ::1a:2b:3c:4d dev eth4
特定のインターフェースに設定された
IPv6
トークンを表示するには、以下のコマンドを実行します。
~]$ ip token get dev eth4
token ::1a:2b:3c:4d dev eth4
トークンをインターフェースに追加すると、以前に割り当てられたトークンが置き換えられ、そこから派生したアドレスが無効になることに注意してください。新しいトークンを指定すると、新しいアドレスが生成され、適用されますが、このプロセスで他のアドレスは変更されません。つまり、新しいトークン識別子は、他の
IP
アドレスではなく、既存のトークン化された識別子のみを置き換えます。
注記
複製アドレス検出(DAD)メカニズムが問題を解決できないため、同じトークンを複数のシステムまたはインターフェースに追加しないでください。トークンが設定されると、マシンをリブートしない限り、クリアやリセットを行うことはできません。