NAT を使用する理由
IP ネットワーク内の各コンピュータおよびデバイスには、ホストを識別する固有の IP アドレスが割り当てられています。パブリック IPv4 アドレスが不足しているため、これらの IP アドレスの大部分はプライベートであり、プライベートの企業ネットワークの外部にルーティングできません。RFC 1918 では、アドバタイズされない、内部で使用できるプライベート IP アドレスが次のように定義されています。
• 10.0.0.0 ~ 10.255.255.255
• 172.16.0.0 ~ 172.31.255.255
• 192.168.0.0 ~ 192.168.255.255
NAT の主な機能の 1 つは、プライベート IP ネットワークがインターネットに接続できるようにすることです。NAT は、プライベート IP アドレスをパブリック IP に置き換え、内部プライベート ネットワーク内のプライベート アドレスをパブリック インターネットで使用可能な正式の、ルーティング可能なアドレスに変換します。このようにして、NAT はパブリック アドレスを節約します。これは、ネットワーク全体に対して 1 つのパブリック アドレスだけを外部に最小限にアドバタイズするように NAT を設定できるからです。
NAT の他の機能は、次のとおりです。
• セキュリティ:内部 IP アドレスを隠蔽し、直接攻撃を防止します。
• IP ルーティング ソリューション:NAT を使用する際は、重複 IP アドレスが問題になりません。
• 柔軟性:外部で使用可能なパブリック アドレスに影響を与えずに、内部 IP アドレッシング スキームを変更できます。たとえば、インターネットにアクセス可能なサーバの場合、インターネット用に固定 IP アドレスを維持できますが、内部的にはサーバのアドレスを変更できます。
• IPv4 と IPv6(ルーテッド モードのみ)の間の変換(バージョン 9.0(1) 以降):IPv4 ネットワークに IPv6 ネットワークを接続する場合は、NAT を使用すると、2 つのタイプのアドレス間で変換を行うことができます。
(注) NAT は必須ではありません。特定のトラフィック セットに NAT を設定しない場合、そのトラフィックは変換されませんが、セキュリティ ポリシーはすべて通常どおりに適用されます。
NAT の用語
このマニュアルでは、次の用語を使用しています。
• 実際のアドレス/ホスト/ネットワーク/インターフェイス:実際のアドレスとは、ホストで定義されている、変換前のアドレスです。内部ネットワークが外部にアクセスするときに内部ネットワークを変換するという典型的な NAT のシナリオでは、内部ネットワークが「実際の」ネットワークになります。内部ネットワークだけではなく、ASA に接続されている任意のネットワークを変換できます。したがって、外部アドレスを変換するように NAT を設定した場合、「実際の」は、外部ネットワークが内部ネットワークにアクセスしたときの外部ネットワークを指します。
• マッピング アドレス/ホスト/ネットワーク/インターフェイス:マッピング アドレスとは、実際のアドレスが変換されるアドレスです。内部ネットワークが外部にアクセスするときに内部ネットワークを変換するという典型的な NAT のシナリオでは、外部ネットワークが「マッピング」ネットワークになります。
(注) アドレスの変換中、ASA のインターフェイスに存在する IP アドレスは変換されません。
• 双方向の開始:スタティック NAT では、 双方向に 開始できます。つまり、ホストへの接続とホストからの接続の両方を開始できます。
• 送信元および宛先の NAT:任意のパケットについて、送信元 IP アドレスと宛先 IP アドレスの両方を NAT ルールと比較し、1 つまたは両方を変換する、または変換しないことができます。スタティック NAT の場合、ルールは双方向であるため、たとえば、特定の接続が「宛先」アドレスから発生する場合でも、このガイドを通じてのコマンドおよび説明では「送信元」および「宛先」が使用されていることに注意してください。
NAT タイプ
次のトピックで、さまざまなタイプの NAT について説明します。
• 「NAT のタイプの概要」
• 「スタティック NAT」
• 「ダイナミック NAT」
• 「ダイナミック PAT」
• 「アイデンティティ NAT」
NAT のタイプの概要
NAT は、次の方法を使用して実装できます。
• スタティック NAT:実際の IP アドレスとマッピング IP アドレスとの間での一貫したマッピング。双方向にトラフィックを開始できます。「スタティック NAT」を参照してください。
• ダイナミック NAT:実際の IP アドレスのグループが、(通常は、より小さい)マッピング IP アドレスのグループに先着順でマッピングされます。実際のホストだけがトラフィックを開始できます。「ダイナミック NAT」を参照してください。
• ダイナミック ポート アドレス変換(PAT):実際の IP アドレスのグループが、1 つの IP アドレスにマッピングされます。この IP アドレスの一意の送信元ポートが使用されます。「ダイナミック PAT」を参照してください。
• アイデンティティ NAT:実際のアドレスが同一アドレスにスタティックに変換され、基本的に NAT をバイパスします。大規模なアドレスのグループを変換するものの、小さいアドレスのサブセットは免除する場合は、NAT をこの方法で設定できます。「アイデンティティ NAT」を参照してください。
スタティック NAT について
スタティック NAT では、実際のアドレスからマッピング アドレスへの固定変換が作成されます。マッピング アドレスは連続する各接続で同じなので、スタティック NAT では、双方向の接続(ホストへの接続とホストからの接続の両方)を開始できます(接続を許可するアクセス ルールが存在する場合)。一方、ダイナミック NAT および PAT では、各ホストが以降の各変換に対して異なるアドレスまたはポートを使用するので、双方向の開始はサポートされません。
次の図に、一般的なスタティック NAT のシナリオを示します。この変換は常にアクティブなので、実際のホストとリモート ホストの両方が接続を開始できます。
図 5-1 スタティック NAT
(注) 必要に応じて、双方向をディセーブルにできます。
ポート アドレス変換を設定したスタティック NAT について
スタティック NAT を使用してポートを指定する場合、ポートまたは IP アドレスを同じ値にマッピングするか、別の値にマッピングするかを選択できます。
次の図に、ポート変換が設定された一般的なスタティック NAT のシナリオを示します。自身にマッピングしたポートと、別の値にマッピングしたポートの両方を示しています。いずれのケースでも、IP アドレスは別の値にマッピングされています。この変換は常にアクティブなので、変換されたホストとリモート ホストの両方が接続を開始できます。
図 5-2 ポート変換を設定したスタティック NAT の一般的なシナリオ
(注) セカンダリ チャネルのアプリケーション インスペクションが必要なアプリケーション(FTP、VoIP など)を使用する場合は、ASA が自動的にセカンダリ ポートを変換します。
アイデンティティ ポート変換を設定したスタティック NAT
次のポート変換を設定したスタティック NAT の例では、リモート ユーザが FTP、HTTP、および SMTP にアクセスするための単一のアドレスを提供します。実際にはこれらのサーバは、実際のネットワーク上の異なるデバイスですが、各サーバに対して、異なるポートでも同じマッピング IP アドレスを使用するというポート変換ルールを設定したスタティック NAT を指定できます
図 5-3 ポート変換を設定したスタティック NAT
標準以外のポートのポート変換を設定したスタティック NAT
ポート変換を設定したスタティック NAT を使用すると、予約済みポートから標準以外のポートへの変換や、その逆の変換も実行できます。たとえば、内部 Web サーバがポート 8080 を使用する場合、ポート 80 に接続することを外部ユーザに許可し、その後、変換を元のポート 8080 に戻すことができます。同様に、セキュリティをさらに高めるには、Web ユーザに標準以外のポート 6785 に接続するように指示し、その後、変換をポート 80 に戻すことができます。
ポート変換を設定したスタティック インターフェイス NAT
スタティック NAT は、実際のアドレスをインターフェイス アドレスとポートの組み合わせにマッピングするように設定できます。たとえば、ASA の outside インターフェイスへの Telnet アクセスを内部ホストにリダイレクトする場合、内部ホストの IP アドレス/ポート 23 を ASA のインターフェイス アドレス/ポート 23 にマッピングできます (ASA への Telnet では最低セキュリティのインターフェイスは許可されませんが、インターフェイス ポート変換が設定されたスタティック NAT は、その Telnet セッションを拒否するのではなく、リダイレクトします)。
1 対多のスタティック NAT
通常、スタティック NAT は 1 対 1 のマッピングで設定します。しかし場合によっては、1 つの実際のアドレスを複数のマッピング アドレスに設定することがあります(1 対多)。1 対多のスタティック NAT を設定する場合、実際のホストがトラフィックを開始すると、常に最初のマッピング アドレスが使用されます。しかし、ホストに向けて開始されたトラフィックの場合、任意のマッピング アドレスへのトラフィックを開始でき、1 つの実際のアドレスには変換されません。
図 5-4 に、一般的な 1 対多のスタティック NAT シナリオを示します。実際のホストが開始すると、常に最初のマッピング アドレスが使用されるため、実際のホスト IP/最初のマッピング IP の変換は、理論的には双方向変換のみが行われます。
図 5-4 1 対多のスタティック NAT
たとえば、10.1.2.27 にロード バランサが存在するとします。要求される URL に応じて、トラフィックを正しい Web サーバにリダイレクトします。
図 5-5 1 対多のスタティック NAT の例
他のマッピング シナリオ(非推奨)
ASA には、1 対 1、1 対多だけではなく、少対多、多対少、多対 1 など任意の種類のスタティック マッピング シナリオを使用できるという柔軟性があります。1 対 1 マッピングまたは 1 対多マッピングだけを使用することをお勧めします。これらの他のマッピング オプションは、予期しない結果が発生する可能性があります。
機能的には、少対多は、1 対多と同じです。しかし、コンフィギュレーションが複雑化して、実際のマッピングが一目では明らかでない場合があるため、必要とする実際の各アドレスに対して 1 対多のコンフィギュレーションを作成することを推奨します。たとえば、少対多のシナリオでは、少数の実際のアドレスが多数のマッピング アドレスに順番にマッピングされます(A は 1、B は 2、C は 3)。すべての実際のアドレスがマッピングされたら、次にマッピングされるアドレスは、最初の実際のアドレスにマッピングされ、すべてのマッピング アドレスがマッピングされるまで続行されます(A は 4、B は 5、C は 6)。この結果、実際の各アドレスに対して複数のマッピング アドレスが存在することになります。1 対多のコンフィギュレーションのように、最初のマッピングだけが双方向であり、以降のマッピングでは、実際のホスト へ のトラフィックを開始できますが、実際のホスト から のすべてのトラフィックは、送信元の最初のマッピング アドレスだけを使用できます。
次の図に、一般的な少対多のスタティック NAT シナリオを示します。
図 5-6 少対多のスタティック NAT
多対少または多対 1 コンフィギュレーションでは、マッピング アドレスよりも多くの実際のアドレスが存在します。実際のアドレスが不足するよりも前に、マッピング アドレスが不足します。双方向の開始を実現できるのは、最下位の実際の IP アドレスとマッピングされたプールの間でマッピングを行ったときだけです。残りの上位の実際のアドレスはトラフィックを開始できますが、これらへのトラフィックを開始できません。接続のリターン トラフィックは、接続の固有の 5 つのタプル(送信元 IP、宛先 IP、送信元ポート、宛先ポート、プロトコル)によって適切な実際のアドレスに転送されます。
(注) 多対少または多対 1 の NAT は PAT ではありません。2 つの実際のホストが同じ送信元ポート番号を使用して同じ外部サーバおよび同じ TCP 宛先ポートにアクセスする場合は、両方のホストが同じ IP アドレスに変換されると、アドレスの競合がある(5 つのタプルが一意でない)ため、両方の接続がリセットされます。
次の図に、一般的な多対少のスタティック NAT シナリオを示します。
図 5-7 多対少のスタティック NAT
このようにスタティック ルールを使用するのではなく、双方向の開始を必要とするトラフィックに 1 対 1 のルールを作成し、残りのアドレスにダイナミック ルールを作成することをお勧めします。
ダイナミック NAT について
ダイナミック NAT では、実際のアドレスのグループは、宛先ネットワーク上でルーティング可能なマッピング アドレスのプールに変換されます。マッピングされたプールにあるアドレスは、通常、実際のグループより少なくなります。変換対象のホストが宛先ネットワークにアクセスすると、ASA は、マッピングされたプールから IP アドレスをそのホストに割り当てます。変換は、実際のホストが接続を開始したときにだけ作成されます。変換は接続が継続している間だけ有効であり、変換がタイムアウトすると、そのユーザは同じ IP アドレスを保持しません。したがって、アクセス ルールでその接続が許可されている場合でも、宛先ネットワークのユーザは、ダイナミック NAT を使用するホストへの確実な接続を開始できません。
次の図に、一般的なダイナミック NAT のシナリオを示します。実際のホストだけが NAT セッションを作成でき、応答トラフィックが許可されます。
図 5-8 ダイナミック NAT
次の図に、マッピング アドレスへの接続開始を試みているリモート ホストを示します。このアドレスは、現時点では変換テーブルにないため、ASA はパケットをドロップしています。
図 5-9 マッピング アドレスへの接続開始を試みているリモート ホスト
(注) 変換が継続している間、アクセス ルールで許可されていれば、リモート ホストは変換済みホストへの接続を開始できます。アドレスは予測不可能であるため、ホストへの接続は確立されません。ただし、この場合は、アクセス ルールのセキュリティに依存できます。
ダイナミック NAT の欠点と利点
ダイナミック NAT には、次の欠点があります。
• マッピングされたプールにあるアドレスが実際のグループより少ない場合、予想以上にトラフィックが多いと、アドレスが不足する可能性があります。
PAT では、1 つのアドレスのポートを使用して 64,000 を超える変換を処理できるため、このイベントが頻繁に発生する場合は、PAT または PAT のフォールバック方式を使用します。
• マッピング プールではルーティング可能なアドレスを多数使用する必要があるのに、ルーティング可能なアドレスは多数用意できない場合があります。
ダイナミック NAT の利点は、一部のプロトコルが PAT を使用できないということです。たとえば、PAT は次の場合は機能しません。
• GRE バージョン 0 などのように、オーバーロードするためのポートがない IP プロトコルでは機能しません。
• 一部のマルチメディア アプリケーションなどのように、1 つのポート上にデータ ストリームを持ち、別のポート上に制御パスを持ち、公開規格ではないアプリケーションでも機能しません。
NAT および PAT のサポートの詳細については、「デフォルト インスペクションと NAT に関する制限事項」を参照してください。
ダイナミック PAT について
ダイナミック PAT では、実際のアドレスおよび送信元ポートが 1 つのマッピング アドレスおよび固有のポートに変換されることによって、複数の実際のアドレスが 1 つのマッピング IP アドレスに変換されます。使用できる場合、実際の送信元ポート番号がマッピング ポートに対して使用されます。ただし、実際のポートが使用 できない 場合は、デフォルトで、マッピング ポートは実際のポート番号と同じポート範囲(0 ~ 511、512 ~ 1023、および 1024 ~ 65535)から選択されます。そのため、1024 よりも下のポートでは、小さい PAT プールのみを使用できます。下位ポート範囲を使用するトラフィックが数多くある場合は、サイズが異なる 3 つの層の代わりにフラットなポート範囲を使用するように指定できます。
送信元ポートが接続ごとに異なるため、各接続には別の変換セッションが必要です。たとえば、10.1.1.1:1025 には、10.1.1.1:1026 とは別の変換が必要です。
次の図に、一般的なダイナミック PAT のシナリオを示します。実際のホストだけが NAT セッションを作成でき、応答トラフィックが許可されます。マッピング アドレスはどの変換でも同じですが、ポートがダイナミックに割り当てられます。
図 5-10 ダイナミック PAT
接続の有効期限が切れると、ポート変換も有効期限切れになります。Multi-Session PAT では、デフォルトで 30 秒の PAT タイムアウトが使用されます。Per-Session PAT(9.0(1) 以降)の場合、xlate が即座に削除されます。宛先ネットワークのユーザは、PAT を使用するホストへの接続を確実には開始できません(アクセス ルールでその接続が許可されている場合も同じです)。
(注) 変換が継続している間、アクセス ルールで許可されていれば、リモート ホストは変換済みホストへの接続を開始できます。実際のポート アドレスおよびマッピング ポート アドレスはどちらも予測不可能であるため、ホストへの接続は確立されません。ただし、この場合は、アクセス ルールのセキュリティに依存できます。
Per-Session PAT と Multi-Session PAT(バージョン 9.0(1) 以降)
Per-Session PAT によって PAT のスケーラビリティが向上し、クラスタリングの場合に各メンバ ユニットに独自の PAT 接続を使用できるようになります。Multi-Session PAT 接続は、マスター ユニットに転送してマスター ユニットを所有者とする必要があります。Per-Session PAT セッションの終了時に、ASA からリセットが送信され、即座に xlate が削除されます。このリセットによって、エンド ノードは即座に接続を解放し、TIME_WAIT 状態を回避します。対照的に、Multi-Session PAT では、PAT タイムアウトが使用されます(デフォルトでは 30 秒)。
「ヒットエンドラン」トラフィック、たとえば HTTP や HTTPS の場合は、Per-Session PAT によって、1 アドレスでサポートされる接続率が大幅に増加することがあります。Per-Session PAT を使用しない場合は、特定の IP プロトコルに対する 1 アドレスの最大接続率は約 2000/秒です。Per-Session PAT を使用する場合は、特定の IP プロトコルに対する 1 アドレスの接続率は 65535/ 平均ライフタイム です。
デフォルトでは、すべての TCP トラフィックおよび UDP DNS トラフィックが、Per-Session PAT xlate を使用します。H.323、SIP、Skinny など、Multi-Session PAT による利点があるトラフィックの場合、Per-Session PAT 拒否ルールを作成して、Per-Session PAT をディセーブルにできます。「Per-Session PAT ルールの設定」を参照してください。
ダイナミック PAT の欠点と利点
ダイナミック PAT では、1 つのマッピング アドレスを使用できるため、ルーティング可能なアドレスが節約されます。さらに、ASA インターフェイスの IP アドレスを PAT アドレスとして使用できます。
ダイナミック PAT は、制御パスとは異なるデータ ストリームを持つ一部のマルチメディア アプリケーションでは機能しません。NAT および PAT のサポートの詳細については、「デフォルト インスペクションと NAT に関する制限事項」を参照してください。
ダイナミック PAT によって、単一の IP アドレスから送信されたように見える数多くの接続が作成されることがあります。この場合、このトラフィックはサーバで DoS 攻撃として解釈される可能性があります。(8.4(2)/8.5(1) 以降)アドレスの PAT プールを設定し、PAT アドレスのラウンドロビン割り当てを使用すると、この状況を緩和できます。
アイデンティティ NAT
IP アドレスを自身に変換する必要のある NAT コンフィギュレーションを設定できます。たとえば、NAT を各ネットワークに適用するものの、1 つのネットワークを NAT から除外するという広範なルールを作成する場合、スタティック NAT ルールを作成して、アドレスを自身に変換することができます。アイデンティティ NAT は、NAT からクライアント トラフィックを除外する必要のある、リモート アクセス VPN で必要です。
次の図に、一般的なアイデンティティ NAT のシナリオを示します。
図 5-11 アイデンティティ NAT
ルーテッド モードとトランスペアレント モードの NAT
NAT は、ルーテッド モードおよびトランスペアレント ファイアウォール モードの両方に設定できます。この項では、各ファイアウォール モードの一般的な使用方法について説明します。
• 「ルーテッド モードの NAT」
• 「トランスペアレント モードの NAT」
ルーテッド モードの NAT
次の図は、内部にプライベート ネットワークを持つ、ルーテッド モードの一般的な NAT の例を示しています。
図 5-12 NAT の例:ルーテッド モード
1. 内部ホスト 10.1.2.27 が Web サーバにパケットを送信すると、パケットの実際の送信元アドレス 10.1.2.27 はマッピング アドレス 209.165.201.10 に変更されます。
2. サーバが応答すると、マッピング アドレス 209.165.201.10 に応答を送信し、ASA がそのパケットを受信します。これは、ASA がプロキシ ARP を実行してパケットを要求するためです。
3. ASA はその後、パケットをホストに送信する前に、マッピング アドレス 209.165.201.10 を変換し、実際のアドレス 10.1.2.27 に戻します。
トランスペアレント モードの NAT
NAT をトランスペアレント モードで使用すると、ネットワークで NAT を実行するためのアップストリーム ルータまたはダウンストリーム ルータが必要なくなります。
トランスペアレント モードの NAT には、次の要件および制限があります。
• トランスペアレント ファイアウォールにはインターフェイス IP アドレスがないため、インターフェイス PAT を使用できません。
• ARP インスペクションはサポートされていません。また、何らかの理由で、一方の ASA のホストがもう一方の ASA のホストに ARP 要求を送信し、開始ホストの実際のアドレスが同じサブネットの別のアドレスにマッピングされる場合、実際のアドレスは ARP 要求で可視のままになります。
• IPv4 および IPv6 ネットワークの間の変換はサポートされていません。2 つの IPv6 ネットワーク間、または 2 つの IPv4 ネットワーク間の変換がサポートされます。
次の図に、インターフェイス内部と外部に同じネットワークを持つ、トランスペアレント モードの一般的な NAT のシナリオを示します。このシナリオのトランスペアレント ファイアウォールは NAT サービスを実行しているため、アップストリーム ルータは NAT を実行する必要がありません。
図 5-13 NAT の例:トランスペアレント モード
1. 内部ホスト 10.1.1.75 が Web サーバにパケットを送信すると、パケットの実際の送信元アドレス 10.1.1.75 はマッピング アドレス 209.165.201.15 に変更されます。
2. サーバが応答すると、マッピング アドレス 209.165.201.15 に応答を送信し、ASA がそのパケットを受信します。これは、アップストリーム ルータには、ASA の管理 IP アドレスに転送されるスタティック ルートのこのマッピング ネットワークが含まれるためです。必要なルートの詳細については、「マッピング アドレスとルーティング」を参照してください。
3. その後、ASA はマッピング アドレス 209.165.201.15 を変換して実際のアドレス 10.1.1.1.75 に戻します。実際のアドレスは直接接続されているため、ASA はそのアドレスを直接ホストに送信します。
4. ホスト 192.168.1.2 の場合も、リターン トラフィックを除き、同じプロセスが発生します。ASA はルーティング テーブルでルートを検索し、192.168.1.0/24 の ASA スタティック ルートに基づいてパケットを 10.1.1.3 にあるダウンストリーム ルータに送信します。必要なルートの詳細については、「リモート ネットワークのトランスペアレント モード ルーティングの要件」を参照してください。
NAT と IPv6
NAT を使用すると、IPv6 ネットワーク間、さらに IPv4 および IPv6 ネットワークの間で変換できます(ルーテッド モードのみ)。次のベスト プラクティスを推奨します。
• NAT66(IPv6-to-IPv6):スタティック NAT を使用することを推奨します。ダイナミック NAT または PAT を使用できますが、IPv6 アドレスは大量にあるため、ダイナミック NAT を使用する必要がありません。リターン トラフィックを許可しない場合は、スタティック NAT ルールを単一方向にできます(Twice NAT のみ)。
• NAT46(IPv4-to-IPv6):スタティック NAT を使用することを推奨します。IPv6 アドレス空間は IPv4 アドレス空間よりもかなり大きいので、容易にスタティック変換に対応できます。リターン トラフィックを許可しない場合は、スタティック NAT ルールを単一方向にできます(Twice NAT のみ)。IPv6 サブネットに変換する場合(/96 以下)、結果のマッピング アドレスはデフォルトで IPv4 埋め込み IPv6 アドレスとなります。このアドレスでは、IPv4 アドレスの 32 ビットが IPv6 プレフィックスの後に埋め込まれています。たとえば、IPv6 プレフィックスが /96 プレフィックスの場合、IPv4 アドレスは、アドレスの最後の 32 ビットに追加されます。たとえば、201b::0/96 に 192.168.1.0/24 をマッピングする場合、192.168.1.4 は 201b::0.192.168.1.4 にマッピングされます(混合表記で表示)。/64 など、より小さいプレフィックスの場合、IPv4 アドレスがプレフィックスの後に追加され、サフィックスの 0s が IPv4 アドレスの後に追加されます。また、任意で、ネット間のアドレスを変換できます。この場合、最初の IPv6 アドレスに最初の IPv4 アドレス、2 番目の IPv6 アドレスに 2 番目の IPv4 アドレス、のようにマッピングします。
• NAT64(IPv6-to-IPv4):IPv6 アドレスの数に対応できる十分な数の IPv4 アドレスがない場合があります。大量の IPv4 変換を提供するためにダイナミック PAT プールを使用することを推奨します。
特定の実装のガイドラインおよび制約事項については、設定の章を参照してください。
NAT の実装方法
ASA は、 ネットワーク オブジェクト NAT および Twice NAT という 2 種類の方法でアドレス変換を実装できます。
• 「ネットワーク オブジェクト NATと Twice NAT の主な違い」
• 「ネットワーク オブジェクト NAT」
• 「Twice NAT」
ネットワーク オブジェクト NATと Twice NAT の主な違い
これら 2 つの NAT タイプの主な違いは、次のとおりです。
• 実際のアドレスの定義方法
– ネットワーク オブジェクト NAT:NAT をネットワーク オブジェクトのパラメータとして定義します。ネットワーク オブジェクトは、IP ホスト、範囲、またはサブネットの名前を指定するので、実際の IP アドレスではなく、NAT コンフィギュレーション内のオブジェクトを使用できます。ネットワーク オブジェクトの IP アドレスが実際のアドレスとして機能します。この方法では、ネットワーク オブジェクトがコンフィギュレーションの他の部分ですでに使用されていても、そのネットワーク オブジェクトに NAT を容易に追加できます。
– Twice NAT:実際のアドレスとマッピング アドレスの両方のネットワーク オブジェクトまたはネットワーク オブジェクト グループを識別します。この場合、NAT はネットワーク オブジェクトのパラメータではありません。ネットワーク オブジェクトまたはグループが、NAT コンフィギュレーションのパラメータです。実際のアドレスのネットワーク オブジェクト グループ を使用できることは、Twice NAT がよりスケーラブルであることを意味します。
• 送信元および宛先 NAT の実装方法
– ネットワーク オブジェクト NAT:各ルールは、パケットの送信元または宛先のいずれかに適用できます。つまり、送信元 IP アドレスに 1 つ、宛先 IP アドレスに 1 つと、2 つのルールが使用されることがあります。これらの 2 つのルールを相互に結び付けて、送信先と宛先の組み合わせに特定の変換を適用することはできません。
– Twice NAT:1 つのルールが送信元と宛先の両方を変換します。一致するパケットは、1 つのルールだけに一致します。これ以外のルールはチェックされません。Twice NAT にオプションの宛先アドレスを設定しない場合でも、一致するパケットは、1 つの Twice NAT ルールだけに一致します。送信元および宛先は相互に結び付けられるので、送信元と宛先の組み合わせに応じて、異なる変換を適用できます。たとえば、sourceA/destinationA には、sourceA/destinationB とは異なる変換を設定できます。
• NAT ルールの順序
– ネットワーク オブジェクト NAT:NAT テーブルで自動的に順序付けされます。
– Twice NAT:NAT テーブルで、手動で順序付けします(ネットワーク オブジェクト NAT ルールの前または後)。
詳細については、「NAT ルールの順序」を参照してください。
Twice NAT の追加機能を必要としない場合は、ネットワーク オブジェクト NAT を使用することをお勧めします。ネットワーク オブジェクト NAT は設定が容易で、Voice over IP(VoIP)などの用途では、信頼性が高い場合があります (Twice NAT は 2 つのオブジェクト間だけに適用可能であるため、VoIP では、いずれのオブジェクトにも属さない間接アドレスの変換が失敗することがあります)。
ネットワーク オブジェクト NAT
ネットワーク オブジェクトのパラメータとして設定されているすべての NAT ルールは、 ネットワーク オブジェクト NAT ルールと見なされます。ネットワーク オブジェクト NAT は、1 つの IP アドレス、アドレスの範囲、またはサブネットであるネットワーク オブジェクトの NAT を設定するための迅速かつ容易な方法です。
ネットワーク オブジェクトを設定すると、このオブジェクトのマッピング アドレスをインライン アドレスとして、または別のネットワーク オブジェクトやネットワーク オブジェクト グループのいずれかとして識別できるようになります。
パケットが ASA に入ると、送信元 IP アドレスと宛先 IP アドレスの両方がネットワーク オブジェクト NAT ルールと照合されます。個別の照合が行われる場合、パケット内の送信元 IP アドレスと宛先 IP アドレスは、個別のルールによって変換できます。これらのルールは、相互に結び付けられていません。トラフィックに応じて、異なる組み合わせのルールを使用できます。
ルールがペアになることはないので、sourceA/destinationA で sourceA/destinationB とは別の変換が行われるように指定することはできません。この種の機能には、Twice NAT を使用します(Twice NAT を使用すると、1 つのルールで送信元アドレスおよび宛先アドレスを識別できます)。
ネットワーク オブジェクト NAT の設定を開始するには、「ネットワーク オブジェクト NAT(ASA 8.3 以降)」を参照してください。
例:異なる宛先アドレスを使用する Twice NAT
次の図に、2 台の異なるサーバにアクセスしている 10.1.2.0/24 ネットワークのホストを示します。ホストがサーバ 209.165.201.11 にアクセスすると、実際のアドレスは 209.165.202.129 に変換されます。ホストがサーバ 209.165.200.225 にアクセスすると、実際のアドレスは 209.165.202.130 に変換されます。
図 5-14 異なる宛先アドレスを使用する Twice NAT
例:異なる宛先ポートを使用する Twice NAT
次の図に、送信元ポートおよび宛先ポートの使用例を示します。10.1.2.0/24 ネットワークのホストは Web サービスと Telnet サービスの両方を提供する 1 つのホストにアクセスします。ホストが Web サービスを求めてサーバにアクセスすると、実際のアドレスは 209.165.202.129 に変換されます。ホストが Telnet サービスを求めて同じサーバにアクセスすると、実際のアドレスは 209.165.202.130 に変換されます。
図 5-15 異なる宛先ポートを使用する Twice NAT
例:宛先アドレス変換が設定された Twice NAT
次の図に、マッピングされるホストに接続するリモート ホストを示します。マッピングされるホストには、209.165.201.0/27 ネットワークが起点または終点となるトラフィックに限り実際のアドレスを変換するスタティック Twice NAT 変換が設定されています。209.165.200.224/27 ネットワーク用の変換は存在しません。したがって、変換済みのホストはそのネットワークに接続できず、そのネットワークのホストも変換済みのホストに接続できません。
図 5-16 宛先アドレス変換が設定されたスタティック Twice NAT
NAT ルールの順序
ネットワーク オブジェクト NAT ルールおよび Twice NAT ルールは、3 セクションに分割される 1 つのテーブルに保存されます。最初にセクション 1 のルール、次にセクション 2、最後にセクション 3 というように、一致が見つかるまで順番に適用されます。たとえば、セクション 1 で一致が見つかった場合、セクション 2 とセクション 3 は評価されません。次の表に、各セクション内のルールの順序を示します。
表 5-1 NAT ルール テーブル
|
|
|
セクション 1 |
Twice NAT |
コンフィギュレーションに登場する順に、最初の一致ベースで適用されます。最初の一致が適用されるため、一般的なルールの前に特殊なルールが来るようにする必要があります。そうしない場合、特殊なルールを期待どおりに適用できない可能性があります。デフォルトでは、Twice NAT ルールはセクション 1 に追加されます。 (注) Easy VPN Remote を設定する場合、ASA はこのセクションの末尾に非表示の NAT ルールをダイナミックに追加します。非表示のルールではなく、VPN トラフィックに一致する Twice NAT ルールは、このセクションで設定しないでください。NAT エラーのために VPN が機能しない場合は、このセクションではなく、セクション 3 に Twice NAT ルールを追加することを検討してください。 |
セクション 2 |
ネットワーク オブジェクト NAT |
セクション 1 で一致が見つからない場合、ASA によって自動的に判断され、セクション 2 のルールが次の順序で適用されます。 1. スタティック ルール 2. ダイナミック ルール 各ルール タイプでは、次の順序ガイドラインが使用されます。 1. 実際の IP アドレスの数量:小から大の順。たとえば、アドレスが 1 個のオブジェクトは、アドレスが 10 個のオブジェクトよりも先に評価されます。 2. 数量が同じ場合には、IP アドレス番号(低から高の順)が使用されます。たとえば、10.1.1.0 は、11.1.1.0 よりも先に評価されます。 3. 同じ IP アドレスが使用される場合、ネットワーク オブジェクトの名前がアルファベット順で使用されます。たとえば、abracadabra は catwoman よりも先に評価されます。 |
セクション 3 |
Twice NAT |
まだ一致が見つからない場合、セクション 3 のルールがコンフィギュレーションに登場する順に、最初の一致ベースで適用されます。このセクションには、最も一般的なルールを含める必要があります。このセクションにおいても、一般的なルールの前に特殊なルールが来るようにする必要があります。そうしない場合、一般的なルールが適用されます。Twice NAT ルールを追加するときには、このルールをセクション 3 に追加するかどうかを指定できます。 |
たとえばセクション 2 のルールでは、ネットワーク オブジェクト内に定義されている次の IP アドレスがあるとします。
192.168.1.0/24(スタティック)
192.168.1.0/24(ダイナミック)
10.1.1.0/24(スタティック)
192.168.1.1/32(ダイナミック)
172.16.1.0/24(ダイナミック)(オブジェクト def)
172.16.1.0/24(ダイナミック)(オブジェクト abc)
この結果、使用される順序は次のとおりです。
192.168.1.1/32(ダイナミック)
10.1.1.0/24(スタティック)
192.168.1.0/24(スタティック)
172.16.1.0/24(ダイナミック)(オブジェクト abc)
172.16.1.0/24(ダイナミック)(オブジェクト def)
192.168.1.0/24(ダイナミック)
NAT インターフェイス
NAT ルールを設定して任意のインターフェイス(つまり、すべてのインターフェイス)に適用できます。または、特定の実際のインターフェイスおよびマッピング インターフェイスを識別できます。実際のアドレスには任意のインターフェイスを指定できます。マッピング アドレスには特定のインターフェイスを指定できます。または、その逆も可能です。
たとえば、複数のインターフェイスで同じプライベート アドレスを使用し、外部へのアクセス時にはすべてのインターフェイスを同じグローバル プールに変換する場合、実際のアドレスに任意のインターフェイスを指定し、マッピング アドレスには outside インターフェイスを指定します。
図 5-17 任意のインターフェイスの指定
(注) トランスペアレント モードの場合は、特定の送信元インターフェイスおよび宛先インターフェイスを選択する必要があります。
NAT パケットのルーティング
ASA は、マッピング アドレスに送信されたすべてのパケットの宛先となる必要があります。ASA は、マッピング アドレス宛てに送信されるすべての受信パケットの出力インターフェイスを決定する必要があります。この項では、ASA が NAT を使用してパケットの受信および送信を処理する方法について説明します。
• 「マッピング アドレスとルーティング」
• 「リモート ネットワークのトランスペアレント モード ルーティングの要件」
• 「出力インターフェイスの決定」
マッピング インターフェイスと同じネットワーク上のアドレス
マッピング インターフェイスと同じネットワーク上のアドレスを使用した場合、ASA はプロキシ ARP を使用してマッピング アドレスのすべての ARP 要求に応答することによって、マッピング アドレスを宛先とするトラフィックを代行受信します。この方法では、ASA がその他のネットワークのゲートウェイである必要がないため、ルーティングが簡略化されます。このソリューションは、外部ネットワークに十分な数のフリー アドレスが含まれている場合に最も適しており、ダイナミック NAT またはスタティック NAT などの 1:1 変換を使用している場合は考慮が必要です。ダイナミック PAT ではアドレス数が少なくても使用できる変換の数が大幅に拡張されるので、外部ネットワークで使用できるアドレスが少ししかない場合でも、この方法を使用できます。PAT では、マッピング インターフェイスの IP アドレスも使用できます。
(注) マッピング インターフェイスを任意のインターフェイスとして設定し、マッピング インターフェイスの 1 つとして同じネットワーク上のマッピング アドレスを指定すると、そのマッピング アドレスの ARP 要求を別のインターフェイスで受信する場合、入力インターフェイスでそのネットワークの ARP エントリを手動で設定し、その MAC アドレスを指定する必要があります([Configuration] > [Device Management] > [Advanced] > [ARP] > [ARP Static Table] を参照)。通常、マッピング インターフェイスに任意のインターフェイスを指定して、マッピング アドレスの固有のネットワークを使用すると、この状況は発生しません。
固有のネットワーク上のアドレス
マッピング インターフェイスで使用可能なアドレスより多くのアドレスが必要な場合は、別のサブネット上のアドレスを指定できます。アップストリーム ルータには、ASA を指しているマッピング アドレスのスタティック ルートが必要です。また、ルーテッド モードの場合、宛先ネットワーク上の IP アドレスをゲートウェイとして使用して、マッピング アドレスの ASA にスタティック ルートを設定し、ルーティング プロトコルを使用してルートを再配布することができます。たとえば、内部ネットワーク(10.1.1.0/24)に NAT を使用し、マッピング IP アドレス 209.165.201.5 を使用する場合、次のスタティック ルートを設定して再配布することができます。
route inside 209.165.201.5 255.255.255.255 10.1.1.99
トランスペアレント モードの場合は、実際のホストが直接接続されてる場合は、ASA をポイントするようにアップストリーム ルータのスタティック ルートを設定します。8.3 では、グローバルな管理 IP アドレスを指定します。8.4(1) 以降では、ブリッジ グループの IP アドレスを指定します。トランスペアレント モードのリモート ホストの場合は、アップストリーム ルータのスタティック ルートで、代わりにダウンストリーム ルータの IP アドレスを指定できます。
実際のアドレスと同じアドレス(アイデンティティ NAT)
(8.3(1)、8.3(2)、8.4(1))アイデンティティ NAT のデフォルト動作で、プロキシ ARP はディセーブルにされます。これは設定できません。
(8.4(2) 以降)アイデンティティ NAT のデフォルト動作で、プロキシ ARP はイネーブルにされ、他のスタティック NAT ルールと一致します。必要に応じてプロキシ ARP をディセーブルにできます。必要に応じて標準スタティック NAT のプロキシ ARP をディセーブルにできます。その場合は、アップストリーム ルータの適切なルートがあることを確認する必要があります。
アイデンティティ NAT の場合、通常はプロキシ ARP が不要で、場合によっては接続性に関する問題を引き起こす可能性があります。たとえば、任意の IP アドレスの広範なアイデンティティ NAT ルールを設定した場合、プロキシ ARP をイネーブルのままにしておくと、マッピング インターフェイスに直接接続されたネットワーク上のホストの問題を引き起こすことがあります。この場合、マッピング ネットワークのホストが同じネットワークの他のホストと通信すると、ARP 要求内のアドレスは(任意のアドレスと一致する)NAT ルールと一致します。このとき、実際には ASA 向けのパケットでない場合でも、ASA はこのアドレスの ARP をプロキシします (この問題は、Twice NAT ルールが設定されている場合にも発生します。NAT ルールは送信元と宛先のアドレス両方に一致する必要がありますが、プロキシ ARP 判定は「送信元」アドレスに対してのみ行われます)。実際のホストの ARP 応答の前に ASA の ARP 応答を受信した場合、トラフィックは誤って ASA に送信されます(図 5-18 を参照)。
図 5-18 アイデンティティ NAT に関するプロキシ ARP の問題
まれに、アイデンティティ NAT に対してプロキシ ARP が必要になります(仮想 Telnet など)。ネットワーク アクセスに AAA を使用する場合、ホストは他のトラフィックが通過する前に Telnet のようなサービスを使用して ASA で認証を受ける必要があります。ASA に仮想 Telnet サーバを設定すると、必要なログインを提供できます。仮想 Telnet アドレスに外部からアクセスする場合は、特にプロキシ ARP 機能用のアドレスのアイデンティティ NAT ルールを設定する必要があります。仮想 Telnet の内部プロセスにより、プロキシ ARP を使用すると ASA が NAT ルールに従って送信元インターフェイスからトラフィックを送信せず、トラフィックを仮想 Telnet アドレス宛のままにすることができます (図 5-19 を参照)。
図 5-19 プロキシ ARP と仮想 Telnet
リモート ネットワークのトランスペアレント モード ルーティングの要件
トランスペアレント モードで NAT を使用する場合、一部のタイプのトラフィックには、スタティック ルートが必要になります。詳細については、『一般的な操作のコンフィギュレーション ガイド』を参照してください。
出力インターフェイスの決定
ASA がマッピング アドレスのトラフィックを受信する場合、ASA は NAT ルールに従って宛先アドレスを変換解除し、実際のアドレスにパケットを送信します。ASA は、次の方法でパケットの出力インターフェイスを決定します。
• トランスペアレント モード:ASA は NAT ルールを使用して実際のアドレスの出力インターフェイスを決定します。NAT ルールの一部として送信元インターフェイスと宛先インターフェイスを指定する必要があります。
• ルーテッド モード:ASA は、次のいずれかの方法で出力インターフェイスを決定します。
– NAT ルールでインターフェイスを設定する:ASA は NAT ルールを使用して出力インターフェイスを決定します。(8.3(1) ~ 8.4(1))唯一の例外はアイデンティティ NAT です。アイデンティティ NAT では、NAT コンフィギュレーションに関係なく、常にルート ルックアップが使用されます。(8.4(2) 以降)アイデンティティ NAT の場合、デフォルト動作は NAT コンフィギュレーションを使用することです。ただし、代わりにオプションとして常にルート ルックアップを使用することもできます。一部のシナリオでは、ルート ルックアップの上書きが必要になる場合があります。たとえば、「NAT および VPN 管理アクセス」を参照してください。
– NAT ルールでインターフェイスを設定しない:ASA はルート ルックアップを使用して出力インターフェイスを決定します。
次の図に、ルーテッド モードでの出力インターフェイスの選択方法を示します。ほとんどの場合、ルート ルックアップは NAT ルールのインターフェイスと同じです。ただし、一部のコンフィギュレーションでは、2 つの方法が異なる場合があります。
図 5-20 ルーテッド モードでの出力インターフェイスの選択
VPN の NAT
次のトピックでは、さまざまなタイプの VPN を用いた NAT の使用例について説明します。
• 「NAT とリモート アクセス VPN」
• 「NAT およびサイトツーサイト VPN」
• 「NAT および VPN 管理アクセス」
• 「NAT と VPN のトラブルシューティング」
NAT とリモート アクセス VPN
次の図に、内部サーバ(10.1.1.6)とインターネットにアクセスする VPN クライアント(209.165.201.10)の両方を示します。VPN クライアント用のスプリット トンネリング(指定したトラフィックのみが VPN トンネル上でやりとりされる)を設定しない限り、インターネット バインドされた VPN トラフィックも ASA を経由する必要があります。VPN トラフィックが ASA に渡されると、ASA はパケットを復号化し、得られたパケットには送信元として VPN クライアント ローカル アドレス(10.3.3.10)が含まれています。内部ネットワークと VPN クライアント ローカル ネットワークの両方で、インターネットにアクセスするために NAT によって提供されるパブリック IP アドレスが必要です。次の例では、インターフェイス PAT ルールを使用しています。VPN トラフィックが、入ってきたインターフェイスと同じインターフェイスから出て行けるようにするには、インターフェイス内通信(別名「ヘアピン ネットワーキング」)をイネーブルにする必要があります。
図 5-21 インターネット宛 VPN トラフィックのインターフェイス PAT(インターフェイス内)
次の図に、内部のメール サーバにアクセスする VPN クライアントを示します。ASA は、内部ネットワークと外部ネットワークの間のトラフィックが、インターネット アクセス用に設定したインターフェイス PAT ルールに一致することを期待するので、VPN クライアント(10.3.3.10)から SMTP サーバ(10.1.1.6)へのトラフィックは、リバース パス障害が原因で廃棄されます。10.3.3.10 から 10.1.1.6 へのトラフィックは、NAT ルールに一致しませんが、10.1.1.6 から 10.3.3.10 へのリターン トラフィックは、送信トラフィックのインターフェイス PAT ルールに一致する 必要があります 。順方向および逆方向のフローが一致しないため、ASA は受信時にパケットをドロップします。この障害を回避するには、それらのネットワーク間のアイデンティティ NAT ルールを使用して、インターフェイス PAT ルールから VPN クライアント内部のトラフィックを除外する必要があります。アイデンティティ NAT は同じアドレスにアドレスを変換します。
図 5-22 VPN クライアントのアイデンティティ NAT
上記のネットワークのための次のサンプル NAT の設定を参照してください。
!Enable hairpin for non-split-tunneled VPN client traffic:
same-security-traffic permit intra-interface
!Identify local VPN network, & perform object interface PAT when going to Internet:
subnet 10.3.3.0 255.255.255.0
nat (outside,outside) dynamic interface
!Identify inside network, & perform object interface PAT when going to Internet:
subnet 10.1.1.0 255.255.255.0
nat (inside,outside) dynamic interface
!Use twice NAT to pass traffic between the inside network and the VPN client without
!address translation (identity NAT):
nat (inside,outside) source static inside_nw inside_nw destination static vpn_local vpn_local
NAT およびサイトツーサイト VPN
次の図に、ボールダーとサンノゼのオフィスを接続するサイトツーサイト トンネルを示します。インターネットに渡すトラフィックについて(たとえばボールダーの 10.1.1.6 から www.example.com へ)、インターネットへのアクセスのために NAT によって提供されるパブリック IP アドレスが必要です。次の例では、インターフェイス PAT ルールを使用しています。ただし、VPN トンネルを経由するトラフィックについては(たとえば、ボールダーの 10.1.1.6 からサンノゼの 10.2.2.78 へ)、NAT を実行しません。そのため、アイデンティティ NAT ルールを作成して、そのトラフィックを除外する必要があります。アイデンティティ NAT は同じアドレスにアドレスを変換します。
図 5-23 サイトツーサイト VPN のためのインターフェイス PAT およびアイデンティティ NAT
次の図に、ASA1(ボールダー)に接続する VPN クライアントと、ASA1 と ASA2(サンノゼ)間のサイトツーサイト トンネル上でアクセス可能なサーバ(10.2.2.78)に対する Telnet 要求を示します。これはヘアピン接続であるため、VPN クライアントからの非スプリット トンネルのインターネット宛トラフィックにも必要な、インターフェイス内通信をイネーブルにする必要があります。アウトバウンド NAT ルールからこのトラフィックを除外するため、VPN に接続された各ネットワーク間で行うのと同様に、VPN クライアントとボールダーおよびサンノゼのネットワーク間でアイデンティティ NAT を設定する必要もあります。
図 5-24 サイトツーサイト VPN への VPN クライアント アクセス
ASA1(ボールダー)については、次の NAT の設定例を参照してください。
!Enable hairpin for VPN client traffic:
same-security-traffic permit intra-interface
!Identify local VPN network, & perform object interface PAT when going to Internet:
subnet 10.3.3.0 255.255.255.0
nat (outside,outside) dynamic interface
!Identify inside Boulder network, & perform object interface PAT when going to Internet:
object network boulder_inside
subnet 10.1.1.0 255.255.255.0
nat (inside,outside) dynamic interface
!Identify inside San Jose network for use in twice NAT rule:
object network sanjose_inside
subnet 10.2.2.0 255.255.255.0
!Use twice NAT to pass traffic between the Boulder network and the VPN client without
!address translation (identity NAT):
nat (inside,outside) source static boulder_inside boulder_inside destination static vpn_local vpn_local
!Use twice NAT to pass traffic between the Boulder network and San Jose without
!address translation (identity NAT):
nat (inside,outside) source static boulder_inside boulder_inside destination static sanjose_inside sanjose_inside
!Use twice NAT to pass traffic between the VPN client and San Jose without
!address translation (identity NAT):
nat (outside,outside) source static vpn_local vpn_local destination static sanjose_inside sanjose_inside
ASA2(サンノゼ)については、次の NAT の設定例を参照してください。
!Identify inside San Jose network, & perform object interface PAT when going to Internet:
object network sanjose_inside
subnet 10.2.2.0 255.255.255.0
nat (inside,outside) dynamic interface
!Identify inside Boulder network for use in twice NAT rule:
object network boulder_inside
subnet 10.1.1.0 255.255.255.0
!Identify local VPN network for use in twice NAT rule:
subnet 10.3.3.0 255.255.255.0
!Use twice NAT to pass traffic between the San Jose network and Boulder without
!address translation (identity NAT):
nat (inside,outside) source static sanjose_inside sanjose_inside destination static boulder_inside boulder_inside
!Use twice NAT to pass traffic between the San Jose network and the VPN client without
!address translation (identity NAT):
nat (inside,outside) source static sanjose_inside sanjose_inside destination static vpn_local vpn_local
NAT および VPN 管理アクセス
VPN を使用する場合、ASA を開始したインターフェイス以外のインターフェイスへの管理アクセスを許可することができます。たとえば、外部インターフェイスから ASA を開始する場合、管理アクセス機能では、ASDM、SSH、Telnet、または SNMP を使用して内部インターフェイスに接続することが可能です。または、内部インターフェイスに ping を実行できます。
次の図に、ASA の内部インターフェイスに Telnet 接続する VPN クライアントを示します。管理アクセス インターフェイスを使用し、「NAT とリモート アクセス VPN」または「NAT およびサイトツーサイト VPN」に従ってアイデンティティ NAT を設定する場合、ルート ルックアップ オプションを使用して NAT を設定する必要があります。ルート ルックアップがない場合、ASA は、ルーティング テーブルの内容に関係なく、NAT コマンドで指定されたインターフェイスからトラフィックを送信します。次の例では、出力インターフェイスは内部インターフェイスです。ASA で、内部ネットワークに管理トラフィックを送信しません。これは、内部インターフェイスの IP アドレスには戻りません。ルート ルックアップ オプションを使用すると、ASA は、内部ネットワークの代わりに内部インターフェイスの IP アドレスに直接トラフィックを送信できます。VPN クライアントから内部ネットワーク上のホストへのトラフィックの場合、ルート ルックアップ オプションがあっても正しい出力インターフェイス(内部)になるため、通常のトラフィック フローは影響を受けません。ルート ルックアップ オプションの詳細については、「出力インターフェイスの決定」を参照してください。
図 5-25 VPN 管理アクセス
上記のネットワークのための次のサンプル NAT の設定を参照してください。
!Enable hairpin for non-split-tunneled VPN client traffic:
same-security-traffic permit intra-interface
!Enable management access on inside ifc:
!Identify local VPN network, & perform object interface PAT when going to Internet:
subnet 10.3.3.0 255.255.255.0
nat (outside,outside) dynamic interface
!Identify inside network, & perform object interface PAT when going to Internet:
subnet 10.1.1.0 255.255.255.0
nat (inside,outside) dynamic interface
!Use twice NAT to pass traffic between the inside network and the VPN client without
!address translation (identity NAT), w/route-lookup:
nat (outside,inside) source static vpn_local vpn_local destination static inside_nw inside_nw route-lookup
NAT と VPN のトラブルシューティング
VPN を使用した NAT の問題をトラブルシューティングするためには、次の監視ツールを参照してください。
• パケット トレーサ:正しく使用した場合、パケット トレーサは、パケットが該当している NAT ルールを表示します。
• show nat detail :特定の NAT ルールのヒット カウントおよび変換解除されたトラフィックを表示します。
• show conn all :ボックス トラフィックとの間の接続を含むアクティブ接続を表示します。
非動作設定と動作設定に習熟するには、 次の手順を実行します。
1. アイデンティティ NAT を使用しない VPN を設定します。
2. show nat detail と show conn all を入力します。
3. アイデンティティ NAT の設定を追加します。
4. show nat detail と show conn all を繰り返します。
DNS および NAT
応答内のアドレスを NAT コンフィギュレーションと一致するアドレスに置き換えて、DNS 応答を修正するように ASA を設定することが必要になる場合があります。DNS 修正は、各変換ルールを設定するときに設定できます。
この機能は、NAT ルールに一致する DNS クエリーと応答のアドレスをリライトします(たとえば、IPv4 の A レコード、IPv6 の AAAA レコード、または逆引き DNS クエリーの PTR レコード)。マッピング インターフェイスから他のインターフェイスに移動する DNS 応答では、A レコードはマップされた値から実際の値へリライトされます。逆に、任意のインターフェイスからマッピング インターフェイスに移動する DNS 応答では、A レコードは実際の値からマップされた値へリライトされます。
次に DNS リライトの制限事項を示します。
• 個々の A レコードに複数の PAT ルールを適用できることで、使用する PAT ルールが不明確になるため、DNS リライトは PAT には適用されません。
• Twice NAT ルールを設定する場合、送信元アドレスおよび宛先アドレスを指定すると、DNS 修正を設定できません。これらの種類のルールでは、A と B に向かった場合に 1 つのアドレスに対して異なる変換が行われる可能性があります。 したがって、ASA は、DNS 応答内の IP アドレスを適切な Twice NAT ルールに一致させることができません。DNS 応答には、DNS 要求を求めたパケット内の送信元アドレスと宛先アドレスの組み合わせに関する情報が含まれません。
• DNS リライトでは、デフォルトでオンになっている DNS アプリケーション インスペクションをイネーブルにする必要があります。詳細については、「DNS インスペクション」を参照してください。
• 実際には、DNS リライトは NAT ルールではなく xlate エントリで実行されます。したがって、ダイナミック ルールに xlate がない場合、リライトが正しく実行されません。スタティック NAT の場合は、同じような問題は発生しません。
次のトピックで、DNS リライトの例を示します。
• 「DNS 応答修正:Outside 上の DNS サーバ」
• 「DNS 応答修正:別々のネットワーク上の DNS サーバ、ホスト、サーバ」
• 「DNS 応答修正:ホスト ネットワーク上の DNS サーバ」
• 「外部 NAT を使用する DNS64 応答修正」
• 「PTR の変更、ホスト ネットワークの DNS サーバ」
DNS 応答修正:Outside 上の DNS サーバ
次の図に、外部インターフェイスからアクセス可能な DNS サーバを示します。ftp.cisco.com というサーバが内部インターフェイス上にあります。ftp.cisco.com の実際のアドレス(10.1.3.14)を、外部ネットワーク上で可視のマッピング アドレス(209.165.201.10)にスタティックに変換するように、ASA を設定します
この場合、このスタティック ルールで DNS 応答修正をイネーブルにする必要があります。これにより、実際のアドレスを使用して ftp.cisco.com にアクセスすることを許可されている内部ユーザは、マッピング アドレスではなく実際のアドレスを DNS サーバから受信できるようになります。内部ホストが ftp.cisco.com のアドレスを求める DNS 要求を送信すると、DNS サーバは応答でマッピング アドレス(209.165.201.10)を示します。ASA は、内部サーバのスタティック ルールを参照し、DNS 応答内のアドレスを 10.1.3.14 に変換します。DNS 応答修正をイネーブルにしない場合、内部ホストは ftp.cisco.com に直接アクセスする代わりに、209.165.201.10 にトラフィックを送信することを試みます。
図 5-26 DNS 応答修正:Outside 上の DNS サーバ
DNS 応答修正:別々のネットワーク上の DNS サーバ、ホスト、サーバ
次の図に、外部 DNS サーバから DMZ ネットワークにある ftp.cisco.com の IP アドレスを要求する内部ネットワークのユーザを示します。DNS サーバは、ユーザが DMZ ネットワーク上に存在しない場合でも、外部と DMZ 間のスタティック ルールに従って応答でマッピング アドレス(209.165.201.10)を示します。ASA は、DNS 応答内のアドレスを 10.1.3.14 に変換します。
ユーザが実際のアドレスを使用して ftp.cisco.com にアクセスする必要がある場合、これ以上の設定は必要ありません。内部と DMZ 間にもスタティック ルールがある場合は、このルールに対して DNS 応答修正もイネーブルにする必要があります。このとき、DNS 応答は 2 回修正されます。この場合、ASA は内部と DMZ 間のスタティック ルールに従って、DNS 応答内のアドレスを再度 192.168.1.10 に変換します。
図 5-27 DNS 応答修正:別々のネットワーク上の DNS サーバ、ホスト、サーバ
DNS 応答修正:ホスト ネットワーク上の DNS サーバ
次の図に、外部の FTP サーバと DNS サーバを示します。ASA には、外部サーバ用のスタティック変換があります。この場合、ftp.cisco.com のアドレスを DNS サーバに要求すると、DNS サーバは応答で実際のアドレス 209.165.20.10 を示します。ftp.cisco.com のマッピング アドレス(10.1.2.56)が内部ユーザによって使用されるようにするには、スタティック変換に対して DNS 応答修正を設定する必要があります。
図 5-28 DNS 応答修正:ホスト ネットワーク上の DNS サーバ
外部 NAT を使用する DNS64 応答修正
次の図に、外部の IPv4 ネットワーク上の FTP サーバと DNS サーバを示します。ASA には、外部サーバ用のスタティック変換があります。この場合に、内部 IPv6 ユーザが ftp.cisco.com のアドレスを DNS サーバに要求すると、DNS サーバは応答として実際のアドレス 209.165.200.225 を返します。
ftp.cisco.com のマッピング アドレス(2001:DB8::D1A5:C8E1)が内部ユーザによって使用されるようにするには、スタティック変換に対して DNS 応答修正を設定する必要があります。この例には、DNS サーバのスタティック NAT 変換、および内部 IPv6 ホストの PAT ルールも含まれています。
図 5-29 外部 NAT を使用する DNS64 応答修正
PTR の変更、ホスト ネットワークの DNS サーバ
次の図に、外部の FTP サーバと DNS サーバを示します。ASA には、外部サーバ用のスタティック変換があります。この場合、内部のユーザが 10.1.2.56 の逆引き DNS ルックアップを実行する場合、ASA は実際のアドレスを使用して逆引き DNS クエリーを変更し、DNS サーバはサーバ名、ftp.cisco.com を使用して応答します。
図 5-30 PTR の変更、ホスト ネットワークの DNS サーバ