項目一覧
永続的NATおよびNAT64
ネットワーク アドレス変換器(NAT)は、ペイロードに IP アドレスを転送するアプリケーションで非常に重大な問題を引き起こすことはよく知られています。この問題に悩まされるアプリケーションには、VoIPやMultimedia Over IPなどがあります。永続的NATは、NATの動作を改善し、動作するVOIPアプリケーションに役立つ一連のNAT要件動作を定義します。NAT64 は、IP/ICMP 変換アルゴリズムに従ってパケット ヘッダーを変換することにより、IPv6 パケットを IPv4 パケットに、またはその逆に変換するために使用される変換メカニズムです。
永続的NATとNAT64について
永続的NATにより、アプリケーションはNATファイアウォールを通過するときに、Session Traversal Utilities for NAT(STUN)プロトコルを使用できます。永続 NAT は、同じ内部トランスポート アドレス(内部 IP アドレスとポート)からのすべての要求が、同じ再帰トランスポート アドレス(STUN サーバに最も近い NAT デバイスによって作成されたパブリック IP アドレスとポート)にマッピングされるようにします。
NAT64 は、IPv6 パケットを IPv4 パケットに、またはその逆に変換するメカニズムであり、IPv6 クライアントがユニキャスト UDP、TCP、または ICMP を使用して IPv4 サーバーに接続できるようにします。これは、ネットワークアドレス変換プロトコル変換(NAT-PT)の拡張機能です。
NAT64 は以下をサポートします。
-
エンドポイントに依存しないマッピング
-
エンドポイントに依存しないフィルタリングとアドレスに依存するフィルタリング
NAT64と永続的NATのマッピングとフィルタリングの動作は同一です。
Juniper Networks デバイスでは、以下のタイプの永続的 NAT を設定できます。
-
任意のリモート ホスト - 特定の内部 IP アドレスとポートからのすべてのリクエストは、同じ再帰トランスポート アドレスにマッピングされます。外部ホストは、パケットを再帰トランスポート アドレスに送信することで、内部ホストにパケットを送信できます。
-
ターゲット ホスト - 特定の内部 IP アドレスとポートからのすべてのリクエストは、同じ再帰トランスポート アドレスにマッピングされます。外部ホストは、再帰トランスポート アドレスにパケットを送信することによって、内部ホストにパケットを送信できます。内部ホストは、事前に外部ホストの IP アドレスにパケットを送信している必要があります。
-
ターゲット ホスト ポート—特定の内部 IP アドレスおよびポートからのすべての要求は、同じ再帰トランスポート アドレスにマップされます。外部ホストは、再帰トランスポート アドレスにパケットを送信することによって、内部ホストにパケットを送信できます。内部ホストは、外部ホストの IP アドレスとポートにパケットを事前に送信している必要があります。
IPv6 アドレスで設定された ターゲットホストポート設定は、NAT64 ではサポートされません。
送信元 NAT ルールで、永続的 NAT タイプのいずれかを設定します。ソース NAT ルール アクションでは、ソース NAT プール(ポート変換の有無にかかわらず)またはエグレス インターフェイスを使用できます。永続的な NAT バインディングは内部から外部への発信セッションに基づいているため、永続的な NAT は宛先 NAT には適用されません。
ポート オーバーロードは、Junos OS で通常のインターフェイス NAT トラフィックにのみ使用されます。永続的NATはポートオーバーロードをサポートしていないため、[edit security nat source]階層レベルで以下のオプションのいずれかを使用して、ポートオーバーロードを明示的に無効にする必要があります。
-
ポートオーバーロードオフ
-
ポートオーバーロードファクター1
永続的なNATトラフィックを許可または拒否するセキュリティポリシーを設定するには、junos-stun と junos-persistent-natという2つの新しい定義済みサービスを使用できます。
永続的 NAT は、永続的アドレス機能とは異なります( 送信元 NAT プールの永続的アドレスについてを参照してください)。永続アドレス機能は、デバイスに設定された送信元 NAT プールのアドレス マッピングに適用されます。永続的NAT機能は、外部NATデバイス上のアドレスマッピングに適用され、特定の送信元NAT プールまたはエグレスインターフェイスに対して設定されます。また、永続 NAT は、STUN クライアント/サーバ アプリケーションでの使用を目的としています。
Feature Explorerを使用して、特定の機能に対するプラットフォームとリリースのサポートを確認します。
プラットフォームに関連する注意事項については、「 プラットフォーム固有の永続的な NAT バインディングのサポート動作 」セクションを参照してください。
Session Traversal Utilities for NAT(STUN)プロトコルについて
多くのビデオおよび音声アプリケーションは、NAT 環境では正しく動作しません。たとえば、VoIPで使用されるSession Initiation Protocol(SIP)は、アプリケーションデータ内のIPアドレスとポート番号をエンコードします。リクエスターとレシーバーの間にNATファイアウォールが存在する場合、データ内のIPアドレスとポート番号の変換によって情報が無効になります。
また、NAT ファイアウォールは、着信 SIP メッセージのピンホールを維持しません。これにより、SIPアプリケーションは、SIPメッセージでピンホールを常に更新するか、ALGを使用して登録を追跡しますが、この機能はゲートウェイデバイスでサポートされている場合とサポートされていない場合があります。
Session Traversal Utilities for NAT(STUN)プロトコルは、 最初にRFC 3489の「Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translator (NAT)」 で定義され、後に RFC 5389「Session Traversal Utilities for NAT」で定義され、単純なクライアント/サーバープロトコルです。STUNクライアントはSTUNサーバーに要求を送信し、STUNサーバーはクライアントに応答を返します。STUNクライアントは、通常、パブリックIPアドレスやポートを必要とするアプリケーションの一部です。STUNクライアントは、PCなどのエンドシステムやネットワークサーバー上に配置できますが、STUNサーバーは通常、パブリックインターネットに接続されています。
STUN クライアントと STUN サーバーの両方がアプリケーションによって提供される必要があります。ジュニパーネットワークスは、STUNクライアントまたはサーバーを提供しません。
STUNプロトコルを使用すると、クライアントは次のことができます。
アプリケーションがNATファイアウォールの内側にあるかどうかを検出します。
使用されている NAT バインディングのタイプを判別します。
STUNサーバに最も近いNATデバイスによって割り当てられたIPアドレスとポートバインディングである再帰トランスポート アドレスを学習します。(STUN クライアントと STUN サーバーの間には、複数のレベルの NAT が存在する場合があります)。
クライアント アプリケーションは、SIP や H.323 などのプロトコル内の IP アドレス バインディング情報を使用できます。
NAT64 IPv6 プレフィックスから IPv4 アドレス永続変換について
NAT64 メカニズムを使用すると、IPv6 アドレスを IPv4 アドレスに(またはその逆)に変換することで、IPv6 クライアントが IPv4 サーバーに接続できます。しかし、IPv4アプリケーションやサービスの中には、 464XLATなどの二重変換シナリオの標準NAT64を使用するIPv6専用ネットワークでは正しく動作しないものがあります。このようなシナリオでは、アドレス永続変換が必要です。
図 1 は、464XLATアーキテクチャを示しています。ここでは、IPv4パケットが顧客側トランスレータ(CLAT)でIPv6パケットに変換され、IPv6のみのネットワークを通過し、プロバイダ側トランスレータ(PLAT)でIPv4パケットに変換されてコアネットワークのグローバルIPv4専用コンテンツにアクセスします。このアーキテクチャでは、CLAT でのステートレス変換と PAT でのステートフル変換を組み合わせて使用します。
デバイスが PLAT として機能する場合、1 つの特定の IPv6 プレフィックスと 1 つの変換された IPv4 アドレス間のスティッキー マッピング関係を維持する役割を担います。デバイスは、IPv6 プレフィックスをシングル ユーザーとして扱います。このマッピングは、 address-persistent 機能を使用して、IPv4 ソース NAT プールで特定の IPv6 プレフィックス長を設定することによって実現されます。
図 2 は、CLAT で構成された NAT ルールを示しており、アドレス永続プレフィックスを使用して IPv4 アドレスを IPv6 アドレスに変換します。CLAT 上でステートレス NAT46 変換を行い、PAT 上でステートフル NAT64 変換を行うと、IPv4 ホスト 192.168.1.2 からのトラフィックは、IPv6 のみのネットワークを介してグローバル サーバー 198.51.100.1 に到達します。
での NAT64 変換
表 1 は、その他の NAT 機能と、アドレス永続機能との互換性を示しています。
| 特徴 |
コンパチ |
||
|---|---|---|---|
| PAT プール |
IPv4 |
NAT IPv4からIPv6へ |
いいえ |
| NAT IPv6からIPv4へ |
はい |
||
| IPv6 |
NAT IPv4からIPv6へ |
いいえ |
|
| NAT IPv6からIPv4へ |
いいえ |
||
| 非 PAT プール |
いいえ |
||
| ポートの過負荷 |
はい |
||
| PAT プール内の永続的 NAT |
はい |
||
| ポートブロックの割り当て |
はい |
||
| 決定論的NAT |
いいえ |
||
| アドレス プーリング ペア |
いいえ |
||
| ALG (ネイティブIPv6クライアントからのFTP/PPTP/RTSP/DNS/SIPなどの既存のALG NAT変換)。 |
はい |
||
永続的 NAT および NAT64 設定の概要
永続的NATを設定するには、ソースNAT ルールアクション(送信元NAT プールまたはエグレスインターフェイスのいずれかに対して)で次のオプションを指定します。
永続 NAT のタイプ - 任意のリモート ホスト、ターゲット ホスト、またはターゲット ホスト ポートのいずれか。
(オプション)アドレスマッピング:このオプションを使用すると、特定の内部 IP アドレスからの要求を同じ再帰 IP アドレスにマッピングできます。内部ポートと再帰ポートは、任意のポートにすることができます。任意のポートを使用する外部ホストは、再帰 IP アドレスにパケットを送信することで、内部ホストにパケットを送信できます(外部トラフィックから内部トラフィックを許可する着信ポリシーが設定されています)。このオプションが構成されていない場合、永続的な NAT バインディングは特定の内部および再帰トランスポート アドレス用になります。
address-mappingオプションを指定できるのは、永続的 NAT タイプが任意のリモートホストで、ソースNAT ルールアクションが以下のいずれかのアクションである場合のみです。IPアドレスシフトを使用したソースNAT プール
ポート変換なし、オーバーフロープールなしのソースNAT プール
(オプション)アクティブ タイム—バインディング エントリーのすべてのセッションの期限が切れたときに、永続的な NAT バインディングがデバイスのメモリに残る時間(秒単位)。構成されたタイムアウトに達すると、バインディングはメモリから削除されます。デフォルト値は300秒です。60〜7200秒の値を設定します。
永続的な NAT バインディングのすべてのセッションの有効期限が切れると、バインディングは、指定された非アクティブ タイムアウト期間中、デバイスのメモリ内でクエリ状態のままになります。クエリ バインディングは、非アクティブ タイムアウト期間が経過するとメモリから自動的に削除されます (既定値は 300 秒)。
clear security nat source persistent-nat-tableコマンドを使用して、すべてまたは特定の永続的な NAT クエリーバインディングを明示的に削除できます。(オプション)[最大セッション数(Maximum session number)]:永続的な NAT バインディングを関連付けることができるセッションの最大数。デフォルトは 30 セッションです。8 から 100 までの値を設定します。
インターフェイスNATでは、[edit security nat source]階層レベルで以下のオプションのいずれかを使用して、ポートのオーバーロードを明示的に無効にする必要があります。
ポートオーバーロードオフ
ポートオーバーロードファクター1
最後に、STUNおよび永続的なNATトラフィックを許可または拒否するためにセキュリティポリシーで使用できる2つの事前定義済みサービスがあります。
junos-stun—STUN プロトコル トラフィック。junos-persistent-nat—永続的 NAT トラフィック。
junos-persistent-natポリシーを配置します。または、
junos-persistent-natポリシーより下の永続的な NAT トラフィックに一致するポリシーが後続にないことを確認します。
任意のリモート・ホスト、ターゲット・ホスト、またはターゲット・ホスト・ポート永続 NAT タイプの場合、セキュリティー・ポリシーの方向は内部から外部です。
例:アドレス永続的 NAT64 プールの設定
この例では、アドレス永続 NAT64 プールを設定して、設定された IPv6 プレフィックス長によって計算される 1 つの特定の IPv6 プレフィックスと、変換された 1 つの IPv4 アドレス間のスティッキー マッピング関係を確保する方法を示します。
必要条件
開始する前に、既存のNATルールとプール構成が新しいものと競合しないことを確認してください。
概要
この例では、NAT IPv6 から IPv4 への変換用に、IPv4 ソース NAT プールで /64 の IPv6 プレフィックス長を設定します。NAT ルールと NAT プールに一致するトラフィックは、IPv6 プレフィックスと IPv4 変換されたアドレスの間でアドレス永続変換を実行します。この構成は、二重変換シナリオ (464XLAT) のプロバイダー側変換プログラム (PLAT) で使用して、IPv4 サービスを IPv6 のみのネットワーク上で動作させることができます。
構成
CLIクイック構成
この例を迅速に設定するには、以下のコマンドをコピーして、テキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルで CLI にコピー アンド ペーストして、設定モードから commit を入力します。
set security nat source pool NAT64 address 198.51.100.240/32 to 198.51.100.254/32 set security nat source pool NAT64 address-persistent subscriber ipv6-prefix-length 64 set security nat source rule-set RS1 from zone trust set security nat source rule-set RS1 to zone untrust set security nat source rule-set RS1 rule R1 match source-address 2001:db8::/32 set security nat source rule-set RS1 rule R1 match destination-address 198.51.100.198/32 set security nat source rule-set RS1 rule R1 then source-nat pool NAT64
プロシージャ
手順
次の例では、設定階層のさまざまなレベルに移動する必要があります。その方法の詳細については、 設定モードでのCLIエディターの使用を参照してください。
送信元 NAT プールを作成します。
[edit security nat source] user@host# set pool NAT64 address 198.51.100.240/32 to 198.51.100.254/32
送信元 NAT プールの IPv6 プレフィックス長を指定します。
[edit security nat source] user@host# set pool NAT64 address-persistent subscriber ipv6-prefix-length 64
ルール・セットを作成します。
[edit security nat source] user@host# set rule-set RS1 from zone trust user@host# set rule-set RS1 to zone untrust
ルールに一致します。
[edit security nat source] user@host# set rule-set RS1 rule R1 match source-address 2001:db8::/32 user@host# set rule-set RS1 rule R1 match destination-address 198.51.100.198/32
ルールが一致したときに実行するアクションを指定します。
[edit security nat source] user@host# set security nat source rule-set RS1 rule R1 then source-nat pool NAT64
業績
設定モードから、 show security nat コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。
[edit]
user@host# show security nat
source {
pool NAT64 {
address {
198.51.100.240/32 to 198.51.100.254/32;
}
address-persistent subscriber ipv6-prefix-length 64;
}
rule-set RS1 {
from zone trust;
to zone untrust;
rule R1 {
match {
source-address 2001:db8::/32;
destination-address 198.51.100.198/32;
}
then {
source-nat {
pool {
NAT64;
}
}
}
}
}
}
デバイスの設定が完了したら、設定モードから commit を入力します。
例:インターフェイス NAT による永続的 NAT の設定によるネットワーク設定のサポート
送信元 NAT ルールには、どの永続 的 NAT タイプも設定できます。この例では、インターフェイス IP アドレスに永続的 NAT を適用する方法と、インターフェイス IP アドレスを NAT IP アドレスとして使用して特定の内部ホストに対して永続的 NAT を実行する方法を示します。また、ホストの永続的なアドレス ポート マッピング の動作と永続的な NAT フィルターの動作を維持する方法も示します。インターフェイス NAT のポート オーバーロードを無効にする必要があります。
必要条件
この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。
-
SRXシリーズファイアウォール x 1
-
4枚入
開始する前に、以下を実行します。
-
永続的NATの概念を理解します。 永続的 NAT および NAT64 設定の概要を参照してください。
概要
キャリアグレードNAT(CGN)ネットワーク展開では、インターフェイスIPアドレスをNATアドレスとして設定し、永続的なネットワークアドレス変換を実行できます。このようにして、内部ホストは、内部から外部に開始される発信トラフィックによって、1つの送信元NATマッピング関係を作成できます。その後、外部ホストは、共有NATマッピング関係を介してこのインターフェイスNATアドレスにトラフィックを送信して、この内部ホストにトラフィックを送り返します。
この例では、まず、インターフェイス NAT ルール セット int1 がインターフェイス ge-0/0/1 からインターフェイス ge-0/0/2 へのトラフィックを照合するように設定し、次に特定の送信元アドレスと宛先アドレスを照合するように NAT ルール in1 を設定して永続的 NAT を実行します。インターフェイスNATの実行時に、 any remote host 永続的NATタイプを設定します。
送信元アドレス 192.0.2.0/24(内線電話機)および宛先アドレス 198.51.100.0/24( STUN サーバ、 SIP プロキシ サーバ、外線電話機を含む)のパケットの場合、 any remote host 永続的 NAT タイプでインターフェイス NAT を設定します。次に、インターフェイス NAT のポート オーバーロードを無効にします。
次に、任意のリモートホスト永続 NAT タイプについて、外部ネットワーク (外部ゾーン) から内部ネットワーク (内部ゾーン) への永続 NAT トラフィックを許可するセキュリティ ポリシーを構成します。
位相幾何学
図 3 は、インターフェイス永続 NAT トポロジーを示しています。
表 2 は、この例で設定されたパラメーターを示しています。
| パラメーター |
形容 |
|---|---|
| 外部ゾーン |
外部ネットワーク |
| 内部ゾーン |
内部ネットワーク |
| External_phones2 |
外部ネットワークの Phone2 アドレス |
| Internal_phone1 |
内部ネットワークの Phone1 アドレス |
| SIP_proxyサーバー |
外部ネットワークのSIPプロキシー・サーバー・アドレス |
| STUNサーバー |
外部ネットワークのSTUNサーバーアドレス |
| サブネット 198.51.100.1/32 |
IP アドレス |
| サブネット 192.0.2.2/32 |
元 IP アドレス |
| ge-0/0/1 と ge-0/0/2 |
トラフィック方向の NAT インターフェイス |
構成
プロシージャ
CLIクイック構成
この例を迅速に設定するには、以下のコマンドをコピーして、テキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルで CLI にコピー アンド ペーストして、設定モードから commit を入力します。
set security nat source rule-set int1 from interface ge-0/0/1.0
set security nat source rule-set int1 to interface ge-0/0/2.0
set security nat source rule-set int1 rule in1 match source-address 192.0.2.0/24
set security nat source rule-set int1 rule in1 match destination-address 198.51.100.0/24
set security nat source rule-set int1 rule in1 then source-nat interface persistent-nat permit any-remote-host
set security nat source interface port-overloading off
set security policies from-zone internal to-zone external policy stun_traffic match source-address internal_phones destination-address stun_server application junos-stun
set security policies from-zone internal to-zone external policy sip_proxy_traffic match source-address internal_phones destination-address sip_proxy_server application junos-sip
set security policies from-zone internal to-zone external policy sip_traffic match source-address internal_phones destination-address external_phones application junos-persistent-nat
set security policies from-zone internal to-zone external policy sip_traffic then permit
set security policies from-zone internal to-zone external policy stun_traffic then permit
set security policies from-zone internal to-zone external policy sip_proxy_traffic then permit
手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。その方法の詳細については、CLIユーザー ガイドの 設定モードにおけるCLIエディターの使用を参照してください。
インターフェイスNAT ルールを設定するには、次のように設定します。
-
インターフェイス NAT の永続 NAT ルールを作成します。
[edit security nat source rule-set int1] user@host# set from interface ge-0/0/1.0 user@host# set to interface ge-0/0/2.0 user@host# set rule in1 match source-address 192.0.2.0/24 user@host# set rule in1 match destination-address 198.51.100.0/24 user@host# set rule in1 then source-nat interface persistent-nat permit any-remote-host -
インターフェイスNATのポートオーバーロードを無効にします。
[edit security] user@host# set nat source interface port-overloading off -
内部 SIP 電話機から外部 STUN サーバへの STUN トラフィックを許可するセキュリティ ポリシーを設定します。
[edit security policies] user@host# set from-zone internal to-zone external policy stun_traffic match source-address internal_phones destination-address stun_server application junos-stun -
内部 SIP 電話機から外部 SIP プロキシ サーバへの SIP プロキシ トラフィックを許可するセキュリティ ポリシーを設定します。
[edit security policies] user@host# set from-zone internal to-zone external policy sip_proxy_traffic match source-address internal_phones destination-address sip_proxy_server application junos-sip -
外部 SIP 電話機から内部 SIP 電話機への SIP トラフィックを許可するセキュリティ ポリシーを設定します。
[edit security policies] user@host# set from-zone internal to-zone external policy sip_traffic match source-address internal_phones destination-address external_phones application junos-persistent-nat user@host# set from-zone internal to-zone external policy sip_traffic then permit user@host#set from-zone internal to-zone external policy stun_traffic then permit user@host#set from-zone internal to-zone external policy sip_proxy_traffic then permit
業績
設定モードから、 show security nat コマンドと show security policies コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。
[edit]
user@host# show security nat
source {
interface {
port-overloading off;
}
rule-set int1 {
from interface ge-0/0/1.0;
to interface ge-0/0/2.0;
rule in1 {
match {
source-address 192.0.2.0/24;
destination-address 198.51.100.0/24;
}
then {
source-nat {
interface {
persistent-nat {
permit any-remote-host;
}
}
}
}
}
}
}
[edit]
user@host# show security policies
from-zone internal to-zone external {
policy stun_traffic {
match {
source-address internal_phones;
destination-address stun_server;
application junos-stun;
}
then {
permit;
}
}
policy sip_proxy_traffic {
match {
source-address internal_phones;
destination-address sip_proxy_server;
application junos-sip;
}
then {
permit;
}
}
policy sip_traffic {
match {
source-address internal_phones;
destination-address external_phones;
application junos-persistent-nat;
}
then {
permit;
}
}
}
デバイスの設定が完了したら、設定モードから commit を入力します。
検証
設定が正常に機能していることを確認します。
ルールが一致し、使用されていることの確認
目的
すべてのルールが一致し、使用されていることを確認します。
アクション
動作モードから、 show security nat source persistent-nat-table all コマンドを入力します。
user@host>show security nat source persistent-nat-table all
Internal Reflective Source Type Left_time/Curr_Sess_Num/ Source
In_IP In_Port I_Proto Ref_IP Ref_Port R_Proto NAT Pool Conf_time Max_Sess_Num NAT Rule
192.0.2.12 17012 udp 198.51.100.1 28153 udp interface any-remote-host 3528/3600 -/- in1
192.0.2.12 7078 udp 198.51.100.1 6133 udp interface any-remote-host -/300 1/30 in1
意味
出力には、永続的な NAT 情報の概要が表示されます。
NAT トラフィック セッションが確立されていることの確認
目的
デバイスでセッションが確立されていることを確認します。
アクション
動作モードから show security flow session コマンドを入力します。
user@host>show security flow session Session ID: 6992, Policy name: sip_proxy_traffic/5, Timeout: 16, Valid In: 192.0.2.12/17012 --> 198.51.100.45/5060;udp, If: ge-0/0/1.0, Pkts: 4, Bytes: 1850 Out: 198.51.100.45/5060 --> 198.51.100.1/28153;udp, If: ge-0/0/2.0, Pkts: 5, Bytes: 2258 Session ID: 7382, Policy name: stun_traffic/4, Timeout: 16, Valid In: 192.0.2.12/7078 --> 198.51.100.49/3478;udp, If: ge-0/0/1.0, Pkts: 20, Bytes: 1040 Out: 198.51.100.49/3478 --> 198.51.100.1/6133;udp, If: ge-0/0/2.0, Pkts: 0, Bytes: 0
意味
show security flow sessionコマンドは、デバイス上のアクティブなセッションと、各セッションに関連付けられたセキュリティポリシーを表示します。この出力は、198.51.100.45のパブリックホストを宛先とするプライベートソースアドレス192.0.2.12を使用してデバイスに入るトラフィックを示しています。このフローからのリターン トラフィックは、変換されたパブリック アドレス 198.51.100.1 に移動します。
-
Session ID—セッションを識別する番号。このIDを使用して、ポリシー名や出入りするパケット数など、セッションに関する詳細情報を取得します。
-
sip_proxy_traffic — 内部 SIP 電話機から外部 SIP プロキシ サーバへの SIP トラフィックを許可したポリシー名。
-
In - 受信フロー(送信元と宛先の IP アドレスと、それぞれの送信元と宛先のポート番号。セッションはUDPで、このセッションの送信元インターフェイスはge-0/0/1.0です。
-
Out - リバースフロー(送信元と宛先の IP アドレスと、それぞれの送信元と宛先のポート番号。セッションはUDPで、このセッションの宛先インターフェイスはge-0/0/2.0)です。
-
stun_traffic:内部 SIP 電話機から外部 STUN サーバへの STUN トラフィックを許可したポリシー名。
例:IPv6 クライアントのアドレス依存フィルタリングの設定
この例では、NAT64 を使用して IPv6 クライアントにアドレス依存フィルタリングを設定する方法を示します。
必要条件
開始する前に、以下を実行します。
デバイスで IPv6 が有効になっていることを確認します。
既存の NAT ルールとプール設定が新しいものと競合しないことを確認します。
概要
この例では、NAT64 を使用して、IPv6 内部ホストから IPv4 外部ホストへ、および IPv4 外部ホストから IPv4 内部ホストへパケットを送信します。
位相幾何学
構成
プロシージャ
CLIクイック構成
この例を迅速に設定するには、以下のコマンドをコピーして、テキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルで CLI にコピー アンド ペーストして、設定モードから commit を入力します。
set security nat static rule-set test_rs from interface ge-0/0/1 set security nat static rule-set test_rs rule test_rule match destination-address 2001:db8::/128 set security nat static rule-set test_rs rule test_rule then static-nat prefix 10.2.2.15/32 set security nat source pool myipv4 address 203.0.113.2 set security nat source rule-set myipv4_rs from interface ge-0/0/1 set security nat source rule-set myipv4_rs to interface ge-0/0/2 set security nat source rule-set myipv4_rs rule ipv4_rule match source-address 2001:db8::/96 set security nat source rule-set myipv4_rs rule ipv4_rule match destination-address 10.2.2.15 set security nat source rule-set myipv4_rs rule ipv4_rule then source-nat pool myipv4 set security nat source rule-set myipv4_rs rule ipv4_rule then source-nat pool persistent-nat permit target-host
手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。その方法の詳細については、 設定モードでのCLIエディターの使用を参照してください。
IPv6 クライアントのアドレス依存フィルタリングを設定するには、次の手順に従います。
NAT64 のルールのセットを作成します。
[edit security nat static] user@host# set rule-set test_rs from interface ge-0/0/1
ルールに一致します。
[edit security nat static] user@host# set rule-set test_rs rule test_rule match destination-address 2001:db8::/128
ルールが一致したときに実行するアクションを指定します。
[edit security nat static] user@host# set rule-set test_rs rule test_rule then static-nat prefix 10.2.2.15/32
送信元アドレスプールを定義し、そのアドレスをプールに追加します。
[edit security nat] user@host# set source pool myipv4 address 203.0.113.2
NAT64 用に別のルール セットを作成します。
[edit security nat] user@host# set source rule-set myipv4_rs from interface ge-0/0/1
ルールを送信元アドレスと照合します。
[edit security nat] user@host# set source rule-set myipv4_rs rule ipv4_rule match source-address 2001:db8::/96
ルールを宛先アドレスと照合します。
[edit security nat] user@host# set source rule-set myipv4_rs rule ipv4_rule match destination-address 10.2.2.15
ルールが一致したときに実行するアクションを指定します。
[edit security nat] user@host# set source rule-set myipv4_rs rule ipv4_rule then source-nat pool myipv4
永続的NATを設定します。
[edit security nat] user@host# set source rule-set myipv4_rs rule ipv4_rule then source-nat pool persistent-nat permit target-host
業績
設定モードから、 show nat source コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。
[edit security]
user@host#show nat source
pool myipv4 {
address {
203.0.113.2/32;
}
}
rule-set test_rs {
rule test_rule {
match {
destination-address 2001:db8::/128;
}
}
}
rule-set myipv4_rs {
from interface ge-0/0/1.0;
to interface ge-0/0/2.0;
rule ipv4_rule {
match {
source-address 2001:db8::/96;
destination-address 10.2.2.15/32;
}
then {
source-nat {
pool {
myipv4;
persistent-nat {
permit target-host;
}
}
}
}
}
}
}
デバイスの設定が完了したら、設定モードから commit を入力します。
検証
設定が正常に機能していることを確認します。
設定が有効で動作していることの確認
目的
設定が有効で機能していることを確認します。
アクション
動作モードから、以下のコマンドを入力します。
show security nat static rule test_ruleshow security nat source rule ipv4_ruleshow security nat source pool myipv4
例:IPv6 クライアントに対するエンドポイント非依存フィルタリングの設定
この例では、NAT64 を使用して、IPv6 クライアントに対してエンドポイントに依存しないフィルタリングを構成する方法を示します。
必要条件
開始する前に、以下を実行します。
デバイスで IPv6 が有効になっていることを確認します
既存のNATルールとプール設定が新しいルールと競合しないことを確認します。
概要
この例では、NAT64 を使用して、IPv6 内部ホストから IPv4 外部ホストへ、および IPv4 外部ホストから IPv4 内部ホストへパケットを送信します。
位相幾何学
構成
プロシージャ
CLIクイック構成
この例を迅速に設定するには、以下のコマンドをコピーして、テキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルで CLI にコピー アンド ペーストして、設定モードから commit を入力します。
set security nat static rule-set test_rs from interface ge-0/0/1 set security nat static rule-set test_rs rule test_rule match destination-address 2001:db8::/128 set security nat static rule-set test_rs rule test_rule then static-nat prefix 10.2.2.15/32 set security nat source pool myipv4 address 203.0.113.2 set security nat source rule-set myipv4_rs from interface ge-0/0/1 set security nat source rule-set myipv4_rs to interface ge-0/0/2 set security nat source rule-set myipv4_rs rule ipv4_rule match source-address 2001:db8::/96 set security nat source rule-set myipv4_rs rule ipv4_rule match destination-address 10.2.2.15 set security nat source rule-set myipv4_rs rule ipv4_rule then source-nat pool myipv4 set security nat source rule-set myipv4_rs rule ipv4_rule then source-nat pool persistent-nat permit any-remote-host
手順
次の例では、設定階層のいくつかのレベルに移動する必要があります。その方法の詳細については、 設定モードでのCLIエディターの使用を参照してください。
IPv6 クライアントに対してエンドポイントに依存しないフィルタリングを構成するには:
NAT64 のルールのセットを作成します。
[edit security nat static] user@host# set rule-set test_rs from interface ge-0/0/1
ルールに一致します。
[edit security nat static] user@host# set rule-set test_rs rule test_rule match destination-address 2001:db8::/128
ルールが一致したときに実行するアクションを指定します。
[edit security nat static] user@host# set rule-set test_rs rule test_rule then static-nat prefix 10.2.2.15/32
送信元アドレスプールを定義し、そのアドレスをプールに追加します。
[edit security nat] user@host# set source pool myipv4 address 203.0.113.2
NAT64 用に別のルール セットを作成します。
[edit security nat] user@host# set source rule-set myipv4_rs from interface ge-0/0/1
ルールを送信元アドレスと照合します。
[edit security nat] user@host# set source rule-set myipv4_rs rule ipv4_rule match source-address 2001:db8::/96
ルールを宛先アドレスと照合します。
[edit security nat] user@host# set source rule-set myipv4_rs rule ipv4_rule match destination-address 10.2.2.15
ルールが一致したときに実行するアクションを指定します。
[edit security nat] user@host# set source rule-set myipv4_rs rule ipv4_rule then source-nat pool myipv4
永続的NATを設定します。
[edit security nat] user@host# set source rule-set myipv4_rs rule ipv4_rule then source-nat pool persistent-nat permit any-remote-host
業績
設定モードから、 show security nat コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。
[edit security]
user@host#show security nat
source {
pool myipv6_prefix {
address {
2001:db8::/64;
}
}
pool myipv4 {
address {
203.0.113.2/32;
}
}
rule-set myipv6_rs {
from interface ge-0/0/1.0;
to interface ge-0/0/2.0;
rule ipv6_rule {
match {
source-address 10.1.1.0/30;
destination-address 2001:db8::2/96;
}
then {
source-nat {
pool {
myipv6_prefix;
}
}
}
}
}
rule-set myipv4_rs {
from interface ge-0/0/1.0;
to interface ge-0/0/2.0;
rule ipv4_rule {
match {
source-address 2001:db8::/96;
destination-address 10.2.2.15/32;
}
then {
source-nat {
pool {
myipv4;
persistent-nat {
permit target-host;
}
}
}
}
}
}
}
static {
rule-set test_rs {
from interface ge-0/0/1.0;
rule test_rule {
match {
destination-address 2001:db8::/128;
}
then {
static-nat {
prefix {
10.2.2.15/32;
}
}
}
}
}
}
デバイスの設定が完了したら、設定モードから commit を入力します。
検証
設定が正常に機能していることを確認します。
設定が有効で機能していることの確認
目的
設定が有効で機能していることを確認します。
アクション
動作モードから、以下のコマンドを入力します。
show security nat static rule test_ruleshow security nat source rule ipv4_ruleshow security nat source pool myipv4
例:永続的な NAT バインディングの最大数の設定
この例では、永続 NAT 容量を増やす方法を示しています。
必要条件
開始する前に、 永続的 NAT および NAT64 についてを参照してください。
概要
この例では、永続的 NAT 容量の最大化オプションを有効にします。このオプションは、SRX1K-NPC-SPC-1-10-40を搭載したSRX1400デバイス、SRX3K-SPC-1-10-40を搭載したSRX3000シリーズデバイス、およびSRX5K-SPC-2-10-40SPCおよびSRX5K-SPC3を搭載したSRX5000シリーズデバイスのサービス処理カード(SPC)でのみサポートされています。SRX5K-SPC-2-10-40SPCおよびSPC3を搭載したSRX5000シリーズデバイスでは、最大セッション数を減らす代わりに、永続的な NAT バインディング数が最大化されることに注意してください。
このオプションを有効にするには、サポートされている中央ポイントの最大バインド容量を最大 2M まで中心ポイント セッション容量の約 1/8 に増やし、サポートされている SPU 最大バインド容量を各 SPU セッション容量の約 1/4 に増やすことができます。したがって、フロー セッション容量は、CP と各 SPU の両方で 1/4 減少します。
デフォルトでは、SRX5400、SRX5600、またはSRX5800デバイスの中央点とSPUの両方の永続的な NAT バインディング容量は64,000です。この例では、セッション容量を中央ポイントで最大 20,000,000 に、最大セッション設定の各 SPU で最大 1,100,000 を有効にします。 maximize-persistent-nat-capacity オプションを有効にした場合、4 GB のメモリを搭載した SRX5400、SRX5600、または SRX5800 デバイスで、中央ポイントで最大 2M の永続的 NAT バインディングと、各 SPU で 275,000 のバインディングをサポートできます。
構成
プロシージャ
手順
永続的な NAT 容量を増やすには、次のようにします。
「永続 NAT 容量の最大化」オプションを設定します。
[edit] user@host# set security forwarding-process application-services maximize-persistent-nat-capacity
デバイスの設定が完了したら、設定をコミットします。
[edit] user@host# commit
システムを動作モードから再起動します。
[edit] user@host# request system reboot
永続的 NAT 容量の最大化モードに切り替える場合、または通常モードに戻す場合は、デバイスを再起動する必要があります。
デバイスを通常モードに戻すには、永続的 NAT 容量の最大化モード設定を削除します。
[edit] user@host# delete security forwarding-process application-services maximize-persistent-nat-capacity
永続的な NAT ヘアピニングの概要
トラフィックが 2 つのホスト間で送信される場合、トラフィックの送信元ホストは、パブリック IP アドレスによってのみ宛先ホストを認識できます。実際には、宛先ホストは送信元ホストと同じプライベート アドレス空間に存在する可能性があります。ヘアピニングとは、トラフィックを元の方向に戻すプロセスであり、プライベートサブネットワーク内の宛先ホストにトラフィックを届ける方法です。
一般に、サブネットワーク内の送信元ホストは、パブリック IP アドレスによってのみ宛先ホストを識別するため、トラフィックが同じサブネットワーク内の宛先ホスト宛てであることを認識できない場合があります。NAT は IP パケットを分析し、パケットを正しいホストにルーティングします。
内部ネットワーク上の 2 つのホストが NAT デバイス上のバインディングを使用して相互に通信する場合は、NAT ヘアピニングのサポートが必要です。この場合、NATデバイスは内部ネットワークからパケットを受信し、内部ネットワークに返送します。ヘアピニングがサポートされていない場合、パケットの転送は失敗し、破棄されます。
ヘアピニングにより、プライベート ネットワーク上の 2 つのエンドポイント (ホスト 1 とホスト 2) は、互いの外部 IP アドレスとポートのみを使用する場合でも通信できます。ホスト1がホスト3にトラフィックを送信すると、ホスト1の内部送信元IPアドレスとポート間のNATバインディングが、その外部IPアドレスとポートとともにNATテーブルに関連付けられます。ホスト2がホスト3にトラフィックを送信する場合も同じことが起こります。このようにして、ホスト1とホスト2が通信したいときに、互いの外部IPアドレスを識別できます。
例えば、ホスト1がホスト2と通信する場合、NAT(ヘアピニングサポート付き)を使用して、ホスト2の外部アドレスを含むパケットをホスト2の内部アドレスにルーティングします。
図 4 では、以下のパラメーターが使用されています。
ホスト1のIPアドレス -
10.10.10.2/24ホスト2のIPアドレス -
10.10.10.10/24ゾーン内 IP アドレス -
10.10.10.254/24ホスト3のIPアドレス -
198.51.100.2/24ゾーン間 IP アドレス -
198.51.100.254/24ホスト 1 とホスト 2 はゾーン
reht0zにあり、ホスト 3 はゾーンreth1zにあります
表 3 は、この例で使用されるバインディング テーブルを示しています。
元の元 IP アドレス |
変換された元 IP アドレス |
|---|---|
10.10.10.2/24 から 10.10.10.11/24 |
192.0.2.1/32 から 192.0.2.10/32 |
永続的 NAT ヘアピニングは、すべてのリモートホスト永続的 NAT タイプにのみ適用されます。ヘアピニングを許可するには、同じゾーン内のエンドポイント間のトラフィックを許可するセキュリティ ポリシーを構成する必要があります。実際には、2 つのエンドポイントは 2 つの異なるゾーンに配置でき、2 つのホストのいずれかがピアのパブリック アドレスのみを参照できます。NAT ヘアピニング動作は、ターゲットホスト永続 NAT およびターゲットホストポート永続 NAT ではサポートされていません。リモートホストの永続 NAT のみが、ヘアピニング動作をサポートします。
例:アドレス シフトを伴う送信元 NAT プールを使用した永続的 NAT ヘアピニングの設定
この例では、永続的な NAT ヘアピニングを設定する方法を示します。
必要条件
開始する前に、以下を実行します。
デバイス上のネットワークインターフェイスを設定します。 セキュリティデバイス向けインターフェイスユーザーガイドを参照してください。
セキュリティ ゾーンを作成し、インターフェイスを割り当てます。 セキュリティゾーンとはを参照してください。
概要
ヘアピニングにより、プライベートネットワークからのパケットをパブリックネットワークに渡すのではなく、変換してプライベートネットワークにループバックすることができます。ヘアピニング機能により、NATテーブル内の対応するレコードを使用して、パケットがローカルネットワーク内のホストにアドレス指定されていることを認識できます。次に、IP アドレスを変換し、パケットをローカルネットワークに送り返します(ポートマッピングの場合も同様です)。これにより、2 つのホスト間のトラフィックが正しく動作するようになります。
位相幾何学
ヘアピニングにより、プライベート ネットワーク上の 2 つのエンドポイント (ホスト 1 とホスト 2) は、互いの外部 IP アドレスとポートのみを使用する場合でも通信できます。これについては、 図 5 で説明します。
ホスト1がホスト3にトラフィックを送信すると、ホスト1の内部送信元IPアドレスとポート間のNATバインディングが、その外部IPアドレスとポートとともにNATテーブルに関連付けられます。ホスト2がホスト3にトラフィックを送信する場合も同じことが起こります。このようにして、ホスト1とホスト2が通信したいときに、互いの外部IPアドレスを識別できます。
例えば、ホスト1がホスト2と通信する場合、NAT(ヘアピニングサポート付き)を使用して、ホスト2の外部アドレスを含むパケットをホスト2の内部アドレスにルーティングします。
図 5 では、以下のパラメーターが使用されています。
ホスト1のIPアドレス -
10.10.10.2/24ホスト2のIPアドレス -
10.10.10.10/24ゾーン内 IP アドレス -
10.10.10.254/24ホスト3のIPアドレス -
198.51.100.2/24ゾーン間 IP アドレス -
198.51.100.254/24ホスト 1 とホスト 2 はゾーン
reht0zにあり、ホスト 3 はゾーンreth1zにあります
表 4 は、この例で使用されるバインディング テーブルを示しています。
元の元 IP アドレス |
変換された元 IP アドレス |
|---|---|
10.10.10.2/24 から 10.10.10.11/24 |
192.0.2.1/32 から 192.0.2.10/32 |
構成
プロシージャ
手順
永続的な NAT ヘアピニングを設定するには:
インターフェイスを設定します。
[edit] user@host# set interfaces ge-11/0/0 unit 0 family inet address 10.10.10.254/24 user@host# set interfaces ge-11/0/1 unit 0 family inet address 198.51.100.254/24
ゾーン(reth0zとreth1z)を作成します。
[edit] user@host# set security zones security-zone reth0z host-inbound-traffic system-services all user@host# set security zones security-zone reth0z host-inbound-traffic protocols all user@host# set security zones security-zone reth0z interfaces ge-11/0/0.0 user@host# set security zones security-zone reth1z host-inbound-traffic system-services all user@host# set security zones security-zone reth1z host-inbound-traffic protocols all user@host# set security zones security-zone reth1z interfaces ge-11/0/1.0
ゾーンreth0zおよびreth1zのポリシーを作成します。
[edit] user@host# set security address-book global address subnet10 10.10.10.0/24 user@host# set security address-book global address subnet20 198.51.100.0/24 user@host# set security policies from-zone reth0z to-zone reth1z policy p1 match source-address subnet10 user@host# set security policies from-zone reth0z to-zone reth1z policy p1 match destination-address subnet20 user@host# set security policies from-zone reth0z to-zone reth1z policy p1 match application any user@host# set security policies from-zone reth0z to-zone reth1z policy p1 then permit user@host# set security policies default-policy deny-all
同じゾーン ポリシーを追加して、永続的な NAT ヘアピニングを実行します。
user@host# set security policies from-zone reth0z to-zone reth0z policy p2 match source-address subnet10 user@host# set security policies from-zone reth0z to-zone reth0z policy p2 match destination-address subnet10 user@host# set security policies from-zone reth0z to-zone reth0z policy p2 match application any user@host# set security policies from-zone reth0z to-zone reth0z policy p2 then permit
ホスト 1 とホスト 2 のソース NAT プール (src1) を作成します。
[edit] user@host# set security nat source pool src1 address 192.0.2.1/32 to 192.0.2.10/32
ホスト 1 とホスト 2 の元の送信元 IP アドレス範囲の先頭(src1)を指定します。
[edit] user@host# set security nat source pool src1 host-address-base 10.10.10.2/24
送信元 NAT ルール セット r1 を設定します。
[edit] user@host# set security nat source rule-set r1 from zone reth0z user@host# set security nat source rule-set r1 to zone reth1z user@host# set security nat source rule-set r1 to zone reth0z user@host# set security nat source rule-set r1 rule rule1 match source-address 10.10.10.0/24 user@host# set security nat source rule-set r1 rule rule1 match destination-address 10.10.10.0/24 user@host# set security nat source rule-set r1 rule rule1 match destination-address 198.51.100.0/24 user@host# set security nat source rule-set r1 rule rule1 then source-nat pool src1 user@host# set security nat source rule-set r1 rule rule1 then source-nat pool persistent-nat permit any-remote-host user@host# set security nat source rule-set r1 rule rule1 then source-nat pool persistent-nat inactivity-timeout 900 user@host# set security nat source rule-set r1 rule rule1 then source-nat pool persistent-nat max-session-number 20
業績
設定モードから、 show security nat コマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の設定手順を繰り返して設定を修正します。
[edit]
user@host# show security nat
source {
pool src1 {
address {
192.0.2.1/32 to 192.0.2.10/32;
}
host-address-base 10.10.10.2/24;
}
rule-set r1 {
from zone reth0z;
to zone [ reth0z reth1z ];
rule rule1 {
match {
source-address 10.10.10.0/24;
destination-address [10.10.10.0/24 198.51.100.0/24];
}
then {
source-nat {
pool {
src1;
persistent-nat {
permit any-remote-host;
inactivity-timeout 900;
max-session-number 20;
}
}
}
}
}
}
}
デバイスの設定が完了したら、設定モードから commit を入力します。
検証
バインディング 1 を作成するホスト間で送信されたトラフィック
目的
バインディング 1 を作成するホスト(ホスト 1 とホスト 3)間から送信されたトラフィックを確認します。
アクション
sendip -d r28 -p ipv4 -iv 4 -is 10.10.10.2 -id 198.51.100.2 -p udp -us 69 -ud 69 198.51.100.2
Source-IP: 10.10.10.2
Source-port: 69
Dst-IP: 198.51.100.2
Dst-port: 69
Binding1 is below:
user@host>show security nat source persistent-nat-table all
Internal Reflective Source Type Left_time/ Curr_Sess_Num/ Source
In_IP In_Port Ref_IP Ref_Port NAT Pool Conf_time Max_Sess_Num NAT Rule
10.10.10.2 69 192.0.2.1 69 src1 any-remote-host -/900 1/20 rule1
バインディング 2 を作成するホスト間で送信されるトラフィック
目的
バインディング2を作成するホスト間(ホスト2とホスト3)から送信されたトラフィックを確認します。
アクション
sendip -d r28 -p ipv4 -iv 4 -is 10.10.10.10 -id 198.51.100.2 -p udp -us 69 -ud 69 198.51.100.2
Source-IP: 10.10.10.10
Source-port: 69
Dst-IP: 198.51.100.2
Dst-port: 69
Binding2 is below:
user@host>show security nat source persistent-nat-table all
Internal Reflective Source Type Left_time/ Curr_Sess_Num/ Source
In_IP In_Port Ref_IP Ref_Port NAT Pool Conf_time Max_Sess_Num NAT Rule
10.10.10.2 69 192.0.2.1 69 src1 any-remote-host -/900 1/20 rule1
10.10.10.10 69 192.0.2.9 69 src1 any-remote-host -/900 1/20 rule1
2 つのホスト間で送信されるトラフィック
目的
ホスト1からホスト2に送信されたトラフィックを確認します。
アクション
user@host>show security flow session
sendip -d r28 -p ipv4 -iv 4 -is 10.10.10.2 -id 192.0.2.9 -p udp -us 69 -ud 69 192.0.2.9
Session ID: 100007628, Policy name: default-policy/2, Timeout: 52, Valid
In: 10.10.10.2/69 --> 192.0.2.9/69;udp, If: ge-0/0/0.0, Pkts: 2, Bytes: 112
Out: 10.10.10.10/69 --> 192.0.2.1/69;udp, If: ge-0/0/0.0, Pkts: 0, Bytes: 0
Total sessions: 1
プラットフォーム固有の永続的な NAT バインディングのサポート動作
Feature Explorerを使用して、特定の機能に対するプラットフォームとリリースのサポートを確認します。
次の表を使用して、プラットフォームのプラットフォーム固有の動作を確認します。
| プラットフォーム | の違い |
|---|---|
| SRX シリーズ |
|