IPv6 の設定
ここでは、次の項目について説明します。
•
「インターフェイスでの IPv6 の設定」
•
「インターフェイスでのデュアル IP スタックの設定」
•
「IPv6 アドレスでの Modified EUI-64 インターフェイス ID の使用」
•
「IPv6 重複アドレス検出の設定」
•
「IPv6 デフォルト ルートおよびスタティック ルートの設定」
•
「IPv6 アクセスリストの設定」
•
「IPv6 近隣探索の設定」
•
「スタティック IPv6 ネイバーの設定」
インターフェイスでの IPv6 の設定
少なくとも、各インターフェイスに IPv6 リンクローカル アドレスを設定する必要があります。さらに、サイトローカル アドレスおよびグローバル アドレスをインターフェイスに追加できます。
(注) セキュリティ アプライアンスは、IPv6 エニーキャスト アドレスはサポートしません。
1 つのインターフェイスに IPv6 アドレスと IPv4 アドレスの両方を設定できます。
インターフェイスに IPv6 を設定するには、次の手順を実行します。
ステップ 1
IPv6 アドレスを設定するインターフェイスに対応するインターフェイス コンフィギュレーション モードに入ります。
hostname(config)# interface if
ステップ 2
インターフェイスの IPv6 アドレスを設定します。1 つのインターフェイスに複数の IPv6 アドレス(IPv6 リンクローカル アドレス、サイトローカル アドレス、グローバル アドレスなど)を割り当てることができます。ただし、少なくとも、リンクローカル アドレスを設定する必要があります。
IPv6 アドレスを設定するには、いくつかの方法があります。次の方法から、要件に合った方法を選びます。
•
最も単純な方法は、インターフェイスでステートレスな自動設定をイネーブルにする方法です。インターフェイスでステートレスな自動設定をイネーブルにすると、ルータ アドバタイズメント メッセージで受信したプレフィックスに基づいて IPv6 アドレスが設定されます。ステートレスな自動設定がイネーブルになっている場合、インターフェイスのリンクローカル アドレスは、Modified EUI-64 インターフェイス ID に基づいて自動的に生成されます。ステートレスな自動設定をイネーブルにするには、次のコマンドを入力します。
hostname(config-if)# ipv6 address autoconfig
•
インターフェイスのリンクローカル アドレスだけを設定する必要があり、その他の IPv6 アドレスをインターフェイスに割り当てない場合は、手動でリンクローカル アドレスを定義するか、インターフェイス MAC アドレス(Modified EUI-64 形式)に基づいて生成するかを選択できます。
–
リンクローカル アドレスを手動で指定するには、次のコマンドを入力します。
hostname(config-if)# ipv6 address ipv6-address link-local
–
インターフェイスで IPv6 をイネーブルにして、インターフェイス MAC アドレスに基づく Modified EUI-64 インターフェイス ID を使用してリンクローカル アドレスを生成するには、次のコマンドを入力します。
hostname(config-if)# ipv6 enable
(注) インターフェイスで、その他の ipv6 address コマンドを入力した場合は、ipv6 enable コマンドを使用する必要はありません。IPv6 サポートは、インターフェイスに IPv6 アドレスが割り当てられるとすぐに、自動的にイネーブルになります。
•
サイトローカル アドレスまたはグローバル アドレスをインターフェイスに割り当てます。サイトローカル アドレスまたはグローバル アドレスを割り当てると、リンクローカル アドレスが自動的に作成されます。グローバル アドレスまたはサイトローカル アドレスをインターフェイスに追加するには、次のコマンドを入力します。アドレスの下位 64 ビットに Modified EUI-64 インターフェイス ID を使用する場合は、オプションの
eui-64
キーワードを使用します。
hostname(config-if)# ipv6 address ipv6-address [eui-64]
ステップ 3
(オプション)インターフェイスでルータ アドバタイズメント メッセージを抑止します。デフォルトでは、ルータ アドバタイズメント メッセージは、ルータ送信要求メッセージへの応答として自動的に送信されます。セキュリティ アプライアンスで IPv6 プレフィックスを提供する必要がないインターフェイス(外部インターフェイスなど)では、これらのメッセージをディセーブルにできます。
インターフェイスでルータ アドバタイズメント メッセージを抑止するには、次のコマンドを入力します。
hostname(config-if)# ipv6 nd suppress-ra
インターフェイスでのデュアル IP スタックの設定
セキュリティ アプライアンスは、1 つのインターフェイス上で IPv6 と IPv4 の両方のコンフィギュレーションをサポートします。そのために特別なコマンドを入力する必要はありません。単純に、IPv4 コンフィギュレーション コマンドと IPv6 コンフィギュレーション コマンドを通常と同じように入力します。IPv4 と IPv6 の両方で、デフォルト ルートを設定してください。
IPv6 アドレスでの Modified EUI-64 インターフェイス ID の使用
RFC 3513「Internet Protocol Version 6(IPv6)Addressing Architecture」(インターネット プロトコル バージョン 6 アドレッシング アーキテクチャ)では、バイナリ値 000 で始まるものは別として、すべてのユニキャスト IPv6 アドレスのインターフェイス識別子部分の長さは 64 ビットで、Modified EUI-64 形式で構築されている必要があります。セキュリティ アプライアンスでは、ローカル リンクに接続されたホストにこの要件を適用することができます。
ローカル リンクの IPv6 アドレスで Modified EUI-64 形式のインターフェイスを適用するには、次のコマンドを入力します。
hostname(config)# ipv6 enforce-eui64 if_name
if_name
引数は、
namif
コマンドが指定するインターフェイス名で、このインターフェイスにアドレス形式を適用します。
このコマンドがインターフェイスでイネーブルになると、そのインターフェイスで受信した IPv6 パケットの送信元 アドレスの送信元 MAC アドレスに対する検証が行われ、インターフェイス識別子が Modified EUI-64 形式を使用するようにします。IPv6 パケットがインターフェイス識別子用に Modified EUI-64 形式を使用していない場合、パケットがドロップし、次のシステムログ メッセージが生成されます。
%PIX|ASA-3-325003: EUI-64 source address check failed.
アドレス形式の検証は、フローが生じた場合にのみ行われます。既存のフローからのパケットはチェックを受けません。加えて、アドレス検証は、ローカル リンク上のホストだけを対象として実施できます。ルータの背後にあるホストから受信したパケットは、アドレス形式検証で受け入れられず、ドロップされます。その送信元 MAC アドレスがルータ MAC アドレスで、ホスト MAC アドレスではないためです。
IPv6 重複アドレス検出の設定
ステートレスな自動設定プロセス中に、アドレスをインターフェイスに割り当てる前に、重複アドレス検出により新しいユニキャスト IPv6 アドレスの一意であることを検証します(新しいアドレスは、重複アドレス検出が行われている間、仮の状態のままになります)。重複アドレス検出は、最初に新しいリンクローカル アドレスで行われます。リンクローカル アドレスが一意であることが検証されれば、次にインターフェイス上のその他すべての IPv6 ユニキャスト アドレスで重複アドレス検出が行われます。
重複アドレス検出は、管理上ダウンしているインターフェイスでは保留されます。インターフェイスが管理上ダウンしている間、そのインターフェイスに割り当てられているユニキャスト IPv6 アドレスは保留状態になります。管理上アップ状態に復帰したインターフェイスでは、重複アドレス検出がインターフェイス上のすべてのユニキャスト IPv6 アドレスを対象として再開します。
重複アドレスが検出されると、そのアドレスの状態が DUPLICATE に設定されて使用されず、次のメッセージが生成されます。
%PIX|ASA-4-325002: Duplicate address ipv6_address/MAC_address on interface
重複アドレスがインターフェイスのリンクローカル アドレスであれば、インターフェイス上で IPv6 パケットの処理はディセーブルになります。重複アドレスがグローバル アドレスであれば、そのアドレスは使用されません。ただし、その重複アドレスに関連したすべての設定コマンドは、アドレスの状態が DUPLICATE に設定されている間、設定されたままになります。
インターフェイスのリンクローカル アドレスが変わると、重複アドレス検出が新しいリンクローカル アドレスに対して行われ、そのインターフェイスに関連したその他すべての IPv6 アドレスが再生成されます(重複アドレス検出は、新しいリンクローカル アドレスに対してのみ行われます)。
セキュリティ アプライアンスは、ネイバー送信要求メッセージを使用して、重複アドレス検出を実行します。デフォルトでは、インターフェイスが重複アドレス検出を行う回数は 1 回です。
重複アドレス検出の試行回数を変更するには、次のコマンドを入力します。
hostname(config-if)# ipv6 nd dad attempts value
value
引数は 0 ~ 600 の任意の値にできます。
value
引数を 0 に設定すると、インターフェイスの重複アドレス検出がディセーブルになります。
2 回以上重複アドレス検出試行を行うようにインターフェイスを設定する場合、
ipv6 nd ns-interval
コマンドを使用して、ネイバー送信要求メッセージの送信間隔を設定することもできます。このメッセージは、デフォルトでは 1000 ミリ秒に 1 回送信されます。
ネイバー送信要求メッセージの送信間隔を変更するには、次のコマンドを入力します。
hostname(config-if)# ipv6 nd ns-interval value
value
引数は 1000 ~ 3600000 ミリ秒までの任意の値にできます。
(注) この値を変更すると、重複アドレス検出で使用されるものだけでなく、インターフェイス上から送信されるすべてのネイバー送信要求メッセージに適用されます。
IPv6 デフォルト ルートおよびスタティック ルートの設定
ホストが接続されているインターフェイスが IPv6 対応で、IPv6 ACL でトラフィックが許可されている場合、セキュリティ アプライアンスは、直接接続しているホスト間の IPv6 トラフィックを自動的にルーティングします。
セキュリティ アプライアンスは ダイナミック ルーティング プロトコルをサポートしません。したがって、IPv6 トラフィックを直接接続されていないホストやネットワークにルーティングするには、スタティック ルートをホストやネットワークに定義するか、少なくともデフォルト ルートを定義する必要があります。スタティックまたはデフォルトのルートが定義されていない場合、直接接続されていないホストやネットワークへのトラフィックは次のようなエラー メッセージを生成します。
%PIX|ASA-6-110001: No route to dest_address from source_address
デフォルト ルートとスタティック ルートは、
ipv6 route
コマンドで追加できます。
IPv6 デフォルト ルートおよびスタティック ルートを設定するには、次の手順を実行します。
ステップ 1
デフォルト ルートを追加するには、次のコマンドを使用します。
hostname(config)# ipv6 route if_name ::/0 next_hop_ipv6_addr
アドレス ::/0 は、IPv6 で「any」と同じです。
ステップ 2
(オプション)IPv6 スタティック ルートを定義します。次のコマンドを使用して、IPv6 スタティック ルートを IPv6 ルーティング テーブルに追加します。
hostname(config)# ipv6 route if_name destination next_hop_ipv6_addr [admin_distance]
(注) ipv6 route コマンドは、IPv4 スタティック ルートの定義に使用する route コマンドと同じように機能します。
IPv6 アクセスリストの設定
IPv6 アクセスリストの設定は、IPv4 アクセスの設定に似ていますが、IPv6 アドレスを使用するという違いがあります。
IPv6 アクセスリストを設定するには、次の手順を実行します。
ステップ 1
アクセス エントリを作成します。アクセスリストを作成するには、
ipv6 access-list
コマンドを使用して、アクセスリストのエントリを作成します。このコマンドには 2 つの主な形式があり、いずれかを選択できます。1 つは、特に ICMP トラフィック用のアクセスリスト エントリを作成する形式で、もう 1 つは、その他のすべての種類の IP トラフィック用のアクセスリスト エントリを作成する形式です。
•
特に ICMP トラフィック用の IPv6 アクセスリスト エントリを作成するには、次のコマンドを入力します。
hostname(config)# ipv6 access-list id [line num] {permit | deny} icmp source destination [icmp_type]
•
IPv6 アクセスリスト エントリを作成するには、次のコマンドを入力します。
hostname(config)# ipv6 access-list id [line num] {permit | deny} protocol source [src_port] destination [dst_port]
ipv6 access-list
コマンドの引数について説明します。
•
id:アクセスリストの名前。1 つのアクセスリストに複数のエントリを入力する場合は、各コマンドで同じ
id
を使用します。
•
line
num
:アクセスリストにエントリを追加するときに、そのエントリを入力するリスト内の行番号を指定できます。
•
permit
|
deny
:指定したトラフィックの通過をブロックするか、許可するかを決定します。
•
icmp
:アクセスリスト エントリを ICMP トラフィックに適用するかどうかを示します。
•
protocol
:アクセスリスト エントリで制御するトラフィックを指定します。IP プロトコルの名前(
ip
、
tcp
、または
udp
)または番号(1 ~ 254)を使用できます。
object-group
grp_id
を使用して、プロトコル オブジェクト グループを指定することもできます。
•
source and destination
:トラフィックの送信元または宛先を指定します。送信元または宛先には、アドレス範囲を示す
prefix
/
length
形式の IPv6 プレフィックス、任意のアドレスを指定するキーワード
any
、または
host
host_ipv6_addr で指定された特定のホストを使用できます。
•
src_port and dst_port
:送信元および宛先ポート(またはサービス)引数。演算子(より小さいを表す
lt
、より大きいを表す
gt
、等しいを表す
eq
、等しくないを表す
neq
、両端を含む範囲を表す
range
)の後ろにスペースとポート番号を続けます(
range
キーワードの場合は、2 つのポート番号をスペースで区切ります)。
•
icmp_type
:アクセス規則によってフィルタリングされる ICMP メッセージ タイプを指定します。値は、有効な ICMP タイプ番号(0 ~ 155)または
付録 D「アドレス、プロトコル、およびポート」
で示す ICMP タイプ リテラルのいずれかにできます。
object-group
id
を使用して、ICMP オブジェクト グループを指定することもできます。
ステップ 2
アクセスリストをインターフェイスに適用するには、次のコマンドを入力します。
hostname(config)# access-group access_list_name {in | out} interface if_name
ネイバー送信要求メッセージの設定
ローカル リンク上の他のノードのリンクレイヤ アドレスを探索するため、ノードからネイバー送信要求メッセージ(ICMPv6 Type 135)が送信されます。ネイバー送信要求メッセージが送信要求ノード マルチキャスト アドレスに送信されます。ネイバー送信要求メッセージの送信元アドレスは、ネイバー送信要求メッセージを送信するノードの IPv6 アドレスです。ネイバー送信要求メッセージには、送信元ノードのリンクレイヤ アドレスも含まれています。
ネイバー送信要求メッセージを受信すると、宛先ノードは、ネイバー アドバタイズメント メッセージ(ICPMv6 Type 136)をローカル リンクで送信して応答します。ネイバー アドバタイズメント メッセージの送信元アドレスは、ネイバー送信要求メッセージを送信するノードの IPv6 アドレスです。宛先アドレスは、ネイバー送信要求メッセージを送信するノードの IPv6 アドレスです。ネイバー アドバタイズメント メッセージのデータ部分には、ネイバー アドバタイズメント メッセージを送信するノードのリンクレイヤ アドレスが含まれています。
送信元ノードがネイバー アドバタイズメントを受信すると、送信元ノードと宛先ノードとの通信が可能になります。図12-1 にネイバー送信要求と応答プロセスを示します。
図12-1 IPv6 近隣探索:ネイバー送信要求メッセージ
ネイバー送信要求メッセージは、ネイバーのリンクレイヤ アドレスの特定後に、ネイバーの到達性情報を検証するためにも使用します。あるノードがあるネイバーの到達性情報を検証する場合、ネイバー送信要求メッセージ中の宛先アドレスがネイバーのユニキャスト アドレスです。
ローカル リンクのノードのリンクレイヤ アドレスに変更があると、ネイバー アドバタイズメント メッセージも送信されます。そのような変更があると、ネイバー アドバタイズメントの宛先アドレスが All-Nodes マルチキャスト アドレスです。
インターフェイスごとに、ネイバー送信要求メッセージの間隔とネイバー到達時間を設定することができます。詳細については、続きの項目も参照してください。
•
「ネイバー送信要求メッセージ間隔の設定」
•
「ネイバー到達時間の設定」
ネイバー送信要求メッセージ間隔の設定
インターフェイスでの IPv6 ネイバー送信要求の再送信間隔を設定するには、次のコマンドを入力します。
hostname(config-if)# ipv6 nd ns-interval value
value
引数の有効な値は、1000 ~ 3600000 ミリ秒です。デフォルト値は 1000 ミリ秒です。
この設定は、ルータ アドバタイズメント メッセージでも送信されます。
ネイバー到達時間の設定
ネイバー到達時間を設定すると、使用できないネイバーを検出できます。設定時間を短くすると、使用できないネイバーを早く検出できます。ただし、時間を短くすると、IPv6 ネットワーク帯域幅とすべての IPv6 ネットワーク デバイスの処理リソースの消費が増えます。通常の IPv6 の運用では、あまり短い時間設定は推奨できません。
到達確認イベントの発生後に、リモート IPv6 ノードが到達可能と見なされるように時間を設定するには、次のコマンドを入力します。
hostname(config-if)# ipv6 nd reachable-time value
value
引数の有効な値は、0 ~ 3600000 ミリ秒です。デフォルトは 0 です。
この情報は、ルータ アドバタイズメント メッセージでも送信されます。
0 を
value
に指定すると、到達時間が判定不能として送信されます。到達時間の値の設定および追跡は、受信デバイスで決まります。値を 0 に設定した場合に、セキュリティ アプライアンスで使用される時間を表示するには、
show ipv6 interface
コマンドを使用して、IPv6 インターフェイスに関する情報を参照します。使用中の ND 到達時間も含まれています。
ルータ アドバタイズメント メッセージの設定
ルータ アドバタイズメント メッセージ(ICMPv6 Type 134)は、セキュリティ アプライアンスの IPv6 が設定された各インターフェイスから定期的に送信されます。ルータ アドバタイズメント メッセージが All-Nodes マルチキャスト アドレスに送信されます。
図12-2 IPv6 近隣探索:ルータ アドバタイズメント メッセージ
ルータ アドバタイズメント メッセージには、通常、次の情報が含まれています。
•
ローカル リンク上のノードが IPv6 アドレスを自動設定するために使用できる 1 つまたは複数の IPv6 プレフィックス
•
アドバタイズメントに含まれるプレフィックスごとのライフタイム情報
•
実行できる自動設定のタイプを示すフラグのセット(ステートレスまたはステートフル)
•
デフォルト ルータ情報(アドバタイズメントを送信するルータがデフォルト ルータであれば、そのルータがデフォルト ルータとして使用される秒単位の時間)
•
ホストに関する付加的な情報。たとえば、ホストから発信するパケットで使用するホップ制限や MTU など。
•
特定のリンク上でのネイバー送信要求メッセージの再送信間隔
•
ノードがネイバーを到達可能と見なす時間
ルータ アドバタイズメントもルータ送信要求メッセージに応えて送信されます(ICMPv6 Type 133)。ルータ送信要求メッセージは、システムの起動時にホストから送信されるため、ホストは、次に予定されているルータ アドバタイズメント メッセージを待つことなく自動設定を行えます。ルータ送信要求メッセージは、通常システムの起動時にホストから送信され、ホストには設定済みのユニキャスト アドレスがないため、ルータ送信要求メッセージの送信元アドレスが通常未指定 IPv6 アドレスとなります(0:0:0:0:0:0:0:0)。ホストに設定済みのユニキャスト アドレスがある場合、ルータ送信要求メッセージを送信するインターフェイスのユニキャスト アドレスが、メッセージの送信元アドレスとして使用されます。ルータ送信要求メッセージの宛先アドレスは、リンクの範囲を指定したAll-Routers マルチキャスト アドレスです。ルータ送信要求に応えてルータ アドバタイズメントが送信される場合、ルータ アドバタイズメント メッセージの宛先アドレスがルータ送信要求メッセージの送信元のユニキャスト アドレスです。
次の設定をルータ アドバタイズメント メッセージ用に行うことができます。
•
ルータ アドバタイズメント メッセージの定期的な時間間隔
•
ルータ ライフタイム値。これは IPv6 ノードがセキュリティ アプライアンスをデフォルト ルータであるとみなす時間を示します。
•
リンクで使用されている IPv6 ネットワークのプレフィックス
•
ルータ アドバタイズメント メッセージをインターフェイスが送信するかどうか
特に注記のないかぎり、ルータ アドバタイズメント メッセージ設定はインターフェイス固有のものであり、インターフェイス コンフィギュレーション モードで入力されます。この設定の変更については、次の項目を参照してください。
•
「ルータ アドバタイズメントの送信間隔の設定」
•
「ルータ ライフタイム値の設定」
•
「IPv6 プレフィックスの設定」
•
「ルータ アドバタイズメント メッセージの抑止」
ルータ アドバタイズメントの送信間隔の設定
デフォルトでは、ルータ アドバタイズメントは 200 秒ごとに送信されます。インターフェイスでのルータ アドバタイズメントの送信間隔を変更するには、次のコマンドを入力します。
ipv6 nd ra-interval [msec] value
有効値の範囲は 3 ~ 1800 秒です(
msec
キーワードを使用している場合は 500 ~ 1800000 ミリ秒)。
ipv6 nd ra-lifetime
コマンドでセキュリティ アプライアンスがデフォルト ルータとして設定されている場合、送信間隔は IPv6 ルータ アドバタイズメント ライフタイム以下になります。他の IPv6 ノードとの同期を防止するには、実際に使用されている値を、必要な値の 20% 以内になるように調整します。
ルータ ライフタイム値の設定
ルータ ライフタイム値は、ローカルリンク上のノードがセキュリティ アプライアンスをリンク上のデフォルト ルータと見なす時間を指定します。
ルータ ライフタイム値をインターフェイスの IPv6 ルータ アドバタイズメントに設定するには、次のコマンドを入力します。
hostname(config-if)# ipv6 nd ra-lifetime seconds
有効値の範囲は 0 ~ 9000 秒です。デフォルトは、1800 秒です。0 を入力すると、セキュリティ アプライアンスが選択されたインターフェイス上のデフォルト ルータと見なされません。
IPv6 プレフィックスの設定
ステートレス自動設定では、ルータ アドバタイズメント メッセージで提供される IPv6 プレフィックスを使用して、リンクローカル アドレスからのグローバル ユニキャスト アドレスを作成します。
IPv6 ルータ アドバタイズメントに含める IPv6 プレフィックスを設定するには、次のコマンドを入力します。
hostname(config-if)# ipv6 nd prefix ipv6-prefix/prefix-length
(注) ステートレス自動設定が正しく機能するには、ルータ アドバタイズメント メッセージでアドバタイズされたプレフィックス長が常に 64 ビットでなければなりません。
ルータ アドバタイズメント メッセージの抑止
デフォルトでは、ルータ アドバタイズメント メッセージは、ルータ送信要求メッセージへの応答として自動的に送信されます。セキュリティ アプライアンスで IPv6 プレフィックスを提供する必要がないインターフェイス(外部インターフェイスなど)では、これらのメッセージをディセーブルにできます。
インターフェイスで IPv6 ルータ アドバタイズメントの送信を抑止するには、次のコマンドを入力します。
hostname(config-if)# ipv6 nd suppress-ra
このコマンドを入力すると、セキュリティ アプライアンスがリンク上で IPv6 ルータではなく、正規の IPv6 ネイバーとして表示されます。
スタティック IPv6 ネイバーの設定
ネイバーを手動で IPv6 ネイバー キャッシュに定義できます。指定された IPv6 アドレスのエントリが近隣探索キャッシュにある場合、つまり IPv6 近隣探索プロセスで検出できた場合、そのエントリが自動的にスタティック エントリに変換されます。IPv6 近隣探索キャッシュのスタティック エントリは、近隣探索プロセスによって修正されません。
IPv6 近隣探索キャッシュにスタティック エントリを設定するには、次のコマンドを入力します。
hostname(config-if)# ipv6 neighbor ipv6_address if_name mac_address
ipv6_address
引数はネイバーのリンクローカル IPv6 アドレスで、
if_name
引数はネイバーを利用できるようにするインターフェイスです。また、
mac_address
引数はネイバー インターフェイスの MAC アドレスです。
(注) clear ipv6 neighbors コマンドは、スタティック エントリを IPv6 近隣探索キャッシュから削除しません。ダイナミック エントリをクリアするだけです。