Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

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

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

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

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 プールでは新しいフローは許可されません。

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

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番目の接続がアドレス:ポート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の範囲の保持

PAPTでは、パリティーの保持と範囲の保持オプションが利用可能で、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アドレスを割り当てるときに使用できます。このオプションは、ポートの使用には影響しません

アドレスプーリングは、アプリケーションが複数の接続を開く際の問題を解決します。例えば、セッション開始プロトコル(SIP)クライアントがリアルタイムトランスポートプロトコル(RTP)パケットとリアルタイム制御プロトコル(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]階層レベルに移動します。サービス階層の最上位からコマンドを発行するか、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 で、一致方向は 入力されています。

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

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

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

    次の例では、トレーシングパラメーターが 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. 顧客のトラフィックにルールを適用するサービスインターフェイスを指定します。

結果

変更履歴テーブル

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

リリース
説明
14.2
リリース14.2以降Junos OS、指定した範囲からのポートの順次割り当てを行うために、 [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コンソールにメッセージが表示され、そのサービスセットのマッピングがクリアされます。