ネットワークアドレス変換の概要
Junos Address Aware ネットワークアドレッシングの概要
Junos Address Aware ネットワークアドレッシングは、IP アドレスを変換するための NAT(ネットワークアドレス変換)機能を提供します。IANA Assigned Numbers Authority(IANA)は、2011年初頭にIPv4アドレスの最後の大きなブロックを割り当てたため、これは特に重要です。
このトピックは、以下のセクションで構成されています。
- NAT の利点
- NATの概念とファシリティの概要
- IPv4 から IPv4 への基本 NAT
- 決定論的NAPT
- 静的宛先 NAT
- Twice NAT
- IPv6 NAT
- アプリケーションレベルゲートウェイ(ALG)のサポート
- DNS ALG を使用した NAT-PT
- ダイナミック NAT
- ステートフルNAT64
- 464XLAT
- デュアルスタックライト
- Junos Address Aware ネットワークアドレッシングラインカードのサポート
NAT の利点
NATは、次のような幅広いネットワーク目標をサポートします。
プライベートネットワーク上の一連のホストアドレスをパブリックアドレスのプールの背後に隠すことで、ネットワーク攻撃の直接の標的からホストアドレスを保護し、IPv4アドレスの枯渇を回避する
ビジネス要件に基づいてIPv6に移行し、加入者とサービスの継続的な成長を確保するためのツールを提供
IPv4 と IPv6 の共存の提供
NATの概念とファシリティの概要
Junos Address Aware ネットワークアドレッシングは、IPv4およびIPv6ネットワーク向けにキャリアグレードのNAT(CGN)を提供し、異なるタイプのネットワーク間でのトラフィックの通過を容易にします。
Junos Address Aware ネットワークアドレッシングは、さまざまなNAT変換オプションをサポートしています。
静的ソース変換 - プライベートネットワークを非表示にすることができます。これは、元のアドレスと変換されたアドレス間の 1 対 1 のマッピングを特徴としています。マッピングは静的に設定されます。詳細については、 基本的な NAT を参照してください。
確定的NAPT:元の送信元IPv4またはIPv6アドレスとポートが常に同じNAT後のIPv4アドレスとポート範囲にマッピングされるようにすることで、アドレス変換のロギングの必要性をなくします。
動的ソース変換:動的アドレスのみのソース変換と ネットワーク アドレス ポート変換 (NAPT)の 2 つのオプションがあります。
静的宛先変換 - 選択したプライベート サーバーにアクセス可能にします。これは、変換されたアドレスと宛先アドレス間の 1 対 1 のマッピングを特徴としています。マッピングは静的に設定されます。詳細については、 静的宛先 NATを参照してください。
プロトコル変換 - IPv4 または IPv6 の境界を越えてセッションを開始する際に、静的または動的にプールからアドレスを割り当てることができます。詳細については、「 NAT-PT、DNS ALG を使用した NAT-PT、およびステートフル NAT64 の構成」を参照してください。
ソフトワイヤを使用したIPv4パケットからIPv6パケットへのカプセル化—パケットをソフトワイヤを介してキャリアグレードのNATエンドポイントに送信し、そこで元の送信元アドレスを隠すために送信元NAT処理が行われます。詳細については、「 IPv4 から IPv6 への移行のためのサービスのトンネリングの概要」を参照してください。
Junos Address Aware ネットワークアドレッシングは、スタンダードリファレンスの「サポートされているNATおよびSIP標準」に示されているように、IETF RFCおよびインターネットドラフトに記述されたNAT機能をサポートします。
すべてのインターフェイス タイプでサポートされているわけではありません。サポートされているインターフェースで利用できる機能の一覧については、インターフェース カードのタイプ別Junos Address AwareのキャリアグレードNAT機能比較を参照してください。
IPv4 から IPv4 への基本 NAT
基本ネットワークアドレス変換(Basic ネットワークアドレス変換)は、IPアドレスをあるグループから別のグループに、エンドユーザーに対して透過的にマッピングする方法です。ネットワーク アドレス ポート変換(NAPT)は、多数のネットワーク アドレスとその TCP/UDP ポートを 1 つのネットワーク アドレスとその TCP/UDP ポートに変換する方法です。これら 2 つの操作は従来 NAT と呼ばれ、プライベート アドレスを持つレルムを、グローバルに一意の登録済みアドレスを持つ外部レルムに接続するメカニズムを提供します。
RFC 3022、 Traditional IP Network Address Translatorで規定されている従来のNATは、Junos Address Aware ネットワークアドレッシングによって完全にサポートされています。また、送信元アドレスに対しては NAPT もサポートされています。
基本的な NAT
基本NATでは、外部アドレスのブロックは、プライベートドメイン内のホストが外部ドメインにセッションを発信するときに、そのホストのアドレスを変換するために確保されます。プライベート ネットワークから送信されるパケットの場合、基本 NAT は送信元 IP アドレスと、IP、TCP、UDP、ICMP ヘッダーのチェックサムなどの関連フィールドを変換します。インバウンド パケットの場合、基本 NAT はIP アドレスと上記のチェックサムを変換します。
ヘアピニングは、基本的な NAT でサポートされています。
NAPT
NAPT を使用して、プライベート ネットワークのコンポーネントが 1 つの外部アドレスを共有できるようにします。NAPT は、プライベート ネットワークのトランスポート識別子 (TCPポート番号、UDP ポート番号、ICMP クエリ ID など) を 1 つの外部アドレスに変換します。NAPT を基本 NAT と組み合わせると、ポート変換と組み合わせて外部アドレスのプールを使用できます。
プライベート ネットワークから送信されるパケットの場合、NAPT は送信元 IP アドレス、送信元トランスポート識別子(TCP/UDP ポートまたは ICMP クエリ ID)、および関連フィールド(IP、TCP、UDP、ICMP ヘッダー チェックサムなど)を変換します。着信パケットの場合、NAPT は宛先 IP アドレス、宛先トランスポート識別子、および IP およびトランスポート ヘッダーのチェックサムを変換します。
MS-MICとMS-MPCを搭載したMXシリーズルーターでは、NAPT44 NAT ルールを設定し、なりすましパケットの送信元IPアドレスがNAT プールと等しく、NAT ルール一致条件が失敗した場合、パケットはサービスPICとパケット転送エンジンの間で継続的にループします。このような状況下では、手動でセッションをクリアし、NAT プールの IPスプーフィングをブロックするフィルターを作成することをお勧めします。
ヘアピニングは NAPT でサポートされています。
決定論的NAPT
確定的 NAPT44 を使用して、元の送信元 IPv4 アドレスとポートが常に同じ NAT 後の IPv4 アドレスとポート範囲にマッピングされ、特定の変換された外部 IPv4 アドレスとポートのリバース マッピングが常に同じ内部 IP アドレスにマッピングされるようにします。これにより、アドレス変換のログを記録する必要がなくなります。Junos OS リリース 17.4R1 以降、MS-MPC および MS-MIC で決定論的 NAPT64 がサポートされます。確定的 NAPT64 は、元の送信元 IPv6 アドレスとポートが常に同じ NAT 後の IPv4 アドレスとポート範囲にマッピングされること、および特定の変換された外部 IPv4 アドレスとポートのリバース マッピングが常に同じ内部 IPv6 アドレスにマッピングされることを保証します。
静的宛先 NAT
静的宛先NATを使用して、外部トラフィックの宛先アドレスを宛先プールで指定されたアドレスに変換します。宛先プールには 1 つのアドレスが含まれ、ポート構成は含まれません。
静的宛先NATの詳細については、RFC 2663、 IPネットワークアドレストランスレータ(NAT)の用語と考慮事項を参照してください。
Twice NAT
Twice NAT では、パケットが NAT ルーターを通過する際に、送信元アドレスと宛先アドレスの両方が変換の対象となります。変換される送信元情報は、アドレスのみまたはアドレスとポートのいずれかです。たとえば、1 つのネットワークのすべてまたは一部のアドレスが別のネットワークのアドレスと重複する 2 つのネットワークを接続する場合(ネットワークがプライベートかパブリックかは関係ない)に、Twice NAT を使用します。従来の NAT では、アドレスの 1 つだけが変換されます。
Twice NAT を設定するには、一致方向、プールまたはプレフィックス、および変換タイプに、宛先アドレスと送信元アドレスの両方を指定する必要があります。
同じサービス セットで Twice NAT が設定されている場合、ステートフル ファイアウォール、NAT、またはサービス クラス(CoS)ルールの下で、ICMP および traceroute 用のアプリケーション レベル ゲートウェイ(ALG)を設定できます。これらの ALG は、パケット ゲートウェイ制御プロトコル(PGCP)によって作成されたフローには適用できません。Twice NATは他のALGをサポートしていません。デフォルトでは、Twice NAT 機能は、ICMP エラー メッセージのペイロードに埋め込まれた IP、TCP、および UDP ヘッダーに影響を与える可能性があります。
RFC 2663 IPネットワークアドレストランスレータ(NAT)の用語と考慮事項で規定されているTwice NATは、Junos Address Aware ネットワークアドレッシングによって完全にサポートされています。
IPv6 NAT
インターネットドラフトdraft-mrw-behave-nat66-01、 IPv6-to-IPv6 ネットワークアドレス変換(NAT66)で定義されているIPv6-to-IPv6 NAT(NAT66)は、Junos Address Aware ネットワークアドレッシングによって完全にサポートされています。
アプリケーションレベルゲートウェイ(ALG)のサポート
Junos Address Aware ネットワークアドレッシングは、多数のALGをサポートしています。NATルールを使用して、ALGSに基づいて受信トラフィックをフィルタリングできます。詳細については、「 ネットワークアドレス変換 ルールの概要」を参照してください。
DNS ALG を使用した NAT-PT
NAT-PT およびドメイン生成アルゴリズム(DNS)ALG は、IPv6 ホストと IPv4 ホスト間の通信を容易にするために使用されます。NAT-PT は、IPv4 アドレスのプールを使用して、IPv4 または IPv6 の境界を越えてセッションが開始されると、そのプールのアドレスを IPv6 ノードに動的に割り当てます。インバウンドとアウトバウンドのセッションは、同じNAT-PTルーターを通過して、それらのセッションを追跡する必要があります。RFC 2766, ネットワークアドレス変換 - プロトコル変換(NAT-PT)では、IPv6 ノード間の IPv6 から IPv6 への変換や IPv4 ノード間の IPv4 から IPv4 への変換 には NAT-PT を使用することを推奨しています。
DNSは、コンピュータ、サービス、またはインターネットやプライベートネットワークに接続されたリソースのための分散型階層型ネーミングシステムです。DNS ALG は、IPv6 ノードが IPv4 ノードと通信できるようにするアプリケーション固有のエージェントであり、その逆も同様です。
DNS ALG が NAT-PT で採用されている場合、DNS ALG は DNS クエリと応答の IPv6 アドレスを対応する IPv4 アドレスに変換し、その逆も同様です。IPv4 の名前とアドレスのマッピングは、「A」クエリで DNS に保持されます。IPv6の名前とアドレスのマッピングは、「AAAA」クエリを使用してDNSに保持されます。
IPv6 DNSクエリの場合は、[edit applications application application-name]
階層レベルでdo-not-translate-AAAA-query-to-A-query
ステートメントを使用します。
ダイナミック NAT
動的なNATフローを 図1に示します。

動的NATを使用すると、登録済み(パブリック)IPアドレスのプールから抽出されたパブリックIPアドレスにプライベートIPアドレス(ソース)をマッピングできます。プールからのNATアドレスは動的に割り当てられます。アドレスを動的に割り当てることで、ソース静的NATが必要とする同じサイズのプールとは対照的に、少数のパブリックIPアドレスを複数のプライベートホストで使用することもできます。
動的アドレス変換の詳細については、RFC 2663、 IPネットワークアドレス変換(NAT)の用語と考慮事項を参照してください。
ステートフルNAT64
ステートフルNAT64フローを 図2に示します。

ステートフルNAT64は、IPv6ネットワークに移行し、同時にIPv4アドレスの枯渇に対処するためのメカニズムです。IPv6 専用クライアントがユニキャスト UDP、TCP、または ICMP を使用して IPv4 サーバーに接続できるようにすることで、複数の IPv6 専用クライアントが同じパブリック IPv4 サーバー アドレスを共有できます。IPv4 サーバー アドレスの共有を可能にするために、NAT64 は受信 IPv6 パケットを IPv4 に変換します(その逆も同様です)。
ステートフル NAT64 を DNS64 と組み合わせて使用する場合、通常、IPv6 クライアントまたは IPv4 サーバーを変更する必要はありません。DNS64 は、通常、現在導入されている DNS サーバーの拡張機能として実装されているため、このドキュメントの範囲外です。
RFC 6146、 ステートフルNAT64:IPv6クライアントからIPv4サーバーへのネットワークアドレスとプロトコル変換で指定されているステートフルNAT64は、Junos Address Awareネットワークアドレッシングによって完全にサポートされています。
464XLAT
Junos OS リリース 17.1R1 から、464XLAT PLAT(プロバイダ側トランスレーター)を設定できます。これは、MS-MICおよびMS-MPCでのみサポートされています。464XLATは、プライベートアドレスを持つIPv4クライアントが、IPv6ネットワークを介してIPv4ホストに接続するためのシンプルでスケーラブルな手法を提供します。464XLATは、クライアントサーバーモデルでのみIPv4をサポートしているため、IPv4ピアツーピア通信またはインバウンドIPv4接続はサポートしていません。
ジュニパーネットワークス製品ではない顧客側変換器(CLAT)は、IPv4 の送信元アドレスと宛先アドレスを IPv6 /96 プレフィックスに埋め込むことで IPv4 パケットを IPv6 に変換し、IPv6 ネットワークを介してパケットを PAT に送信します。PLAT はパケットを IPv4 に変換し、IPv4 ネットワーク経由で IPv4 ホストにパケットを送信します ( 図 3 を参照)。

XLAT464 には、IPv4 ネットワークを維持する必要がなく、追加のパブリック IPv4 アドレスを割り当てる必要がないという利点があります。
CLAT は、IPv6 のみのモバイル ネットワーク内のエンド ユーザーのモバイル デバイスに配置できるため、モバイル ネットワーク プロバイダーは、ユーザーに IPv6 を展開し and 、モバイル デバイス上の IPv4 のみのアプリケーションをサポートすることができます ( 図 4 を参照)。

デュアルスタックライト
デュアルスタックライト(DS-Lite)フローを 図 5 に示します。

DS-Liteは、IPv4-over-IPv6トンネルを使用してIPv6アクセスネットワークを通過し、キャリアグレードのIPv4-IPv4 NATに到達します。これにより、IPv4 との下位互換性が確保され、インターネット上での IPv6 の段階的な導入が容易になります。
DS-Liteは、MS-DPCを搭載したMXシリーズルーターと、MS-100、MS-400、MS-500マルチサービスPICを搭載したM Seriesルーターでサポートされています。Junos OS リリース 17.4R1 以降、DS-Lite は MS-MPC と MS-MIC を搭載した MXシリーズ ルーターでサポートされます。Junos OS リリース 19.2R1 以降、DS-Lite は MX バーチャルシャーシおよび MX BNG(ブロードバンド ネットワーク ゲートウェイ)ルーターでサポートされています。
Junos Address Aware ネットワークアドレッシングラインカードのサポート
Junos Address Aware ネットワークアドレッシング技術は、以下のラインカードで利用できます。
マルチサービス高密度ポートコンセントレータ(MS-DPC)
MS-100、MS-400、MS-500 マルチサービス PIC
MS-MPC(マルチサービス モジュラー ポート コンセントレータ)と MS-MIC(マルチサービス モジュラー インターフェイス カード)
モジュラー ポート コンセントレータ(インライン NAT)。
カードの種類ごとにサポートされているNATの種類の一覧については、 インターフェイスカードの種類ごとのJunos Address AwareのキャリアグレードNAT機能比較を参照してください。
参照
IPv6移行シナリオの例
Junos OSは、Junos OSのお客様が必要とする多くのIPv6移行シナリオをサポートしています。以下は、選択された例です。
例 1:非 IPv6 アクセス ネットワークでの IPv4 枯渇
図 6 は、インターネット サービス プロバイダ (ISP) が IPv4 ネットワークを大幅に変更していないシナリオを示しています。この方法では、IPv4 ホストは IPv4 インターネットにアクセスし、IPv6 ホストは IPv6 インターネットにアクセスできます。デュアルスタック・ホストは、IPv4 アクセス・サービスを使用する場合は IPv4 ホストとして、IPv6 アクセス・サービスを使用する場合は IPv6 ホストとして扱うことができます。

このアプローチでは、デュアルスタックのホームゲートウェイとデュアルスタックのキャリアグレードのネットワークアドレス変換(NAT)という2種類の新しいデバイスを導入する必要があります。デュアルスタックホームゲートウェイは、IPv4転送とv6-over-v4トンネリング機能を統合します。また、v4-v4 NAT機能を統合することもできます。デュアルスタックキャリアグレードNAT(CGN)は、v6-over-v4トンネリングとキャリアグレードv4-v4 NAT機能を統合します。
例 2:IPv6 アクセス ネットワークでの IPv4 枯渇
図 7 のシナリオでは、ISP ネットワークは IPv6 のみです。

デュアルスタックライト(DS-Lite)ソリューションは、IPv6のみのISPに対応します。このアプローチの最適なビジネスモデルは、カスタマー構内機器(CPE)が、IPv6をIPv4バックボーンにトンネリングする機能、IPv4をIPv6バックボーンにトンネリングする機能を統合し、どのソリューションが必要かを自動的に検出できることです。
特定の ISP のすべての顧客が、IPv4 アクセスから IPv6 アクセスに同時に切り替える必要があるわけではありません。実際、移行は、顧客のグループ(たとえば、単一のポイントオブプレゼンスに接続しているすべての顧客)を段階的に切り替えることで、より適切に管理できます。このような段階的なアプローチは、全面的な変換よりも計画、スケジュール、実行が容易であることがわかります。
例 3:モバイル ネットワークの IPv4 枯渇
モバイルネットワークは複雑であるため、移行中の中断を最小限に抑え、下位互換性を最大限に高めるためには、柔軟な移行アプローチが必要です。NAT64 を使用すると、IPv6 デバイスがクライアントを変更することなく IPv4 ホストと通信できるようになります。
Junos OSキャリアグレードNAT実装の概要
Junos OSでは、実装に使用するサービスインターフェイスの種類に応じて、キャリアグレードのネットワークアドレス変換(CGNAT)ソリューションを実装および拡張できます。
MS-DPC(マルチサービス高密度ポートコンセントレータ)—レイヤー3サービスパッケージは、MS-DPCアダプティブサービスPICのNATを設定するために使用されます。このソリューションは、 Junos Address Aware ネットワークアドレッシングの概要で説明されているNAT機能を提供します。
MS-100、MS-400、および MS-500 マルチサービス PICS—レイヤー 3 サービス パッケージは、マルチサービス PIC の NAT を設定するために使用されます。このソリューションは、 Junos Address Aware ネットワークアドレッシングの概要で説明されているNAT機能を提供します。
MS-MPC(マルチサービスモジュラーポートコンセントレータ)とMS-MIC(マルチサービスモジュラーインターフェイスカード)—MS-MPCとMS-MICは、キャリアグレードのNATを設定できるように事前に設定されています。このソリューションは、 Junos Address Aware ネットワークアドレッシングの概要で説明されているNAT機能を提供します。
MPC(モジュラーポートコンセントレータ)ラインカードのインラインNAT):インラインNATは、MPCラインカードのサービス機能を活用し、 インラインネットワークアドレス変換の概要で説明されているように、データプレーンでのNAT機能のコスト効率の高い実装を可能にします。
参照
インターフェースカードの種類別のJunos Address AwareのキャリアグレードNAT機能比較
表1 は、Junos OSキャリアグレードNAT実装間の機能の違いをまとめたものです。
Junos OSリリース17.2R1以降、インラインNATはMPC5EおよびMPC6Eでサポートされています。
Junos OS Release 17.4R1以降、MPC7E、MPC8E、MPC9EでインラインNATがサポートされています。
特徴 |
MS-DPC MS-100 MS-400 MS-500 |
MS-MPC MS-MIC |
MPC1、MPC2、MPC3、MPC5E、MPC6E、MPC7E、MPC8E、MPC9E インラインNAT |
---|---|---|---|
静的なソースNAT |
はい |
はい |
はい |
動的送信元 NAT - アドレスのみ |
はい |
はい |
いいえ |
動的ソース NAT - セキュアなポートブロック割り当てによる NAPT ポート変換 |
はい |
○(Junos OS リリース 14.2R2以降、MS-MPCおよびMS-MICでサポートされているセキュアポートブロック割り当てを使用した動的ソースNAT-NAPTポート変換) |
いいえ |
動的ソース NAT - 確定的なポートブロック割り当てによる NAPT44 ポート変換 |
はい |
○(Junos OSリリース17.3R1以降、Junos OSリリース14.2R7以降の14.2リリース、15.1R3以降の15.1リリース、および16.1R5以降の16.1リリース以降のMS-MPCおよびMS-MICでサポートされている確定的ポートブロック割り当てを備えた動的ソースNAT - NAPT44ポート変換) |
いいえ |
動的ソース NAT - 確定的なポートブロック割り当てによる NAPT64 ポート変換 |
いいえ |
○(Junos OSリリース17.4R1以降、MS-MPCおよびMS-MICでサポートされている確定的ポートブロック割り当てによる動的ソースNAT-NAPT64ポート変換) |
いいえ |
静的宛先 NAT |
はい |
はい |
はい
手記:
宛先 NAT は間接的に実装できます。「インラインネットワークアドレス変換の概要」を参照してください |
Twice NAT |
はい |
○(Junos OS リリース 15.1R1 以降、MS-MPC および MS-MIC で 2 回の NAT をサポート) |
はい
手記:
2回NATを間接的に実装できます。「インラインネットワークアドレス変換の概要」を参照してください |
NAPT - パリティと範囲の保持 |
はい |
○(NAPT - Junos OSリリース15.1R1以降のMS-MPCおよびMS-MICでサポートされているパリティと範囲の保持) |
いいえ |
NAPT - APP/EIF/EIM |
はい |
はい |
いいえ |
IKE ALG |
いいえ |
○(Junos OS リリース 14.2R7、15.1R5、16.1R2、17.1R1 以降) |
いいえ |
ステートフルNAT64 |
はい |
はい |
いいえ |
APP/EIM/EIFを備えたステートフルNAT64 |
いいえ |
はい |
いいえ |
ALGを備えたステートフルNAT64
|
いいえ |
はい |
いいえ |
DS-Lite |
はい |
○(DS-LiteはJunos OSリリース17.4R1以降、MS-MPCおよびMS-MICでサポートされています) |
いいえ |
第6位 |
はい |
いいえ |
いいえ |
6対4 |
はい |
いいえ |
いいえ |
464XLAT |
いいえ |
○(Junos OS リリース 17.1R1 以降) |
いいえ |
NAT プール全体での重複アドレス |
はい |
はい |
いいえ |
過負荷プール |
はい |
いいえ |
いいえ |
ポート制御プロトコル |
はい |
○(NAPT44 を使用したポート制御プロトコルは、Junos OS リリース 17.4R1 以降の MS-MPC および MS-MIC でサポートされています。Junos OS リリース 18.2R1 以降、MS-MPC および MS-MIC のポート制御プロトコルは DS-Lite をサポートします。PCP は、NAT44 やファイアウォール デバイスなどのアップストリーム デバイスによる着信パケットの転送を制御するメカニズムと、アプリケーション キープアライブ トラフィックを削減するメカニズムを提供します。 |
いいえ |
CGN-PIC |
はい |
いいえ |
いいえ |
AMSサポート |
いいえ |
はい |
いいえ |
ポートフォワーディング |
はい |
○(ポート転送は、Junos OS リリース 17.4R1 以降の MS-MPC および MS-MIC でサポートされています。) |
いいえ |
翻訳なし |
はい |
○(Junos OS リリース 15.1R1 以降の MS-MPC および MS-MIC ではサポートされていません) |
はい |
表 2 は、ラインカードのタイプ別の変換タイプの可用性をまとめたものです。
翻訳タイプ |
MS-DPC MS-100 MS-400 MS-500 |
MS-MPC MS-MIC |
MPC1、MPC2、MPC3、MPC5E、MPC6E、MPC7E、MPC8E、MPC9E インラインNAT |
---|---|---|---|
|
はい |
はい |
はい |
|
はい |
いいえ |
いいえ |
|
はい |
いいえ |
いいえ |
|
はい |
○(Junos OS |
いいえ |
|
いいえ |
○( |
いいえ |
|
はい |
はい |
いいえ |
|
はい |
はい |
いいえ |
|
はい |
はい |
いいえ |
|
はい |
いいえ |
いいえ |
|
はい |
いいえ |
いいえ |
|
いいえ |
○(Junos OS リリース 17.1R1 以降) |
いいえ |
|
はい |
はい |
いいえ |
|
はい |
○( |
○(Junos OS リリース 15.1R1以降のインラインNATで |
|
はい |
○( |
いいえ |
|
はい |
○( |
いいえ |
Junos OS Address Aware NATで利用可能なALG
表 3 に示す以下の ALG(アプリケーション レベル ゲートウェイ)は、リストされたプラットフォームでの NAT 処理でサポートされています。
これらのJunos OSデフォルトアプリケーションの実装の詳細(ポート、プロトコルなど)を表示するには、テーブルでJunos OSデフォルトALG名を見つけ、 groups
でリストされている名前を検索します。たとえば、TFTPの詳細については、図のように junos-tftp
を検索します。
Junos OSは、ALG登録を処理し、登録されたALGを介してスローパスパケットをフローさせ、ALGイベントをALGプラグインに転送することで、他のALGが機能できるようにする junos-alg
を提供します。 junos-alg
ALG は、MS-MPC および MS-MIC プラットフォームで自動的に使用可能になり、追加の設定は必要ありません。
リモートシェル(RSH)およびリモートログイン(rlogin)アプリケーションレイヤーゲートウェイ(ALG)は、MS-MICおよびMS-MPCを搭載したMXシリーズルーターのNAPT(ネットワークアドレスポート変換)ではサポートされていません。
user@host# show groups junos-defaults applications application junos-tftp application-protocol tftp; protocol udp; destination-port 69;
表 3 は、サービス インターフェイス カードの Junos OS アドレス認識型 NAT で使用できる ALG をまとめたものです。
ALG |
MS-DPC |
MS-MPC、MS-MIC |
Junos OS デフォルト ALG 名 |
---|---|---|---|
基本的なTCP ALG |
はい |
はい |
手記:
特定のJunos OS ALGはサポートされていません。ただし、デフォルトで利用可能なTCPトラッカーと呼ばれる機能は、セグメントの順序付けと再送信および接続追跡、TCP接続の検証を実行します。 |
基本的な UDP ALG |
はい |
はい |
手記:
TCPトラッカーは、UDPに対して限定的な整合性チェックと検証チェックを実行します。 |
BOOTP |
はい |
いいえ |
|
DCE RPC サービス |
はい |
はい |
|
DNS |
はい |
はい |
|
DNS |
いいえ |
いいえ |
|
FTP |
はい |
はい |
|
ゲートキーパーRAS(Junos OS リリース17.1R1以降) |
いいえ |
はい |
|
H323-J |
いいえ |
はい |
|
ICMP |
はい |
はい
手記:
Junos OS リリース 14.1 以前では、ICMP メッセージはデフォルトで処理されますが、PING ALG サポートは提供されません。Junos OS 14.2以降、ICMPメッセージはデフォルトで処理され、PING ALGサポートが提供されます。 |
|
IIOPの |
はい |
いいえ |
|
IKE ALG |
いいえ |
はい
手記:
Junos OS リリース 14.2R7、15.1R5、16.1R2、17.1R1 以降、IKE ALG ALG は MS-MPC および MS-MIC でサポートされています。 |
|
IP |
はい |
TCPトラッカーは、これらのプラットフォームでデフォルトで利用可能ですが、限定的な整合性チェックと検証チェックを実行します。 |
|
NETBIOS |
はい |
いいえ |
|
ネットショー |
はい |
いいえ |
|
PPTPの |
はい |
はい |
|
リアルオーディオ |
はい |
いいえ |
|
Sun RPC および RPC ポート マップ サービス |
はい |
はい |
|
RTSP |
はい |
はい |
|
一口 |
はい |
はい |
SIP
手記:
SIP セッションは、MS-MIC および MS-MPC インターフェイス カードでの NAT 処理で 12 時間(720 分)に制限されます。MS-DPC の SIP セッションに時間制限はありません。
|
SNMP |
はい |
いいえ |
|
SQLNETの |
はい |
はい |
|
TFTP |
はい |
はい |
|
トレースルート |
はい |
はい |
|
Unix リモート シェル サービス |
はい |
はい
手記:
リモートシェル(RSH)ALGは、ネットワークアドレスポート変換(NAPT)ではサポートされていません。 |
|
WINフレーム |
はい |
いいえ |
|
トークUDP |
いいえ |
はい |
|
MS RPC |
いいえ |
はい |
|
参照
ACX500ルーターのJunos OSアドレス認識型NATでデフォルトで利用可能なALG
表 4 に示す以下の ALG(アプリケーション レベル ゲートウェイ)は、ACX500 ルーターでの NAT 処理でサポートされています。
これらのJunos OSデフォルトアプリケーションの実装の詳細(ポート、プロトコルなど)を表示するには、テーブルでJunos OSデフォルトALG名を見つけ、 groups
でリストされている名前を検索します。たとえば、TFTPの詳細については、図のように junos-tftp
を検索します。
NATのALGは、ACX500屋内ルーターでのみサポートされています。
Junos OSは、ALG登録を処理し、登録されたALGを介してスローパスパケットをフローさせ、ALGイベントをALGプラグインに転送することで、他のALGが機能できるようにする junos-alg
を提供します。 junos-alg
ALGはACX500ルーターで自動的に使用可能になり、追加の設定は必要ありません。
リモートログイン(rlogin)アプリケーション層ゲートウェイ(ALG)は、ACX500ルーターのNAPT(ネットワークアドレスポート変換)ではサポートされていません。
ALG |
ACX500ルーター |
Junos OS デフォルト ALG 名 |
---|---|---|
基本的なTCP ALG |
はい |
手記:
特定のJunos OS ALGはサポートされていません。ただし、デフォルトで利用可能なTCPトラッカーと呼ばれる機能は、セグメントの順序付けと再送信および接続追跡、TCP接続の検証を実行します。 |
基本的な UDP ALG |
はい |
手記:
TCPトラッカーは、UDPに対して限定的な整合性チェックと検証チェックを実行します。 |
DNS |
はい |
|
FTP |
はい |
|
ICMP |
はい
手記:
ICMP メッセージはデフォルトで処理されますが、PING ALG のサポートは提供されません。 |
|
TFTP |
はい |
|
Unix リモート シェル サービス |
はい
手記:
リモートシェル(RSH)ALGは、ネットワークアドレスポート変換(NAPT)ではサポートされていません。 |
|
ALGサポートの詳細
このセクションでは、ALG について詳しく説明します。これには、次のものが含まれます。
基本的なTCP
このALGは、TCPパケットに対して基本的なサニティーチェックを実行します。エラーが見つかった場合、次の異常イベントとシステムログメッセージが生成されます。
-
TCP送信元または宛先ポート0
-
TCP ヘッダー長のチェックに失敗しました
-
TCP シーケンス番号は 0 で、フラグは設定されていません
-
TCP シーケンス番号 0 と FIN/PSH/RST フラグが設定されています
-
TCP FIN/RST または SYN(URG|フィン|RST)フラグが設定されます
TCP ALG は次の手順を実行します。
-
ルーターがSYNパケットを受信すると、ALGはTCPフォワードフローとリバースフローを作成し、 通信にグループ化します。TCP の 3 ウェイ ハンドシェイクを追跡します。
-
SYN防御メカニズムは、TCP接続確立状態を追跡します。TCPセッションが短い時間間隔(現在は4秒)で確立されることを想定しています。その期間内にTCPスリーウェイハンドシェイクが確立されない場合、セッションは終了します。
-
キープアライブメカニズムは、応答しないエンドポイントとのTCPセッションを検出します。
-
ICMP エラーは、フローが ICMP データで指定されたセレクター情報と一致する場合にのみ許容されます。
基本的な UDP
このALGは、UDPヘッダーに対して基本的なサニティチェックを実行します。エラーが見つかった場合、次の異常イベントとシステムログメッセージが生成されます。
-
UDP送信元または宛先ポート0
-
UDP ヘッダー長チェックに失敗しました
UDP ALG は、次の手順を実行します。
-
最初のパケットを受信すると、ALGは双方向フローを作成して、順方向と逆方向のUDPセッショントラフィックを受け入れます。
-
最大許容アイドル時間(デフォルトは 30 秒)を超えてセッションがアイドル状態になると、フローが削除されます。
-
ICMP エラーは、フローが ICMP データで指定されたセレクター情報と一致する場合にのみ許容されます。
DNS
ドメイン生成アルゴリズム(DNS)ALGは、ドメイン名の検索とIPアドレスへの変換に関連するデータを処理します。ALG は通常、ポート 53 で実行されます。ALGはDNSクエリーと応答パケットを監視し、UDPトラフィックのみをサポートします。ALG はペイロード変換をサポートしていません。DNS ALG は、応答を受信したとき、またはアイドル タイムアウトに達した場合にのみ、セッションを閉じます。
以下は、DNS ALGを設定する例です。
-
NAT インターフェイスを作成します。
[edit] services { service-set set-dns { nat-rules nat-dns; interface-service { service-interface ms-0/2/0; } }
-
NAT プールの設定
[edit] services { nat { pool p-napt { address 10.1.1.1/32; } } }
-
DNS ALG の NAT ルールの定義。
[edit] services { nat { rule nat-dns { match-direction input; term term1 { from { source-address { 10.50.50.2/32; } applications junos-dns-udp;; } then { translated { source-pool p-napt; translation-type { basic-nat44; } } } } } }
-
インターフェイスへのサービス セットのバインド。
[edit] interfaces { ge-0/1/0 { media-type copper; unit 0 { family inet { service { input { service-set set-dns; } output { service-set set-dns; } } address 10.50.50.1/24; } } } ge-0/1/1 { media-type copper; unit 0 { family inet { address 10.60.60.1/24; } } } ms-0/2/0 { unit 0 { family inet; } } }
FTP
FTP は、RFC 959 で指定されているファイル転送プロトコルです。メインコントロール接続に加えて、クライアントとサーバー間のデータ転送に対してもデータ接続が行われます。また、ホスト、ポート、および方向は制御チャネルを介してネゴシエートされます。
非パッシブ モードの FTP の場合、Junos OS ステートフル ファイアウォール サービスは、サーバーが接続する IP アドレスとポート番号を提供する PORT コマンドで、クライアントからサーバーへのアプリケーション データをスキャンします。パッシブ モード FTP の場合、Junos OS ステートフル ファイアウォール サービスは、PASV コマンドのクライアントからサーバーへのアプリケーション データをスキャンし、次に、クライアントが接続する IP アドレスとポート番号を含む 227 応答のサーバーからクライアントへの応答をスキャンします。
FTPはこれらのアドレスとポート番号をASCIIで表します。その結果、アドレスとポートが書き換えられると、TCP シーケンス番号が変更される可能性があり、その後、NAT サービスは、後続のすべてのパケットでシーケンス NAT を実行して、SEQ 番号と ACK 番号でこの差分を維持する必要があります。
ステートフルファイアウォールとNATサービスをサポートするには、TCPポート21でFTP ALGを設定して、FTP制御プロトコルを有効にする必要があります。ALG は、以下のタスクを実行します。
-
動的なデータ接続のためのデータポートとファイアウォールのアクセス許可を自動的に割り当てます
-
動的にネゴシエートされたデータ接続のフローを作成します。
-
アクティブ・モードとパッシブ・モードの両方で制御接続を監視
-
制御パケットを適切な NAT アドレスとポート情報で書き換えます
ACX500では、FTPアプリケーション層ゲートウェイ(ALG)を有効にせずに([edit services nat rule rule-name term term-name from]
階層レベルでapplication junos-ftp
ステートメントを指定しないことにより)、アドレスプーリングペア(APP)機能を有効にする必要があります([edit services nat rule rule-name term term-name then translated]
階層レベルでaddress-pooling
ステートメントを含めることで)。このような設定では、データおよび制御 FTP セッションが同じ NAT アドレスを受信します。
以下は、FTP ALG を設定する例です。
-
NAT インターフェイスを作成します。
[edit] services { service-set set-ftp { nat-rules nat-ftp; interface-service { service-interface ms-0/2/0; } }
-
NAT プールの設定
[edit] services { nat { pool p-napt { address 10.30.30.0/24; port { range low 9000 high 9010; } } }
-
FTP ALG の NAT ルールの定義。
[edit] services { nat { rule nat-ftp { match-direction input; term term1 { from { source-address { 10.10.10.0/24; } applications junos-ftp; } then { translated { source-pool p-napt; translation-type { napt-44; } } } } } }
-
インターフェイスへのサービス セットのバインド。
[edit] interfaces { ge-0/1/0 { media-type copper; unit 0 { family inet { service { input { service-set set-ftp; } output { service-set set-ftp; } } address 10.10.10.1/24; } } } ge-0/1/1 { media-type copper; unit 0 { family inet { address 10.10.10.1/24; } } } ms-0/2/0 { unit 0 { family inet; } } }
ICMP
Internet Control Message Protocol(ICMP)は、RFC 792で定義されています。Junos OSでは、ICMPメッセージを特定のタイプまたは特定のタイプコード値でフィルタリングできます。タイプとコードが特別に設定されていないICMPエラーパケットは、エラーパケットの正当性を確認するために、反対方向の既存のフローと照合されます。フィルターマッチングを通過したICMPエラーパケットは、NAT変換の対象となります。
ICMP ALGは、ICMPシーケンス番号を使用して、常にpingトラフィックをステートフルに追跡します。各エコー応答は、対応するシーケンス番号のエコー要求がある場合にのみ転送されます。どの ping フローでも、エコー応答を受信せずに転送できるエコー要求は 20 回だけです。動的 NAT を構成すると、PING パケット識別子が変換され、NAT プール内の追加のホストで同じ識別子を使用できるようになります。
NATサービスのサポートでは、プロトコルが必要な場合はICMP ALGを設定する必要があります。追加のフィルタリング用に、ICMPタイプとコードを設定できます。
TFTP
Trivial File Transfer Protocol(TFTP)は RFC 1350 で規定されています。最初のTFTP要求は、UDP宛先ポート69に送信されます。追加のフローを作成して、個々のファイル を取得 または 配置 できます。NATサービスをサポートするには、UDP宛先ポート69のTFTP ALGを設定する必要があります。
以下に、TFTP ALG の設定例を示します。
-
NAT インターフェイスを作成します。
[edit] services { service-set set-tftp { nat-rules nat-tftp; interface-service { service-interface ms-0/2/0; } }
-
NAT プールの設定
[edit] services { nat { pool p-napt { address 10.1.1.1/32; } } }
-
TFTP ALGのNATルールの定義。
[edit] services { nat { rule nat-tftp { match-direction input; term term1 { from { source-address { 10.50.50.2/32; } applications junos-tftp; } then { translated { source-pool p-napt; translation-type { dynamic-nat44; } } } } } }
-
インターフェイスへのサービス セットのバインド。
[edit] interfaces { ge-0/1/0 { media-type copper; unit 0 { family inet { service { input { service-set set-tftp; } output { service-set set-tftp; } } address 10.50.50.1/24; } } } ge-0/1/1 { media-type copper; unit 0 { family inet { address 10.60.60.1/24; } } } ms-0/2/0 { unit 0 { family inet; } } }
UNIXリモートシェルサービス
UNIX リモート・シェル・サービスの基礎となるプロトコルは 3 つあります。
-
Exec:リモート コマンド実行。クライアント・システム上のユーザーがリモート・システムでコマンドを実行できるようにします。クライアント (
rcmd
) からサーバー (rshd
) への最初のコマンドは、既知の TCPポート 512 を使用します。2 番目の TCP 接続は、rcmd
の要求に応じて開くことができます。2 番目の接続のクライアント ポート番号は、ASCII 文字列としてサーバーに送信されます。 -
ログイン -
rlogin
としてよく知られており、よく知られた TCPポート 513 を使用します。詳細については、RFC 1282 を参照してください。特別なファイアウォール処理は必要ありません。 -
シェル—リモートコマンド実行。クライアント・システム上のユーザーがリモート・システムでコマンドを実行できるようにします。クライアント (
rcmd
) からサーバー (rshd
) への最初のコマンドは、既知の TCPポート 514 を使用します。2 番目の TCP 接続は、rcmd
の要求に応じて開くことができます。2 番目の接続のクライアント ポート番号は、ASCII 文字列としてサーバーに送信されます。
NAT リモートシェル サービスでは、割り当てられる動的送信元ポートがポート範囲 512 から 1023 内である必要があります。NAT プールを設定する場合、このポート範囲はリモートシェルアプリケーション専用に予約されます。
RSH ALGを設定する例を以下に示します。
-
NAT インターフェイスを作成します。
[edit] services { service-set set-rsh { nat-rules nat-rsh; interface-service { service-interface ms-0/2/0; } }
-
NAT プールの設定
[edit] services { nat { pool p-napt { address 10.1.1.1/32; } } }
-
RSH ALG の NAT ルールの定義。
[edit] services { nat { rule nat-rsh { match-direction input; term term1 { from { source-address { 510.0.50.2/32; } applications junos-rsh; } then { translated { source-pool p-napt; translation-type { dynamic-nat44; } } } } } }
-
インターフェイスへのサービス セットのバインド。
[edit] interfaces { ge-0/1/0 { media-type copper; unit 0 { family inet { service { input { service-set set-rsh; } output { service-set set-rsh; } } address 10.50.50.1/24; } } } ge-0/1/1 { media-type copper; unit 0 { family inet { address 10.60.60.1/24; } } } ms-0/2/0 { unit 0 { family inet; } } }
参照
変更履歴
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。特定の機能がお使いのプラットフォームでサポートされているかどうかを確認するには、 Feature Explorer を使用します。
deterministic-napt64
stateful-nat464
twice-dynamic-nat-44
twice-basic-nat-44
twice-dynamic-nat-44
twice-dynamic-napt-44
deterministic-napt44