どのように NAT64 を設定するにはパロアルトのファイアウォール-IPv6 から IPv4 への翻訳
Resolution
概要
このドキュメントでは、パロアルトネットワークファイアウォールで NAT64 を構成する方法について説明します。
詳細
NAT64 は、IPv6 ホストが IPv4 ホストと通信できるようにします。ipv4 宛先の NAT64 等価アドレスは、RFC 6052 で概説されているように、32ビットの ipv4 アドレスと既知のプレフィックス 64: ff9b::/n を組み合わせることによって形成されます。
この実装には、IPv6 クライアントがレコードから AAAA レコードを合成するために通信できる DNS64 サーバーが必要です。DNS64 サーバーは、宛先の IPv4 ルックアップを行い、既知のプレフィックスを追加することによって、同等の IPv6 アドレス (AAAA) をクライアントに返します。クライアントは次のようにパケットを送信します。
- Src IP = 構成済み IPv6 アドレス
- DNS64 サーバーによって返される Dst IP = IPv4 埋め込み IPv6 アドレス
ファイアウォールがこのパケットを受信すると、Src ip と Dst ip の両方が IPv4 アドレスに変換されます。
注: この例では、 DNS64 サーバーで NAT64 を実装する方法を示していますが、ファイアウォールは、ipv4 アドレスが DNS64 サーバーまたは他の方法によって行われたかどうかにかかわらず、IPv6 から ipv4 への変換を実行できます。以下に示すように IPv6 アドレスに埋め込まれます。
注: NAT64 機能は、既知のプレフィックスとネットワーク固有のプレフィックス (たとえば、顧客のグローバルアドレスプレフィックスのすべてまたは一部) をカバーする RFC6052 互換プレフィックスをサポートしています。このドキュメントでは、96の既知のプレフィックスのシナリオについて説明します。 これは、ネットワーク固有のプレフィックスにも適用できます。
次の表は、IPv6 から IPv4 へのマッピング規則です。マッピングは、プレフィックスの長さによって異なります。
手順
構成例には、次のネットワークトポロジが使用されます。
- Bind 9 は、このセットアップの DNS64 サーバーとして使用されました。次の構成を/etc/bind/named.conf.options ファイルに追加する必要があります。
オプション {
dns64 64: ff9b::/96 {
};
聞く v6 {any;};
許可-クエリ {any;};
}; - ' Untrust ' ゾーンに割り当てられたインターフェイスに、64: ff9b::/96 ネットワークを割り当てます。これは、このネットワーク内の宛先 ip のゾーンルックアップが Untrust ゾーンと一致するようにするためです。
- NAT64 ルールを次のように構成します。
- クライアントでブラウザを開き、web サイトに移動します。www.w3schools.com はサンプルサイトを使用します。
- ウェブサイトwww.w3schools.com は、 66.29.212.73 に解決
- PC がホスト名 www.w3schools.com の AAAA レコードルックアップを行うと、 DNS64 サーバーは次のように IP アドレスを返します:64: ff9b:: 421d: d449 421d: d449 は66.29.212.73 の16進数と等価です。
検証
ファイアウォール上の DNS および次の web ブラウジングセッションのセッションを確認します。
DNS セッション:
c2s の流れ:
出典: 2005: db4:40: 0: 0: 0: 0:31 [トラスト-L3]
dst: 2005 年: db4:31: 0: 0: 1, 0: 200
プロト:17
スポーツ: 58674 dport:53
状態: アクティブなタイプ: フロー
src ユーザー: 未知
dst ユーザー: 未知
s2c フロー:
出典: 2005: db4:31: 0: 0: 0: 200 [untrust-L3]
dst: 2005: db4:40: 0: 1: 0: 0:31
プロト:17
スポーツ:53 dport: 58674
状態: アクティブなタイプ: フロー
src ユーザー: 未知
dst ユーザー: 未知
開始時間: 水11月 13 13:04:31 2013
タイムアウト: 30 秒
ライブタイム:15 秒
合計バイト数 (c2s): 100
合計バイト数 (s2c): 524
layer7 パケット count(c2s): 1
layer7 パケット count(s2c): 1
vsys: vsys1
アプリケーション: dns
ルール: allow_all
最後に記録されるセッション: 真
セッションでセッション: 真
HA ピアから同期セッション: False
layer7 処理: 有効になっています。
URL フィルターを有効に: False
syn クッキーを介してセッション: False
ホスト セッションを終了: False
セッションは、トンネルを通過する: False
非脱落型ポータル セッション: False
イングレスインタ フェース: ethernet1/4
出力インターフェイス: ethernet1/3
セッション QoS ルール: N/A (クラス 4)
Web ブラウジングセッション:
c2s フロー: (c2s フローにおける IPv6 アドレスの通知)
出典: 2005: db4:40: 0: 0: 0: 0:31 [トラスト-L3]
dst:64: ff9b: 0: 0: 0: 0: 421d: d449
プロト: 6
スポーツ: 49381 dport:80
状態: アクティブなタイプ: フロー
src ユーザー: 未知
dst ユーザー: 未知
s2c フロー: (s2c フローの IPv4 アドレスに注意してください)
ソース: 66.29.212.73 [untrust-L3] dst: 10.66.24.80
プロト: 6
スポーツ:80 dport: 65144
状態: アクティブなタイプ: フロー
src ユーザー: 未知
dst ユーザー: 未知
開始時間: 水11月 13 13:04:31 2013
タイムアウト: 3600 sec
生きている時間: 3568 sec
合計バイト数 (c2s): 758
合計バイト数 (s2c): 5439
layer7 パケット count(c2s): 6
layer7 パケット数 (s2c): 6
vsys: vsys1
アプリケーション: web ブラウジング
ルール: allow_all
最後に記録されるセッション: 真
セッションでセッション: 真
HA ピアから同期セッション: False
アドレス/ポート変換: 元 + 転送先
nat ルール: nat6_4 (vsys1) < NAT64 rule is applied nat64="" rule="" is=""></ NAT64 rule is applied>
layer7 処理: 有効になっています。
URL フィルターを有効に: False
syn クッキーを介してセッション: False
ホスト セッションを終了: False
セッションは、トンネルを通過する: False
非脱落型ポータル セッション: False
イングレスインタ フェース: ethernet1/4
出力インターフェイス: ethernet1/3
セッション QoS ルール: N/A (クラス 4)
トラブルシューティング
次のコマンドは、ドロップ/警告レベルで NAT64 のカウンタを表示するために使用できます。
> カウンタグローバルフィルタの値をすべて表示 |マッチ nat64
例:
拡大します
メモ: ipv6 ファイアウォール対策は、[デバイス] > [セットアップ] > [セッション] > [ipv6 ファイアウォール対策] で有効にする必要があります。
所有者: achitwadgi