ネットワーク アドレス変換について
アドレス変換は、パケット内の実際のアドレスを、宛先ネットワーク上でルーティング可能な、マッピングされたアドレスで置き換えます。また、プロセスの一環として、デバイスにより変換データベースにその置換が記録されます。これらのレコードは、「xlate」エントリと呼ばれます。適切な xlate エントリが存在して、戻りパケットでのアドレス変換(マッピングされたアドレスの元の実アドレスの置換)を許可する必要があります。この手順は、「非変換」と呼ばれることもあります。したがって、ネットワークアドレス変換(NAT)は、実際には次の 2 つのステップから成ります。実アドレスからマッピングされたアドレスへの変換、およびリターントラフィックの逆変換。
NAT の主な機能の 1 つは、プライベート IP ネットワークがインターネットに接続できるようにすることです。ネットワーク アドレス変換により、プライベート IP アドレスはパブリック IP アドレスに置き換えられます。つまり、内部ネットワーク内のプライベート アドレスが、パブリックなインターネットで使用できる合法的なルーティング可能アドレスに変換されます。このようにして、NAT はパブリック アドレスを保護します。たとえば、ネットワーク全体で 1 つのパブリック アドレスだけを外部との通信に使用するように NAT ルールを設定できます。
NAT の他の機能には、次のおりです。
-
セキュリティ:内部 IP アドレスを隠蔽することで、直接攻撃を阻止します。
-
IP ルーティング ソリューション:重複する IP アドレスの問題がなくなります。
-
柔軟性:外部で使用可能なパブリック アドレスに影響を与えずに、内部 IP アドレッシング方式を変更できます。たとえば、インターネットにアクセス可能なサーバでは、インターネット用に固定の IP アドレスを保持できますが、内部的には、サーバ アドレスを変更できます。
シスコ デバイスでは、NAT(アウトバウンドの各ホスト セッションに、グローバルに一意のアドレスを提供する)とポート アドレス変換(PAT)(一意のポート番号を組み合わせた単一の同じアドレスを提供する)の両方を、最大で 64,000 個のアウトバウンドまたはインバウンドの同時ホスト セッションに対してサポートしています。NAT で使用するグローバル アドレスは、アドレス変換用に特別に指定したアドレス プールから取得されます。PAT で使用する一意のグローバル アドレスには、1 つのグローバル アドレスまたは指定されたインターフェイスの IP アドレスのいずれかを指定できます。
デバイスは、既存の NAT ルールが特定のトラフィックと一致した場合にアドレスを変換します。NAT ルールが一致しなかった場合、パケットの処理が続行されます。ただし、NAT 制御をイネーブルにしている場合は例外です。NAT 制御では、よりセキュリティの高いインターフェイス(内部)からよりセキュリティの低いインターフェイス(外部)へのパケット通過は NAT ルールに一致している必要があります。一致していない場合、パケットの処理は停止します。
シスコ デバイスは、インバウンドとアウトバウンドの両方の接続で、NAT または PAT を実行できます。インバウンド アドレスを変換するこの機能は、外部の、つまりセキュリティの高くないインターフェイス上のアドレスが、使用可能な内部 IP アドレスに変換されるため、「外部 NAT」と呼ばれます。アウトバウンド トラフィックを変換する場合と同様に、ダイナミック NAT、スタティック NAT、ダイナミック PAT、またはスタティック PAT を選択できます。必要に応じて、内部 NAT とともに外部 NAT を使用して、パケットの送信元 IP アドレスおよび宛先 IP アドレスの両方を変換できます。
(注) |
このマニュアルでは、すべての変換タイプを一般的に NAT と呼びます。それぞれのタイプの詳細については、アドレス変換のタイプを参照してください。NAT を説明する場合、内部および外部という用語は 2 つのインターフェイス間のセキュリティ関係を表します。セキュリティ レベルの高い方が内部で、セキュリティ レベルの低い方が外部になります。 |
以前の ASA バージョンおよび他のデバイスと比較すると、ASA バージョン 8.3 のリリースでは、ネットワーク アドレス変換を設定する、インターフェイスに依存しない簡単なアプローチが提供されています。詳細については、ASA 8.3 以降のデバイスでの「簡易」NAT についてを参照してください。
Cisco IOS ルータ
PIX、FWSM、および ASA セキュリティ デバイス
-
PIX、FWSM、および 8.3 よりも前の ASA デバイス
-
ASA 8.3+ デバイス
関連項目
アドレス変換のタイプ
次の表に、アドレス変換のさまざまなタイプについての簡単な説明を示します。
スタティック NAT |
実際の送信元アドレスから特定のマッピングされたアドレスへの固定変換。個々の送信元アドレスは、IP プロトコルおよびポート番号に関係なく、常にマッピングされた同じアドレスに変換されます。 |
スタティック PAT |
特定の TCP または UDP ポート番号を含む実際の送信元アドレスから特定のマッピングされたアドレスおよびポートへの固定変換。つまり、個々の送信元アドレス/ポートは、常にマッピングされた同じアドレス/ポートに変換されます。 |
ポリシー スタティック NAT |
実際の送信元アドレスから特定のマッピングされたアドレスへの固定変換。宛先ネットワーク/ホストも指定しますが、サービスは常に IP です。 |
ポリシー スタティック PAT |
特定の TCP または UDP ポート番号を含む実際の送信元アドレスから特定のマッピングされたアドレスおよびポートへの固定変換。宛先ネットワーク/ホストおよびサービスも指定します。 |
ダイナミック NAT |
実際の送信元アドレスから、共有アドレス プールから取得されるマッピングされたアドレスへのダイナミック変換。個々の送信元アドレスを、プール内の使用可能な任意のアドレスにマッピングできます。 |
ダイナミック PAT |
実際の送信元アドレスから単一のマッピングされたアドレスへの変換。関連するポート番号のダイナミック変換によって、単一性が実現されます。つまり、個々の実際のアドレス/ポートの組み合わせは、マッピングされた同じアドレスに変換されますが、一意のポートに割り当てられます。これは、「オーバーロード」と呼ばれることがあります。 |
ポリシー ダイナミック NAT |
共有アドレス プールを使用する、指定したインターフェイス上の特定の送信元アドレス/宛先アドレス/サービスの組み合わせのダイナミック変換。変換の方向(アウトバウンドまたはインバウンド)も指定します。 |
アイデンティティ NAT |
指定したアドレスがそれ自身に変換されます。つまり、事実上、変換されません。アウトバウンド接続だけに適用されます。アイデンティティ NAT は、スタティック NAT の特別なタイプです。 |
NAT Exempt |
指定した送信元/宛先アドレスの組み合わせに対して変換がバイパスされます。接続は、アウトバウンド方向とインバウンド方向の両方で開始できます。 |
(注) |
これらのタイプの一部は ASA 8.3 以降のデバイスに適用されませんが、ASA 8.3+ デバイスではダイナミック NAT と PAT のオプションが提供されます。これは、ダイナミック PAT のバックアップ機能を伴うダイナミック NAT です。 |
ASA 8.3 以降のデバイスでの「簡易」NAT について
以前の ASA バージョンおよび他のデバイスと比較すると、ASA バージョン 8.3 のリリースでは、ネットワーク アドレス変換(NAT)を設定する簡単なアプローチが提供されています。NAT の設定は、以前のフローベース方式を、「元のパケット」から「変換後のパケット」へのアプローチで置き換えることによって簡素化されています。
デバイス上のすべての NAT ルール(スタティック NAT、ダイナミック PAT、およびダイナミック NAT)が単一のテーブルに示され、基本的にすべての NAT ルールの設定に同じダイアログボックスが使用されます。NAT ルールはインターフェイスに依存せず(つまり、インターフェイスは任意)、このことは、セキュリティ レベルにも依存しないということを意味します。
NAT ルールは、セキュリティ レベルに依存しなくなりました。すべてのインターフェイスで構成されるグローバルアドレス空間が利用可能であり、キーワード「any」を使用して指定されます。すべてのインターフェイスフィールドはデフォルトで any に設定されるため、特定のインターフェイスが指定されない限り、ルールはすべてのインターフェイスに適用されます。
ネットワーク オブジェクト NAT
対応する NAT ルールが指定したセキュリティ デバイスに自動的に適用されるように、ホスト、アドレス範囲、およびネットワーク オブジェクトに NAT プロパティを定義することもできます。これらのオブジェクトを使用するということは、必要な IP アドレス、サービス、ポート、および任意のインターフェイスを 1 度だけ入力すればよいということを意味します。自動的に生成されるこれらのオブジェクトベースのルールは、「ネットワーク オブジェクト NAT」ルールと呼ばれます。これらのルールはルールテーブルからは編集または削除できません。Policy Object Manager で適切なオブジェクトを編集する必要があります。ただし、ネットワークオブジェクトに定義した後でルールテーブルから編集できます。詳細については、[Add Network/Host]/[Edit Network/Host] ダイアログボックス - [NAT] タブを参照してください。
(注) |
ネットワークオブジェクト NAT ルールはデバイス固有であるため、ポリシービューの [変換ルール(Translation Rules)] テーブルには表示されません。 |
NAT テーブル
前述のとおり、デバイス上の NAT ルールはすべて単一のテーブルに表示されます。このテーブルは、「手動」セクション、ネットワークオブジェクト NAT ルールセクション、およびもう 1 つの手動ルールセクションの 3 つのセクションに分かれています。両方の手動セクションでルールを追加、編集、および順序付けできます。ネットワーク オブジェクト NAT ルールは自動的に追加および順序付けされます。前述のとおり、これらのルールを編集するには、関連するオブジェクトを編集する必要があります。
テーブル内の NAT ルールはトップダウン方式で最初に一致したルールから順に適用されます。つまり、パケットは、NAT ルールに一致した場合にだけ変換され、一致するとすぐに、その位置またはセクションに関係なく、NAT ルールの処理が停止します。
このテーブルを使用して、手動ルールの整理および管理を行うことができます。つまり、任意の順序でルールを挿入したり、ルールを再順序付けしたりできます。手動ルールの 2 つのセクションにより、自動オブジェクト ルールの前と後の両方に手動ルールを配置できます。
ネットワーク オブジェクト NAT ルールは、スタティック ルールがダイナミック ルールの前にくるように、自動的に配置されます。これらの 2 つのタイプは、それぞれさらに次のように順序付けされます。
-
IP アドレスの数が最も少ないルール:1 つの IP アドレスを持つオブジェクトのルールのあとに、2 つのアドレスを持つオブジェクトのルールが表示され、そのあとに 3 つのアドレスを持つオブジェクトのルールが表示されるというように続きます。
-
IP アドレス番号:同じ数の IP アドレスを持つオブジェクトについては、IP アドレス自体が番号順(昇順)になるように整列されます。たとえば、10.1.1.1 のルールのあとに 11.1.1.1 のルールが表示されます。
-
オブジェクト名:IP アドレスが等しい場合は、オブジェクト名のアルファベット順にルールが順序付けされます。
また、変換は最初に一致したルールに基づくことに注意してください。
Destination Translation
手動のスタティック ルールでは、送信元アドレス変換に加えて、宛先アドレス変換も設定できます。送信元変換と宛先変換は、同じダイアログボックスで同時に定義できます。さらに、送信元変換にはスタティックまたはダイナミックを指定できますが、宛先変換は常にスタティックであり、手動ルールでだけ使用できます。
双方向または Twice NAT
手動のスタティックルールを作成するときに、[双方向(Bi-directional)] オプションを選択できます。このオプションでは、実際には 2 つのスタティック NAT ルール(両方向の変換を含む)を示す 1 つのエントリがルールテーブル内に作成されます。つまり、指定した送信元/変換後のアドレスのペアに対してスタティック ルールが作成されるとともに、変換後のアドレス/送信元のペアに対して、逆のルールが作成されます。
たとえば、[Source] フィールドが [Host1] で [Translated] フィールドが [Host2] のスタティック ルールを作成するときに [Bi-directional] を選択した場合、ルール テーブルに 2 つの行が追加されます。1 つは Host1 を Host2 に変換する行、もう 1 つは Host2 を Host1 に変換する行です。
この変換は、実際には 2 つのルールを取得および処理するために必要なルックアップが 1 つで済むため、「Twice NAT」と呼ばれることもあります。
多対 1 のアドレッシング
一般に、スタティック NAT ルールは、1 対 1 のアドレス マッピングを使用して設定されますが、多数の IP アドレスを少数または 1 つの IP アドレスにマッピングするスタティック NAT ルールを定義できるようになりました。機能的には、多対少数のマッピングは多対 1 のマッピングと同じですが、設定がより複雑になるため、必要に応じてアドレスごとに多対 1 のルールを作成することを推奨します。
多対 1 のアドレッシングは、たとえば、要求を内部ネットワークにリダイレクトするロード バランサにアクセスするためにパブリック IP アドレスの範囲を使用する場合などに役立つことがあります。