ネットワークアドレス変換の概要
Junos Address Awareネットワークアドレッシングの概要
Junos Address Aware ネットワークアドレッシングは、IP アドレスを変換するためのネットワークアドレス変換(NAT)機能を提供します。これは特に重要です。IANA(IANA)は2011年初頭にIPv4アドレスの最後の大きなブロックを割り当てました。
このトピックでは、次のセクションについて説明します。
- NATのメリット
- NATの概念と設備の概要
- IPv4 から IPv4 への基本 NAT
- 決定論的NAPT
- 静的宛先 NAT
- 2回の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つのオプションがあります。
-
動的アドレスのみのソース変換— mdash;NATアドレスは送信元NATプールから動的に取得され、このマッピングを使用するアクティブなフローが少なくとも1つ存在する限り、元の送信元アドレスから変換されたアドレスへのマッピングは維持されます。詳細については、「 ダイナミック NAT」を参照してください。
-
NAPT—元の送信元アドレスと送信元ポートの両方が変換されます。変換されたアドレスとポートは、対応するNATプールからピックアップされます。詳細については、 NAPT を参照してください。
-
-
静的な宛先変換—選択したプライベートサーバーにアクセスできるようにすることができます。変換されたアドレスと宛先アドレス間の 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機能をサポートします。
すべてのタイプのNATがすべてのインターフェイスタイプでサポートされているわけではありません。サポートされているインターフェイスで使用できる機能の一覧表示については、「 Carrier-Grade NAT Feature Comparison for Junos Address Aware by Type of Interface Card」を参照してください。
IPv4 から IPv4 への基本 NAT
基本ネットワークアドレス変換または基本 NAT は、IP アドレスをあるグループから別のグループにマッピングし、エンドユーザーに対して透過的にマッピングする方法です。NAPT(ネットワークアドレスポート変換)は、多くのネットワークアドレスとそのTCP/UDPポートを1つのネットワークアドレスとそのTCP/UDPポートに変換する方法です。従来の NAT と呼ばれるこれら 2 つの操作を組み合わせることで、プライベート アドレスを持つレルムを、グローバルに一意の登録アドレスを持つ外部レルムに接続するメカニズムを提供します。
RFC 3022( 従来の IP ネットワーク アドレス トランスレーター)で規定されている従来の NAT は、Junos Address Aware ネットワークアドレッシングで完全にサポートされています。さらに、送信元アドレスではNAPTがサポートされています。
ベーシックNAT
基本NATでは、プライベートドメイン内のホストが外部ドメインへのセッションを発信する際に、外部アドレスのアドレスを変換するために、外部アドレスのブロックが確保されます。プライベートネットワークから送信されるパケットの場合、基本NATは送信元IPアドレスとIP、TCP、UDP、ICMPヘッダーチェックサムなどの関連フィールドを変換します。インバウンドパケットの場合、基本NATは宛先IPアドレスと上記のチェックサムを変換します。
ヘアピンは、基本的な NAT でサポートされています。
NAPT
NAPTを使用して、プライベートネットワークのコンポーネントが単一の外部アドレスを共有できるようにします。NAPTは、プライベートネットワークのトランスポート識別子(TCPポート番号、UDPポート番号、ICMPクエリーIDなど)を単一の外部アドレスに変換します。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以降、決定論的NAPT64がMS-MPCおよびMS-MICでサポートされます。決定論的NAPT64は、元の送信元IPv6アドレスとポートが常に同じNAT後のIPv4アドレスとポート範囲にマッピングされ、特定の変換された外部IPv4アドレスとポートのリバースマッピングが常に同じ内部IPv6アドレスにマッピングされることを保証します。
静的宛先 NAT
静的宛先 NAT を使用して、外部トラフィックの宛先アドレスを宛先プールで指定されたアドレスに変換します。宛先プールには1つのアドレスが含まれており、ポート設定はありません。
静的宛先 NAT の詳細については、RFC 2663、 IP ネットワーク アドレス変換器(NAT)の用語と考慮事項を参照してください。
2回のNAT
Twice NATでは、パケットがNATルーターを通過する際に、送信元アドレスと宛先アドレスの両方が変換の対象となります。変換するソース情報は、アドレスのみまたはアドレスとポートのいずれかです。たとえば、2 つのネットワークを接続する場合、1 つのネットワークの全部または一部のアドレスが別のネットワークのアドレスと重複している場合(ネットワークがプライベートかパブリックかに関係なく)、Twice NAT を使用します。従来の NAT では、アドレスのうち 1 つだけ変換されます。
Twice NATを設定するには、一致方向、プールまたはプレフィックス、および変換タイプに宛先アドレスと送信元アドレスの両方を指定する必要があります。
同じサービスセットでTwtimes 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ノード間の変換にはNAT-PTを使用することを推奨しており、IPv6ノード間のIPv6からIPv6への変換またはIPv4ノード間のIPv4からIPv4への変換には 使用しない ことを推奨しています。
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)は、IPv6 /96プレフィックスにIPv4送信元アドレスと宛先アドレスを埋め込むことで、IPv4パケットをIPv6に変換し、そのパケットをIPv6ネットワーク経由でPLATに送信します。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 マルチサービス PIC - レイヤー 3 サービス パッケージは、マルチサービス PIC の NAT を設定するために使用されます。このソリューションは、「 Junos Address Aware ネットワークアドレッシングの概要」で説明されているNAT機能を提供します。
マルチサービスモジュラーポートコンセントレータ(MS-MPC)およびマルチサービスモジュラーインターフェイスカード(MS-MIC)—MS-MPCとMS-MICは、キャリアグレードのNATの設定を可能にするように事前設定されています。このソリューションは、「 Junos Address Aware ネットワークアドレッシングの概要」で説明されているNAT機能を提供します。
モジュラー NAT(MPC)ライン カード向けインライン NAT)—インライン NAT は MPC ライン カードのサービス機能を活用し、 インライン ネットワークアドレス変換の概要で説明されているように、データ プレーン上での NAT 機能の費用対効果の高い実装を可能にします。
関連項目
インターフェイスカードのタイプ別のJunos Address AwareのキャリアグレードNAT機能比較
表1は 、Junos OSキャリアグレードのNAT実装間の機能の違いをまとめたものです。
Junos OSリリース17.2R1以降、インラインNATはMPC5EおよびMPC6Eでサポートされます。
Junos OSリリース17.4R1以降、インラインNATはMPC7E、MPC8E、MPC9Eでサポートされています。
機能 |
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 ポート変換 |
はい |
はい(動的ソースNAT - Junos OSリリース14.2R2以降のMS-MPCおよびMS-MICでサポートされているセキュアなポートブロック割り当てによるNAPTポート変換) |
いいえ |
動的ソースNAT - 決定論的なポートブロック割り当てによるNAPT44ポート変換 |
はい |
はい(動的ソースNAT - 決定論的なポートブロック割り当てによるNAPT44ポート変換は、Junos OSリリース17.3R1以降、Junos OSリリース14.2R7以降の14.2リリース、15.1R3以降のリリース、16.1R5以降の16.1リリースでMS-MPCおよびMS-MICでサポートされています) |
いいえ |
動的ソースNAT - 決定論的なポートブロック割り当てによるNAPT64ポート変換 |
いいえ |
はい(動的ソースNAT - Junos OSリリース17.4R1以降、MS-MPCおよびMS-MICでサポートされている決定論的なポートブロック割り当てによるNAPT64ポート変換) |
いいえ |
静的宛先 NAT |
はい |
はい |
はい
注:
宛先 NAT は間接的に実装できます。インラインネットワークアドレス変換の概要を参照してください |
2回のNAT |
はい |
はい(Junos OS リリース 15.1R1 以降、MS-MPC と MS-MIC の 2 倍の NAT がサポートされています) |
はい
注:
Twice NATは間接的に実装できます。インラインネットワークアドレス変換の概要を参照してください |
NAPT - パリティと範囲の保持 |
はい |
はい(NAPT - Junos OSリリース15.1R1以降、MS-MPCおよびMS-MICでサポートされているパリティと範囲を保持) |
いいえ |
NAPT - APP/EIF/EIM |
はい |
はい |
いいえ |
IKEアルゴリズム |
いいえ |
はい(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位 |
はい |
いいえ |
いいえ |
6to4 |
はい |
いいえ |
いいえ |
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リリース17.1R1以降) |
いいえ |
|
はい |
はい |
いいえ |
|
はい |
はい( |
はい( |
|
はい |
はい( |
いいえ |
|
はい |
はい( |
いいえ |
Junos OSアドレス認識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の整合性と検証チェックは限定的です。 |
ブート |
はい |
いいえ |
|
DCE RPCサービス |
はい |
はい |
|
DNS |
はい |
はい |
|
DNS |
いいえ |
いいえ |
|
FTP |
はい |
はい |
|
ゲートキーパーRAS(Junos OSリリース17.1R1以降) |
いいえ |
はい |
|
H323型 |
いいえ |
はい |
|
ICMP |
はい |
はい
注:
Junos OSリリース14.1以前では、ICMPメッセージはデフォルトで処理されますが、PING ALGサポートは提供されていません。Junos OS 14.2以降、ICMPメッセージはデフォルトで処理され、PING ALGサポートが提供されます。 |
|
IIOP |
はい |
いいえ |
|
IKEアルゴリズム |
いいえ |
はい
注:
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
注:
SIP セッションは、MS-MIC および MS-MPC インターフェイス カードでの NAT 処理のために 12 時間(720 分)に制限されています。MS-DPC での SIP セッションに時間制限はありません。 |
SNMP |
はい |
いいえ |
|
SQLネット |
はい |
はい |
|
TFTP |
はい |
はい |
|
トレースルート |
はい |
はい |
|
Unixリモートシェルサービス |
はい |
はい
注:
リモートシェル(RSH)ALGは、ネットワークアドレスポート変換(NAPT)ではサポートされていません。 |
|
WINFrame |
はい |
いいえ |
|
TALK-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送信元または宛先ポートゼロ
-
TCPヘッダー長のチェックに失敗しました
-
TCPシーケンス番号がゼロで、フラグが設定されていません
-
TCPシーケンス番号0とFIN/PSH/RSTフラグが設定されている
-
TCP FIN/RSTまたはSYN(URG|フィン|RST)フラグが設定されている
TCP ALGは、以下の手順を実行します。
-
ルーターがSYNパケットを受信すると、ALGはTCPフォワードおよびリバースフローを作成し、 それらを会話にグループ化します。TCPスリーウェイハンドシェイクを追跡します。
-
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必要があります。
ステートフルファイアウォールとNATサービスをサポートするためには、TCPポート21でFTP ALGを設定して、FTP制御プロトコルを有効にする必要があります。ALGは、以下のタスクを実行します。
-
動的なデータ接続用に、データポートとファイアウォールの権限を自動的に割り当てます
-
動的にネゴシエートされたデータ接続用のフローを作成します
-
アクティブモードとパッシブモードの両方で制御接続を監視します
-
制御パケットを適切なNATアドレスとポート情報で書き換えます
ACX500では、FTPアプリケーション層ゲートウェイ(ALG)を有効にしずに([edit services nat rule rule-name term term-name from]階層レベルでapplication junos-ftpステートメントを指定しないことで)パッシブFTPが正常に動作するためには、([edit services nat rule rule-name term term-name then translated]階層レベルでaddress-poolingステートメントを含めることで)アドレスプーリングペアリング(APP)機能を有効にする必要があります。このような設定により、データおよび制御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
インターネット制御メッセージプロトコル(ICMP)は、RFC 792で定義されています。Junos OSでは、ICMPメッセージを特定のタイプまたは特定のタイプコード値でフィルタリングできます。タイプとコードが特定に設定されていないICMPエラーパケットは、反対方向の既存のフローと照合され、エラーパケットの正当性がチェックされます。フィルターマッチングを通過したICMPエラーパケットは、NAT変換の対象となります。
ICMP ALGは、常にICMPシーケンス番号を使用して、pingトラフィックをステートフルに追跡します。各エコー応答は、対応するシーケンス番号を持つエコー要求がある場合にのみ転送されます。どの ping フローでも、エコー応答を受信せずに転送できるのは 20 個のエコー要求だけです。動的NATを設定すると、PING パケット識別子が変換され、NAT プール内の追加のホストが同じ識別子を使用できるようになります。
NATサービスをサポートするためには、プロトコルが必要な場合はICMP ALGを設定する必要があります。ICMPタイプとコードを設定して、追加のフィルタリングを行うことができます。
TFTP
RFC 1350 では、Trivial File Transfer Protocol(TFTP)が規定されています。最初の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; } } }
関連項目
変更履歴テーブル
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。
deterministic-napt64 をサポート
stateful-nat464
twice-dynamic-nat-44 をサポート
twice-basic-nat-44
twice-dynamic-nat-44 をサポート
twice-dynamic-napt-44 をサポート
deterministic-napt44 をサポート