Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

ネットワークアドレスポート変換

ネットワーク アドレス ポート変換(NAPT)用のアドレス プールの設定の概要

ネットワーク アドレス ポート変換(NAPT)を使用すると、それぞれ最大 65,536 個のアドレスを持つ最大 32 のアドレス範囲を設定できます。

port ステートメントは、変換されたアドレスのポート割り当てを指定します。ポートの自動割り当てを設定するには、[edit services nat pool nat-pool-name]階層レベルでport automaticステートメントを含めます。デフォルトでは、ポートの順次割り当てが行われます。

Junos OS リリース 14.2以降では、指定した範囲からポートを順番に割り当てるために、[edit services nat pool nat-pool-name]階層レベルでport automaticステートメントにsequentialオプションを含めることができます。特定の範囲のポート番号を設定するには、[edit services nat pool nat-pool-name]階層レベルでport range low minimum-value high maximum-valueステートメントを含めます。

手記:

napt-44 のプール内の使用可能なポート総数の 99% の場合、その NAT プールでは新しいフローは許可されません。

Junos OS リリース 14.2 以降、 auto オプションは非表示になり、非推奨となり、下位互換性のためにのみ維持されます。これは、将来のソフトウェア リリースで完全に削除される可能性があります。

Junos OS には、ポートを割り当てるための選択肢がいくつか用意されています。

NAPT のラウンドロビン割り当て

NAT プールにラウンドロビン割り当てを設定するには、[edit services nat pool pool-name]階層レベルで アドレス割り当てラウンドロビン設定ステートメントを含めます。ラウンドロビン割り当てを使用する場合、範囲内の各アドレスから 1 つのポートが割り当てられてから、次の範囲のアドレスごとにプロセスが繰り返されます。最後の範囲のすべてのアドレスにポートが割り当てられた後、割り当てプロセスはラップアラウンドし、最初の範囲のアドレスに次の未使用のポートを割り当てます。

  • 最初の接続は、アドレス:ポート 100.0.0.1:3333 に割り当てられます。

  • 2 番目の接続は、アドレス:ポート 100.0.0.2:3333 に割り当てられます。

  • 3 番目の接続は、アドレス:ポート 100.0.0.3:3333 に割り当てられます。

  • 4 番目の接続は、アドレス:ポート 100.0.0.4:3333 に割り当てられます。

  • 5 番目の接続は、アドレス:ポート 100.0.0.5:3333 に割り当てられます。

  • 6 番目の接続は、アドレス:ポート 100.0.0.6:3333 に割り当てられます。

  • 7 番目の接続は、アドレス:ポート 100.0.0.7:3333 に割り当てられます。

  • 8 番目の接続は、アドレス:ポート 100.0.0.8:3333 に割り当てられます。

  • 9 番目の接続は、アドレス:ポート 100.0.0.9:3333 に割り当てられます。

  • 10 番目の接続は、アドレス:ポート 100.0.0.10:3333 に割り当てられます。

  • 11 番目の接続は、アドレス:ポート 100.0.0.11:3333 に割り当てられます。

  • 12 番目の接続は、アドレス:ポート 100.0.0.12:3333 に割り当てられます。

  • ラップアラウンドが発生し、13 番目の接続が address:port 100.0.0.1:3334 に割り当てられます。

NAPT の順次割り当て

シーケンシャル割り当てでは、アドレスから使用可能なすべてのポートを使い切った場合にのみ、NAT プール内の次に使用可能なアドレスが選択されます。

シーケンシャル割り当ては、MS-DPCとMS-100、MS-400、MS-500マルチサービスPICにのみ設定できます。MS-MPC カードと MS-MIC カードは、ラウンドロビン割り当て方式のみを使用します。

手記:
  • このレガシ実装は下位互換性を提供するため、推奨されるアプローチではなくなりました。

次の設定例で napt と呼ばれる NAT プールは、シーケンシャル実装を使用します。

この例では、ポートは最初のアドレス範囲の最初のアドレスから割り当てられ、使用可能なすべてのポートが使用されるまでこのアドレスから割り当てが続行されます。使用可能なポートがすべて使用されると、次のアドレス(同じアドレス範囲または次のアドレス範囲)が割り当てられ、必要に応じてそのすべてのポートが選択されます。napt プールの例の場合、タプルアドレス (ポート 100.0.0.4:3333) は、最初の範囲のすべてのアドレスのすべてのポートが使用された場合にのみ割り当てられます。

  • 最初の接続は、アドレス:ポート 100.0.0.1:3333 に割り当てられます。

  • 2 番目の接続は、アドレス:ポート 100.0.0.1:3334 に割り当てられます。

  • 3 番目の接続は、アドレス:ポート 100.0.0.2:3333 に割り当てられます。

  • 4 番目の接続は、アドレス:ポート 100.0.0.2:3334 に割り当てられます。

パリティの保持とNAPTの範囲の保持

パリティ保持と範囲保持オプションはNAPTで使用可能であり、MS-DPCおよびMS-100、MS-400、MS-500マルチサービスPICでサポートされています。MS-MPC および MS-MIC のサポートは、Junos OS リリース 15.1R1 から始まります。NAPT では、以下のオプションを使用できます。

  • パリティの保持— preserve-parity コマンドを使用して、送信元ポートが偶数のパケットには偶数のポートを割り当て、送信元ポートが奇数のパケットには奇数のポートを割り当てます。

  • 範囲の保持— preserve-range コマンドを使用して、元のパケットに予約された範囲内の送信元ポートが含まれていると仮定して、0〜1023 の範囲でポートを割り当てます。これは、データ セッションではなく、制御セッションに適用されます。

NAPTのアドレスプールとエンドポイント非依存マッピング

アドレス プーリング

アドレス プーリング、またはアドレス プーリング ペア(APP)は、同じ内部ホストから発信されるすべてのセッションに同じ外部IPアドレスを割り当てます。この機能は、プールから外部IPアドレスを割り当てるときに使用できます。このオプションは、ポートの使用率には影響しません

アドレス プーリングは、アプリケーションが複数の接続を開く際の問題を解決します。たとえば、Session Initiation Protocol(SIP)クライアントが Real-Time Transport Protocol(RTP)パケットと Real-Time Control Protocol(RTCP)パケットを送信する場合、SIP サーバは通常、NAT の対象であっても、同じ IP アドレスからの送信を要求します。RTP と RTCP の IP アドレスが異なる場合、受信エンドポイントでパケットが破棄される可能性があります。ポートをネゴシエートするポイントツーポイント(P2P)プロトコル(アドレスの安定性を前提)は、アドレス プーリング ペアの恩恵を受けます。

以下は、アドレスプーリングのユースケースです。

  • インスタント メッセージング サービスを提供するサイトでは、チャットとその制御セッションが同じパブリック ソース アドレスから行われる必要があります。ユーザーがチャットにサインオンすると、制御セッションによってユーザーが認証されます。ユーザーがチャットセッションを開始すると、別のセッションが開始されます。チャット セッションが認証セッションと異なる送信元アドレスから発信された場合、インスタント メッセージング サーバーは、チャット セッションが承認されていないアドレスから発信されたため、チャット セッションを拒否します。

  • オンラインバンキングサイトなどの特定のWebサイトでは、特定のホストからのすべての接続が同じIPアドレスからのものである必要があります。

手記:

Junos OS リリース 14.1以降、そのサービス セットのAPP(アドレス プーリング ペア)を含むサービス セットを非アクティブ化すると、PIC コンソールにメッセージが表示され、そのサービス セットのマッピングがクリアされます。これらのメッセージは、サービス セットの削除が開始されるとトリガーされ、サービス セットの削除が完了すると再度生成されます。削除の開始時と終了時に、次のサンプルメッセージが表示されます。

  • Nov 15 08:33:13.974 LOG:Critical] SVC-SET ss1(iid 5)非アクティブ化/削除:NATマッピングとフローの削除が開始されました

  • Nov 15 08:33:14.674 LOG:Critical] SVC-SET ss1(iid 5)非アクティブ化/削除:NATマッピングとフローの削除が完了しました

サービス セットに多数の APP が含まれている拡張環境では、大量のメッセージが生成され、このプロセスに時間がかかります。サービス セットの削除が完了したことを示すコンソール メッセージが表示されるまで待ってから、サービス セットを再アクティブ化することをお勧めします。

エンドポイントに依存しないマッピングとエンドポイントに依存しないフィルタリング

エンドポイント独立マッピング (EIM) は、特定のホストからのすべての接続が同じ内部ポートを使用する場合、同じ外部アドレス ポートの割り当てを保証します。つまり、異なる送信元ポートから来た場合は、別の外部アドレスを自由に割り当てることができます。

EIM と APP は、以下のとおり異なります。

  • APPは、同じ外部IPアドレスを確実に割り当てます。

  • EIM は、外部ホストが接続できる安定した外部IPアドレスおよびポートを (一定期間) 提供します。エンドポイント非依存フィルタリング(EIF)は、どの外部ホストが内部ホストに接続できるかを制御します。

手記:

Junos OS リリース 14.1 以降、そのサービス セットに対するエンドポイントに依存しないマッピング(EIM)マッピングを含むサービス セットを非アクティブ化すると、PIC コンソールにメッセージが表示され、そのサービス セットに対するマッピングがクリアされます。これらのメッセージは、サービス セットの削除が開始されるとトリガーされ、サービス セットの削除が完了すると再度生成されます。削除の開始時と終了時に、次のサンプルメッセージが表示されます。

  • Nov 15 08:33:13.974 LOG:Critical] SVC-SET ss1(iid 5)非アクティブ化/削除:NATマッピングとフローの削除が開始されました

  • Nov 15 08:33:14.674 LOG:Critical] SVC-SET ss1(iid 5)非アクティブ化/削除:NATマッピングとフローの削除が完了しました

サービス・セット内に多数の EIM マッピングを含むスケーリングされた環境では、大量のメッセージが生成され、このプロセスにはある程度の時間がかかります。サービス セットの削除が完了したことを示すコンソール メッセージが表示されるまで待ってから、サービス セットを再アクティブ化することをお勧めします。

NAPTのセキュアなポートブロックの割り当て

ポートブロックの割り当ては、MS-DPCを搭載したMXシリーズルーターと、MS-100、MS-400、MS-500マルチサービスPICを搭載したM Seriesルーターでサポートされています。ポートブロックの割り当ては、Junos OSリリース14.2R2以降のMS-MPCおよびMS-MICを搭載したMXシリーズルーターでサポートされています。

通信事業者は、IPアドレス(RADIUSまたはDHCP)ログを使用して加入者を追跡します。NAPT を使用する場合、IP アドレスは複数の加入者によって共有され、キャリアは NAT ログの一部である IP アドレスとポートを追跡する必要があります。ポートは非常に高い割合で使用および再利用されるため、ログを使用した加入者の追跡は、アーカイブと関連付けが困難なメッセージの数が多いため、困難になります。ブロック単位でのポートの割り当てを有効にすることで、ポートブロックの割り当てによってログ数が大幅に削減され、加入者の追跡が容易になります。

NAPTのセキュアなポートブロックの割り当て

セキュア ポート ブロック割り当ては、変換タイプ napt-44stateful-nat64に使用できます。

ポートのブロックを割り当てる場合、最後に割り当てられたブロックが現在のアクティブなブロックになります。NAT ポートの新しい要求は、アクティブなブロックから処理されます。ポートは、現在のアクティブなブロックからランダムに割り当てられます。

セキュア ポート ブロック割り当てを設定する場合、以下を指定できます。

  • block-size

  • max-blocks-per-address

  • active-block-timeout

ポートブロック割り当ての暫定ロギング

ポートブロックの割り当てにより、加入者に割り当てられたポートのセットごとに1つのsyslogログが生成されます。これらのログはUDPベースであり、特に実行時間の長いフローの場合、ネットワークで失われる可能性があります。暫定ロギングは、ブロックの少なくとも1つのポートにトラフィックがあるアクティブブロックに対して、設定された間隔で上記のログを再送信するようにトリガーします。

暫定ロギングは、sp-インターフェイスのservices-optionsの下にpba-interim-logging-intervalステートメントを含めることでアクティブになります。

NAPT実装方法の比較

表 1 は、使用可能な NAPT 実装方法の機能比較を示しています。

表1:NAPT実装方法の比較

特徴/機能

ダイナミックポート割り当て

セキュアなポートブロックの割り当て

決定論的なポートブロックの割り当て

IP あたりのユーザー数

高い

中程度

低い

セキュリティ リスク

低い

中程度

中程度

ログ使用率

高い

低い

なし(ログは不要)

セキュリティリスクの低減

ランダム割り当て

アクティブブロックタイムアウト 機能

該当なし

IPあたりのユーザー数の増加

該当なし

小さなポートブロックを複数構成して、ユーザー/パブリックIPを最大化します

アルゴリズムに基づくポート割り当て

IPv4 ネットワークでの NAPT の設定

ネットワーク アドレス ポート変換 (NAPT) は、多数のネットワーク アドレスとその TCP/UDP ポートを 1 つのネットワーク アドレスとその TCP/UDP ポートに変換する方法です。この変換は、IPv4 と IPv6 の両方のネットワークで設定できます。このセクションでは、IPv4 ネットワークで NAPT を設定する手順について説明します。

NAPT を設定するには、送信元 IPv4 アドレスを動的に変換するためのルールを [edit services nat] 階層レベルで設定する必要があります。

IPv4 ネットワークで NAPT を設定するには、次の手順に従います。

  1. 設定モードで、 [edit services] 階層レベルに移動します。
  2. サービス セットと NAT ルールを設定します。

    次の例では、サービス セットの名前は s1 で、NAT ルールの名前は rule-napt-44 です。

  3. サービスセットの [interface-service] 階層レベルに移動します。
  4. サービスインターフェイスを設定します。

    次の例では、サービス インターフェイスの名前は ms-0/1/0 です。

    手記:

    サービス インターフェイスがルーターに存在しない場合、または指定されたインターフェイスが機能していない場合、次のコマンドを実行するとエラーが発生する可能性があります。

  5. [edit services nat] 階層レベルに移動します。services 階層の最上位から コマンドを発行するか、top キーワードを使用します。
  6. アドレスでNAT プールを設定します。

    次の例では、プールの名前は napt-pool で、アドレスは 10.10.10.0 です。

  7. ポートを設定します。

    次の例では、ポートタイプが シーケンシャル または autoとして選択されています。

    手記:

    Junos OS リリース 14.2 以降、ポートの順次割り当てを設定できる sequential オプションが導入されました。[edit services nat pool nat-pool-name]階層レベルのport automatic ステートメントで使用できるsequentialオプションとrandom-allocationオプションは、相互に排他的です。シーケンシャル割り当てには sequential オプションを、ポートをランダムに委任するには random-allocation オプションを含めることができます。デフォルトでは、[edit services nat pool nat-pool- name]階層レベルで port automatic ステートメントのみを含めると、ポートの順次割り当てが行われます。auto オプションは非表示になっており、Junos OS リリース 14.2 以降では非推奨となり、下位互換性のためにのみ維持されています。これは、将来のソフトウェア リリースで完全に削除される可能性があります。

  8. ルールと一致方向を設定します。

    次の例では、ルールの名前は rule-napt-44 で、一致方向は input です

  9. 条件、変換されたトラフィックのアクション、および変換タイプを設定します。

    次の例では、条件の名前は t1、変換されたトラフィックのアクションは 変換され、送信元プールの名前は napt-pool、変換タイプは napt-44 です。

  10. [edit services adaptive-services-pics] 階層レベルに移動します。コマンドでは、top キーワードによって、コマンドが階層の最上位から実行されるようになります。
  11. トレース オプションを設定します。

    次の例では、tracing パラメーターを all に構成しています。

  12. [edit services] 階層レベルで show コマンドを使用して、設定を確認します。

次の例では、変換タイプを napt-44 として設定します。

NAT へのフォールバックによる小規模プールへの動的アドレス変換

次の設定では、大きなプレフィックスから小さなプールへのアドレス変換を行い、 /24 サブネットを 10 個のアドレスのプールに変換しています。送信元プール(src-pool)のアドレスが枯渇すると、NAPT オーバーロード プール(pat-pool)によって NAT が提供されます。

小規模プールでの動的アドレス変換

次の設定では、大きなプレフィックスから小さなプールへのアドレス変換を行い、 /24 サブネットを 10 個のアドレスのプールに変換しています。最初の 10 個のホスト セッションからのセッションには、先着順でプールからアドレスが割り当てられ、それ以降の要求は拒否されます。NAT が割り当てられた各ホストは、複数のセッションに参加できます。

IPv6 ネットワークでの NAPT の設定

ネットワーク アドレス ポート変換 (NAPT) は、多数のネットワーク アドレスとその TCP/UDP ポートを 1 つのネットワーク アドレスとその TCP/UDP ポートに変換する方法です。この変換は、IPv4 と IPv6 の両方のネットワークで設定できます。このセクションでは、IPv6 ネットワークで NAPT を設定する手順について説明します。MS-MPC または MS-MIC を使用している場合、IPv6 ネットワークでの NAPT の設定はサポートされません。IPv4 ネットワークでの NAPT の設定については、 IPv4 ネットワークでの NAPT の設定を参照してください。

NAPT を設定するには、送信元 IPv6 アドレスを動的に変換するためのルールを [edit services nat] 階層レベルで設定する必要があります。

IPv6 ネットワークで NAPT を設定するには、次の手順に従います。

  1. 設定モードで、 [edit services nat] 階層レベルに移動します。
  2. 動的変換に使用する必要がある IPv6 送信元アドレスのプールを定義します。NAPT の場合は、ソース プールを構成するときにポート番号も指定します。

    例えば:

  3. 送信元アドレスを変換するためのNAT ルールを定義します。これを行うには、ルールの match-direction ステートメントを input に設定します。さらに、前のステップで定義したプールのアドレスを変換するための変換タイプとして napt-66 を使用する条件を定義します。 napt-66 変換タイプは、MS-DPC、MS-100、MS-400、およびMS-500ラインカードでのみサポートされていることに注意してください。

    例えば:

  4. up コマンドを入力して、[edit services]階層レベルに移動します。
  5. サービス セットを定義して、使用する必要があるサービス インターフェイスを指定し、NAPT 変換用に実装されている NAT ルールを参照します。

    例えば:

  6. アダプティブ サービス PIC のトレース オプションを定義します。

    例えば:

次に、IPv6 ネットワークの動的送信元(アドレスおよびポート)変換(NAPT)を設定する例を示します。

例:ポート変換による NAT の設定

この例では、ポート変換を使用してNATを設定する方法を示しています。

必要条件

この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。

  • サービスDPCを搭載したMXシリーズ5Gユニバーサルルーティングプラットフォーム、またはサービスPICを搭載したM Seriesマルチサービスエッジルーター

  • ドメイン・ネーム・サーバー (DNS)

  • Junos OS リリース 11.4 以降

概要

この例では、完全な CGN NAT44 設定と詳細オプションを示します。

ポート変換による NAT の設定

プロシージャ

手順

サービスセットを設定するには、次の手順に従います。

  1. サービスセットを設定します。

  2. 設定モードで、 [edit services nat] 階層レベルに移動します。

  3. ダイナミック変換に使用する必要のある送信元アドレスのプールを定義します。NAPT の場合は、ソース プールを構成するときにポート番号も指定します。

    例えば:

  4. 使用する NAT ルールを指定します。

  5. 送信元アドレスを変換するためのNAT ルールを定義します。これを行うには、ルールの match-direction ステートメントを input に設定します。さらに、前のステップで定義したプールのアドレスを変換するための変換タイプとして napt-44 を使用する条件を定義します。

    例えば:

  6. インターフェイスサービスを指定します。

業績

例:インターフェイス サービス セットを使用した MS-MPC での NAPT 設定

この例では、MS-MPC(マルチサービス モジュラー ポート コンセントレータ)をサービス インターフェイス カードとして使用し、MXシリーズルーターでポート変換(NAPT)によるネットワーク アドレス変換を設定する方法を示します。

必要条件

この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。

  • MXシリーズルーター

  • MS-MPC(マルチサービス モジュラー ポート コンセントレータ)

  • Junos OS リリース 13.2R1 以降

概要

サービスプロバイダは、新しい加入者に対応するためのNATサービスを提供するプラットフォームとしてMS-MPCを選択しました。

構成

MS-MPC をサービス インターフェイス カードとして使用して NAPT44 を設定するには、次のタスクを実行します。

CLIクイック構成

この例を素早く設定するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除し、ネットワーク設定に合わせて必要な詳細を変更し、コマンドを[edit]階層レベルのCLIにコピー&ペーストしてください。

インターフェイスの設定

手順

NAT 処理に必要なインターフェイスを設定します。次のインターフェイスが必要になります。

  • 顧客との間のトラフィックを処理する、顧客向けのインターフェイス。

  • インターネットに面したインターフェイス。

  • 顧客向けインターフェイスにNATおよびステートフルファイアウォールサービスを提供するサービスインターフェイス

  1. 顧客向けインターフェイスのインターフェイスを設定します。

  2. インターネットに接続するインターフェイスのインターフェイスを設定します。

  3. 顧客向けインターフェイスにサービスを接続するサービスセットのインターフェイスを設定します。この例では、インターフェイスはMS-MPCに存在します。

許容可能なアプリケーショントラフィックのアプリケーションセットの設定

手順

受信トラフィックで受け入れ可能なアプリケーションを特定します。

  1. 許容可能な受信アプリケーショントラフィックを含むアプリケーションセットを指定します。

業績

ステートフル ファイアウォール ルールの設定

手順

すべての受信トラフィックを受け入れるステートフル ルールオプションは、ファイアウォールルールを構成します。

  1. すべての入力と出力に対するファイアウォール マッチングの指定

  2. 顧客向けインターフェイスからの送信元アドレスと許容可能なアプリケーショントラフィックを特定します。

業績

NAT プールとルールの設定

手順

自動ポート割り当てによるアドレス変換のNAT プールとルールを設定します。

  1. 自動ポート割り当てでNAT プールを設定します。

  2. 定義されたNAT プールを使用して、翻訳タイプ napt-44 を適用するNAT ルールを設定します。

業績

サービス セットの設定

手順

インターフェイスタイプのサービス セットを設定します。

  1. お客様のトラフィックに適用するNATおよびステートフルファイアウォールルールを指定します。

  2. お客様のトラフィックにルールを適用するサービスインターフェイスを指定します。

業績

変更履歴

サポートされる機能は、使用しているプラットフォームとリリースによって決まります。特定の機能がお使いのプラットフォームでサポートされているかどうかを確認するには、 Feature Explorer を使用します。

解放
形容
14.2
Junos OS リリース 14.2以降では、指定した範囲からポートを順番に割り当てるために、 [edit services nat pool nat-pool-name]階層レベルで port automaticステートメントに sequentialオプションを含めることができます。
14.2
Junos OS リリース 14.2以降、 auto オプションは非表示になり、非推奨となり、下位互換性のためにのみ維持されています。
14.2
Junos OS リリース 14.2 から、ポートの順次割り当てを設定できる sequential オプションが導入されました。
14.1
Junos OS リリース 14.1以降、そのサービス セットのAPP(アドレス プーリング ペア)を含むサービス セットを非アクティブ化すると、PIC コンソールにメッセージが表示され、そのサービス セットのマッピングがクリアされます。
14.1
Junos OS リリース 14.1 以降、そのサービス セットに対するエンドポイントに依存しないマッピング(EIM)マッピングを含むサービス セットを非アクティブ化すると、PIC コンソールにメッセージが表示され、そのサービス セットに対するマッピングがクリアされます。