Catalyst 6500 シリーズ スイッチ/Cisco 7600 シ リーズ ルータ Firewall Services Module コンフィ ギュレーション ガイド(CLI を使用)
ネットワーク アドレス変換(NAT)の設定
ネットワーク アドレス変換(NAT)の設定
発行日;2012/06/24 | 英語版ドキュメント(2011/03/09 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 9MB) | フィードバック

目次

ネットワーク アドレス変換(NAT)の設定

NAT の概要

NAT の説明

ルーテッド モードの NAT

トランスペアレント モードの NAT

NAT コントロール

NAT のタイプ

ダイナミック NAT

PAT

スタティック NAT

スタティック PAT

NAT 制御をイネーブルにした場合の NAT のバイパス

ポリシー NAT

NAT セッション(Xlate)の作成

NAT および PAT グローバル プールの利用率

NAT および同一セキュリティ レベルのインターフェイス

実アドレス照合用 NAT コマンドの順序

NAT ステートメントの最大数

マッピング アドレスの注意事項

DNS および NAT

NAT 制御の設定

Xlate バイパスの設定

ダイナミック NAT および PAT の使用方法

ダイナミック NAT および PAT の実装

ダイナミック NAT または PAT の設定

スタティック NAT の使用方法

スタティック PAT の使用方法

NAT のバイパス

アイデンティティ NAT の設定

スタティック アイデンティティ NAT の設定

NAT 除外の設定

NAT の例

重複したネットワーク

ポートのリダイレクション

ネットワーク アドレス変換(NAT)の設定

この章では、ネットワーク アドレス変換について説明します。内容は次のとおりです。

「NAT の概要」

「NAT 制御の設定」

「Xlate バイパスの設定」

「ダイナミック NAT および PAT の使用方法」

「スタティック NAT の使用方法」

「スタティック PAT の使用方法」

「NAT のバイパス」

「NAT の例」

NAT の概要

ここでは、FWSM 上での NAT の機能について説明します。

「NAT の説明」

「ルーテッド モードの NAT」

「トランスペアレント モードの NAT」

「NAT コントロール」

「NAT のタイプ」

「ポリシー NAT」

「NAT および PAT グローバル プールの利用率」

「NAT および同一セキュリティ レベルのインターフェイス」

「実アドレス照合用 NAT コマンドの順序」

「NAT ステートメントの最大数」

「マッピング アドレスの注意事項」

「DNS および NAT」

NAT の説明

アドレス変換は、パケット内の実際のアドレスを、宛先ネットワーク上でルーティング可能な、マッピングされたアドレスで置き換えます。NAT は、実アドレスをマップ アドレスに変換する処理と、その後、変換を取り消してトラフィックを戻す処理の 2 つの手順で構成されています。NAT は、ルーテッド モードとトランスペアレント ファイアウォール モードの両方でサポートされています。

FWSM は、NAT ルールがトラフィックに一致すると、アドレスを変換します。NAT 規則が一致しなかった場合、パケットの処理が続行されます。ただし、NAT 制御をイネーブルにしている場合は例外です。NAT コントロールをイネーブルにした場合、セキュリティの高いインターフェイス(inside)からセキュリティの低いインターフェイス(outside)に移動するパケットは NAT ルールに一致する必要があり、一致しないとそのパケットの処理は停止します。(セキュリティ レベルの詳細については 「セキュリティ レベルの概要」、NAT 制御の詳細については 「NAT コントロール」を参照してください)。


) このマニュアルでは、通常すべてのタイプの変換を NAT と呼びます。NAT について説明する場合、内部および外部という用語も関連し、任意の 2 つのインターフェイス間のセキュリティ関係を表します。セキュリティ レベルの高い方が内部で、低い方が外部です。たとえば、インターフェイス 1 が 60 で、インターフェイス 2 が 50 という設定の場合、インターフェイス 1 が「内部」、インターフェイス 2 が「外部」となります。


NAT の利点の一部を紹介します。

内部ネットワークでプライベート アドレスを使用できます。プライベート アドレスは、インターネットにルーティングできません。(詳細については、「プライベート ネットワーク」を参照してください)。

NAT は他のネットワークから実アドレスを隠すので、攻撃側はホストの実アドレスを突き止めることができません。

アドレスの重複といった IP ルーティング関連の問題を解決できます。


) NAT でサポートされないプロトコルについては、表 22-1 を参照してください。


ルーテッド モードの NAT

図 16-1 に、ルーテッド モードでの NAT の一般的な使用例を示します。この使用例では、内部でプライベート ネットワークが使用されています。10.1.1.27 にある内部ホストが Web サーバにパケットを送信すると、そのパケットの送信元実アドレス 10.1.1.27 がマップ アドレス 209.165.201.10 に変更されます。応答時、Web サーバはマップ アドレス 209.165.201.10 に応答を送り、FWSM がパケットを受信します。その後、FWSM はマップ アドレス 209.165.201.10 の変換を取り消して実アドレス 10.1.1.1.27 に戻してから、ホストにパケットを送信します。

図 16-1 NAT の例:ルーテッド モード

 

この例について、次のコマンドを参照してください。

hostname(config)# nat (inside) 1 10.1.2.0 255.255.255.0
hostname(config)# global (outside) 1 209.165.201.1-209.165.201.15
 

トランスペアレント モードの NAT

NAT をトランスペアレント モードで使用すると、ネットワークで NAT を実行するためのアップストリーム ルータまたはダウンストリーム ルータが必要なくなります。たとえば、トランスペアレント ファイアウォール FWSM は 2 つの VRF 間で役立ちます。つまり、VRF およびグローバル テーブル間で BGP ネイバー関係を確立できます。ただし、VRF ごとの NAT はサポートされない場合があります。この場合、トランスペアレント モードで NAT を使用することが必要不可欠です。

トランスペアレント モードの NAT には、次の要件および制限があります。

マップ アドレスがトランスペアレント ファイアウォールと同じネットワーク上にない場合、アップストリーム ルータでそのマップ アドレス用に、(FWSM 経由で)ダウンストリーム ルータをポイントするスタティック ルートを追加する必要があります。

IP アドレスが埋め込まれているとトラフィック(VoIP または DNS トラフィックなど)で NAT および検査をイネーブルにしている場合、パケット内部の IP アドレスを正常に変換するため、FWSM では、ルート検索が必要です。ホストが直接接続されたネットワーク上にない限り、パケットに埋め込まれている実際のホスト アドレス用のスタティック ルートを FWSM で追加する必要があります。

alias コマンドはサポートされていません。

トランスペアレント ファイアウォールにはインターフェイス IP アドレスがないため、インターフェイス PAT を使用できません。

ARP 検査はサポートされていません。さらに、何らかの理由でファイアウォールの片側にあるホストからもう片側にあるホストに ARP 要求が送信され、送信側ホストの実アドレスが同じサブネット上の別のアドレスにマップされている場合、その実アドレスは ARP 要求で表示されたままになります。

ICMP サポートのため、ICMP 検査をイネーブルにする必要があります。

図 16-2 に、トランスペアレント モードでの NAT の一般的な使用例を示します。この使用例では、内部インターフェイスと外部インターフェイスで同じネットワークが使用されています。このシナリオのトランスペアレント ファイアウォールは NAT サービスを実行しているため、アップストリーム ルータは NAT を実行する必要がありません。

図 16-2 NAT の例:トランスペアレント モード

 

1. 内部ホスト 10.1.1.75 が Web サーバにパケットを送信すると、パケットの実際の送信元アドレス 10.1.1.75 はマッピング アドレス 209.165.201.15 に変更されます。

2. サーバが応答すると、マッピング アドレス 209.165.201.15 に応答を送信し、FWSM がそのパケットを受信します。これは、アップストリーム ルータには、FWSM を経由するスタティック ルートのこのマッピング ネットワークが含まれるためです。

3. その後、FWSM はマッピング アドレス 209.165.201.15 を変換して実際のアドレス 10.1.1.1.75 に戻します。実際のアドレスは直接接続されているため、FWSM はそのアドレスを直接ホストに送信します。

4. ホスト 192.168.1.2 についても、同じ処理が行われます。ただし、FWSM ではルート テーブルでルートを検索し、スタティック ルートに基づいて 10.1.1.3 のダウンストリーム ルータにパケットを送信します。

この例について、次のコマンドを参照してください。

hostname(config)# route inside 192.168.1.0 255.255.255.0 10.1.1.3 1
hostname(config)# nat (inside) 1 10.1.1.0 255.255.255.0
hostname(config)# nat (inside) 1 192.168.1.0 255.255.255.0
hostname(config)# global (outside) 1 209.165.201.1-209.165.201.15

NAT コントロール

NAT コントロールをイネーブルにした場合、内部インターフェイスから外部インターフェイスに移動するパケットは NAT ルールに一致する必要があります。内部ネットワーク上のホストが外部ネットワーク上のホストにアクセスする場合には、内部ホストのアドレスを変換するように NAT を設定する必要があります。(図 16-3 を参照)。

図 16-3 NAT 制御と発信トラフィック

 

セキュリティ レベルが同じインターフェイス同士で通信する場合には、NAT を使用する必要はありません。ただし、NAT コントロールをイネーブルにして同じセキュリティのインターフェイスにダイナミック NAT または PAT を設定した場合は、インターフェイスから同じセキュリティのインターフェイスまたは外部インターフェイスに移動するすべてのトラフィックが、NAT ルールに一致する必要があります。(図 16-4 を参照)。

図 16-4 NAT 制御と同一セキュリティ トラフィック

 

同様に、NAT コントロールで外部ダイナミック NAT または PAT をイネーブルにした場合は、内部インターフェイスにアクセスするときには、すべての外部トラフィックが NAT ルールに一致する必要があります。(図 16-5 を参照)。

図 16-5 NAT 制御と着信トラフィック

 

NAT コントロールをイネーブルにしたスタティック NAT では、これらの制限がありません。

デフォルトでは、NAT コントロールはディセーブルであるため、NAT の実行を選択しない限り、どのネットワークでも NAT を実行する必要はありません。ただし、新バージョンのソフトウェアにアップグレードした場合、NAT 制御がイネーブルになっていることがあります。

NAT 制御によってセキュリティ レベルを上げる必要があるが、一部のケースで内部アドレスを変換しない場合、このようなアドレスに NAT 除外またはアイデンティティ NAT ルールを適用できます (詳細については、「NAT のバイパス」を参照してください)。

NAT 制御を設定するには、「NAT 制御の設定」を参照してください。


) マルチ コンテキスト モードでは、パケット分類子が NAT コンフィギュレーションを利用してパケットをコンテキストに割り当てる場合があります。NAT コントロールがディセーブルであるために NAT を実行しない場合は、ネットワーク設定の変更が必要になることがあります。分類機能と NAT の関係の詳細については、「FWSM によるパケットの分類方法」を参照してください。


NAT のタイプ

ここでは、使用可能な NAT タイプについて説明します。アドレス変換は、ダイナミック NAT、ポート アドレス変換(NAT オーバーロードとも呼ばれる)、スタティック NAT、スタティック PAT、またはこれらのタイプを組み合わせたものとして実装できます。NAT 制御をイネーブルにしても NAT を実行しない場合など、NAT をバイパスするルールを設定することもできます。ここでは、次の内容について説明します。

「ダイナミック NAT」

「PAT」

「スタティック NAT」

「スタティック PAT」

「NAT 制御をイネーブルにした場合の NAT のバイパス」

ダイナミック NAT

ダイナミック NAT は、実アドレス グループを、宛先ネットワークでルーティング可能なマッピング先のアドレス プールに変換します。マッピング プールには、実アドレス グループよりも少ない数のアドレスを含めることができます。変換対象のホストが宛先ネットワークにアクセスすると、FWSM は、マッピング プールから IP アドレスをそのホストに割り当てます。この変換は、実ホストが接続を開始するときにだけ追加されます。変換は接続が継続している間だけ有効であり、変換がタイムアウトすると、そのユーザは同じ IP アドレスを保持しません。(『 Catalyst 6500 Series Switch and Cisco 7600 Series Router Firewall Services Module Command Reference 』で timeout xlate コマンドを参照してください)。そのため、宛先ネットワークのユーザは、ダイナミック NAT を使用するホストに対して(接続がアクセス リストによって許可された場合でも)、接続を確実に開始することはできず、FWSM は実ホスト アドレスに直接行われる接続試行をすべて拒否します。ホストへの確実なアクセスについては、次の「「スタティック NAT」」または「「スタティック PAT」」を参照してください。

図 16-6 は、リモート ホストによる実アドレスへの接続試行を示しています。FWSM はマップ アドレスへの戻り接続しか許可しないため、接続は拒否されます。

図 16-6 リモート ホストによる実アドレスへの接続試行

 

図 16-7 に、マッピング アドレスへの接続開始を試みているリモート ホストを示します。このアドレスは現在変換テーブルにないため、FWSM はパケットを廃棄します。

図 16-7 マッピング アドレスへの接続開始を試みているリモート ホスト

 


) 変換の実施中、リモート ホストから、変換されたホストへの接続を開始できます(その接続がアクセス リストで許可されている場合)。アドレスは予測不可能であるため、ホストへの接続は確立されません。ただし、この場合、アクセス リストのセキュリティを利用できます。


ダイナミック NAT には、次の短所があります。

マッピング プールのアドレスの数が実アドレス グループよりも少ない場合、トラフィック量が想定を超えたときに、アドレスを使い果たす可能性があります。

これが頻繁に起こる場合は、PAT を使用します。PAT では、1 つのアドレスの複数のポートを使用して 64,000 件を超える変換が提供されます。

マッピング プールでは、ルーティング可能なアドレスを多数使用する必要があります。インターネットのように宛先ネットワークで登録済みアドレスが必要になる場合は、使用可能なアドレスが不足することがあります。

プロトコルによっては PAT を使用できないため、その場合はダイナミック NAT を利用できます。たとえば、PAT は GRE バージョン 0 などポートが過負荷にならない IP プロトコルでは機能しません。また、データ ストリームと制御パスが別々のポートにあり、オープン規格でないアプリケーション(一部のマルチメディア アプリケーション)でも機能しません。NAT および PAT のサポートの詳細については、「インスペクション エンジンの概要」を参照してください。

PAT

PAT(NAT オーバーロードとも呼ばれる)では、複数の実アドレスを 1 つのマップ IP アドレスに変換します。特に、FWSM は実アドレスと送信元ポート(実ソケット)をマッピング先のアドレスと 1024 より上の一意のポート(マッピング ソケット)に変換します。接続ごとに送信元ポートが異なるため、それぞれの接続で個別に変換を行う必要があります。たとえば、10.1.1.1:1025 では、10.1.1.1:1026 から個別に変換する必要があります。

接続が期限切れになった後、30 秒間アクティビティが実施されないと、ポート変換も期限切れになります。このタイムアウトは設定できません。宛先ネットワーク上のユーザは、PAT を使用するホストに対して(ACL によって接続が許可されていた場合でも)、接続を確実に開始することはできません。ホストの実またはマップ ポート番号を予測できないだけでなく、FWSM は変換対象ホストが接続を開始する側でないかぎり、変換を作成しません。ホストへの確実なアクセスについては、次の「「スタティック NAT」」または「「スタティック PAT」」を参照してください。

PAT では単一のマッピング先のアドレスを使用するため、ルーティング可能なアドレスの使用を抑えることができます。FWSM インターフェイス IP アドレスを PAT アドレスとして使用することもできます。PAT は、データ ストリームが制御パスとは別のものであるマルチメディア アプリケーションでは機能しません。NAT および PAT のサポートの詳細については、「インスペクション エンジンの概要」を参照してください。


) 変換の実施中、リモート ホストから、変換されたホストへの接続を開始できます(その接続がアクセス リストで許可されている場合)。実際のポート アドレスおよびマッピング ポート アドレスはいずれも予測不可能であるため、ホストへの接続は確立されません。ただし、この場合、アクセス リストのセキュリティを利用できます。


スタティック NAT

スタティック NAT では、実アドレスからマッピング先のアドレスへの固定変換が作成されます。ダイナミック NAT および PAT では、各ホストは、後続の変換ごとに異なるアドレスまたはポートを使用します。スタティック NAT では連続する各接続においてマッピング先のアドレスは同じであり、固定の変換ルールが存在するため、スタティック NAT では、宛先ネットワーク上のホストは変換されたホストへのトラフィックを開始できます(それを許可するアクセス リストがある場合)。

ダイナミック NAT とスタティック NAT のアドレス範囲における主な相違は、スタティック NAT では、(アクセス リストで許可されていれば)リモート ホストから変換対象ホストへ接続を開始できるのに対して、ダイナミック NAT では開始できないことです。スタティック NAT ではさらに、実アドレスと同数のマップ アドレスが必要です。

スタティック PAT

スタティック PAT はスタティック NAT と同じですが、実アドレスとマッピング先のアドレスに対してプロトコル(TCP または UDP)およびポートを指定できる点が異なります。

この機能を使用すると、ステートメントごとにポートが異なるかぎり、多数のさまざまなスタティック ステートメントで同じマップ アドレスを指定できます。ただし、複数のスタティック NAT ステートメントに同じマップ アドレスを指定することはできません。

セカンダリ チャネル(FTP、VoIP など)でアプリケーション検査を必要とするアプリケーションの場合、FWSM はセカンダリ ポートを自動的に変換します。

たとえば、FTP、HTTP、および SMTP にアクセスするリモート ユーザに 1 つのアドレスを提供する必要があるときに、これらが実際のネットワークでそれぞれ異なるサーバにある場合は、同じマッピング IP アドレスを使用しながら異なるポートを使用する各サーバに対してスタティック PAT 文を指定できます。(図 16-8 を参照)。

図 16-8 スタティック PAT

 

この例について、次のコマンドを参照してください。

hostname(config)# static (inside,outside) tcp 209.165.201.3 ftp 10.1.2.27 ftp netmask 255.255.255.255
hostname(config)# static (inside,outside) tcp 209.165.201.3 http 10.1.2.28 http netmask 255.255.255.255
hostname(config)# static (inside,outside) tcp 209.165.201.3 smtp 10.1.2.29 smtp netmask 255.255.255.255
 

スタティック PAT を使用して、well-known ポートを非標準ポートに、またはその逆に変換することもできます。たとえば、内部 Web サーバがポート 8080 を使用する場合、外部ユーザにポート 80 へのアクセスを許可したあと、元のポート 8080 に対する変換を取り消すことができます。同様に、セキュリティを強化する場合に、Web ユーザに非標準ポート 6785 に接続するように通知したあと、ポート 80 に対する変換を取り消すことができます。

NAT 制御をイネーブルにした場合の NAT のバイパス

NAT コントロールをイネーブルにした場合、内部ホストは、外部ホストにアクセスするときに NAT ルールに一致する必要があります。一部のホストに対して NAT を実行しない場合は、それらのホストに関する NAT をバイパスします(あるいは、NAT コントロールをディセーブルにします)。NAT をサポートしないアプリケーションを使用している場合などには、NAT をバイパスすることを推奨します。NAT をサポートしないインスペクション エンジンについては、「インスペクション エンジンの概要」を参照してください。

3 通りの方法で、NAT をバイパスするようにトラフィックを設定できます。どの方法でも、インスペクション エンジンとの互換性が確保されます。ただし、機能は少しずつ異なります。

アイデンティティ NAT nat 0 コマンド):アイデンティティ NAT(ダイナミック NAT に似ています)を設定するときは、特定のインターフェイスでホストの変換を制限するのではなく、すべてのインターフェイスを経由する接続にアイデンティティ NAT を使用する必要があります。このため、インターフェイス A にアクセスするときには実アドレスに対して通常の変換の実行を選択できませんが、インターフェイス B にアクセスするときにはアイデンティティ NAT を使用できます。一方、通常のダイナミック NAT では、アドレス変換を実施する特定のインターフェイスを指定できます。アイデンティティ NAT を使用する実アドレスが、アクセス リストに従って使用できるすべてのネットワークでルーティング可能であることを確認します。

アイデンティティ NAT の場合、マッピング先のアドレスは実アドレスと同じですが、外部から内部への接続を(インターフェイスのアクセス リストで許可されていても)開始できません。この機能には、スタティックなアイデンティティ NAT または NAT 免除を使用してください。

スタティック アイデンティティ NAT( static コマンド):スタティック アイデンティティ NAT を使用すると、実アドレスを見せてもよいインターフェイスを指定できるので、インターフェイス A にアクセスするときにアイデンティティ NAT を使用し、インターフェイス B にアクセスするときに標準変換を使用することが可能です。スタティック アイデンティティ NAT では、ポリシー NAT も使用できます。ポリシー NAT では、変換対象の実際のアドレスを決定するときに、実際のアドレスと宛先アドレスが指定されます。(ポリシー NAT の詳細については、「ポリシー NAT」を参照してください)。たとえば、内部アドレスが外部インターフェイスにアクセスするとき、宛先がサーバ A である場合は内部アドレスに対してスタティック アイデンティティ NAT を使用し、外部サーバ B にアクセスする場合は通常の変換を使用できます。

NAT 免除 nat 0 access-list コマンド):NAT 免除を使用すると、変換後のホストとリモート ホストの両方が接続を開始できます。アイデンティティ NAT と同様に、特定のインターフェイスでホストの変換を制限するのではなく、すべてのインターフェイスを経由する接続に NAT 免除を使用する必要があります。ただし、NAT 免除では、変換する実アドレスを判別するときに実アドレスおよび宛先アドレスを指定できるため(ポリシー NAT に似ています)、NAT 免除を使用する方が制御の柔軟性が増します。その反面、ポリシー NAT と異なり、NAT 免除ではアクセス リストのポートが考慮されません。

ポリシー NAT

ポリシー NAT を使用すると、拡張アクセス リストに送信元アドレスおよび宛先アドレスを指定することにより、アドレス変換の実アドレスを識別できます。任意で送信元ポートおよび宛先ポートを指定することもできます。標準 NAT では送信元アドレスだけが考慮され、宛先は考慮されません。たとえば、ポリシー NAT を使用した場合、サーバ A にアクセスするときには実アドレスをマップ アドレス A に変換しますが、サーバ B にアクセスするときには実アドレスをマップ アドレス B に変換します。

セカンダリ チャネル(FTP、VoIP など)でアプリケーション検査を必要とするアプリケーションの場合、ポリシー NAT ステートメントで指定したポリシーにセカンダリ ポートが含まれている必要があります。または、ポートを予測できない場合は、ポリシーでセカンダリ チャネルの IP アドレスだけを指定する必要があります。FWSM では、このようにセカンダリ ポートを変更します。


) NAT 免除以外のすべてのタイプの NAT が、ポリシー NAT をサポートします。NAT 免除はアクセス リストを使用して実アドレスを識別しますが、ポリシー NAT とは異なり、ポートが考慮されません。その他の相違点については、「NAT のバイパス」を参照してください。ポリシー NAT をサポートしないスタティック アイデンティティ NAT を使用すると、NAT 除外と同じ結果を得ることができます。


図 16-9 に、2 台の異なるサーバにアクセスしている 10.1.2.0/24 ネットワークのホストを示します。ホストがサーバ 209.165.201.11 にアクセスすると、実際のアドレスは 209.165.202.129 に変換されます。ホストが 209.165.200.225 のサーバにアクセスすると、実アドレスが 209.165.202.130 に変換され、ホストがサーバと同じネットワーク上にあるように見せかけることができるため、ルーティングが可能になります。

図 16-9 異なる宛先アドレスを使用するポリシー NAT

 

この例について、次のコマンドを参照してください。

hostname(config)# access-list NET1 permit ip 10.1.2.0 255.255.255.0 209.165.201.0 255.255.255.224
hostname(config)# access-list NET2 permit ip 10.1.2.0 255.255.255.0 209.165.200.224 255.255.255.224
hostname(config)# nat (inside) 1 access-list NET1
hostname(config)# global (outside) 1 209.165.202.129
hostname(config)# nat (inside) 2 access-list NET2
hostname(config)# global (outside) 2 209.165.202.130
 

図 16-10 に、送信元ポートおよび宛先ポートの使用例を示します。10.1.2.0/24 ネットワーク上のホストが、Web サービスおよび Telnet サービスの両方で使用する単一のホストにアクセスします。ホストが Web サービスを求めてサーバにアクセスすると、実際のアドレスは 209.165.202.129 に変換されます。ホストが Telnet サービスを求めて同じサーバにアクセスすると、実際のアドレスは 209.165.202.130 に変換されます。

図 16-10 異なる宛先ポートを使用するポリシー NAT

 

この例について、次のコマンドを参照してください。

hostname(config)# access-list WEB permit tcp 10.1.2.0 255.255.255.0 209.165.201.11 255.255.255.255 eq 80
hostname(config)# access-list TELNET permit tcp 10.1.2.0 255.255.255.0 209.165.201.11 255.255.255.255 eq 23
hostname(config)# nat (inside) 1 access-list WEB
hostname(config)# global (outside) 1 209.165.202.129
hostname(config)# nat (inside) 2 access-list TELNET
hostname(config)# global (outside) 2 209.165.202.130
 

ポリシー スタティック NAT(および、同様にアクセス リストでトラフィックを識別する NAT 除外)の場合、変換対象ホストとリモート ホストの両方からトラフィックを発信できます。NAT アクセス リストは、変換対象ネットワークから発信されたトラフィックについては、実アドレスと 宛先 アドレスを指定しますが、リモート ネットワークから発信されたトラフィックについては、この変換を使用してホストに接続を許可されたリモート ホストの実アドレスと 送信元 アドレスを識別します。

図 16-11 に、変換済みのホストに接続するリモート ホストを示します。変換対象ホストには、ネットワーク 209.165.201.0/27 との双方向のトラフィックだけに対し実アドレスを変換する、ポリシー スタティック NAT 変換が設定されています。209.165.200.224/27 ネットワーク用の変換は存在しません。したがって、変換済みのホストはそのネットワークに接続できず、そのネットワークのホストも変換済みのホストに接続できません。

図 16-11 宛先アドレス変換を行うポリシー スタティック NAT

 

この例について、次のコマンドを参照してください。

hostname(config)# access-list NET1 permit ip 10.1.2.0 255.255.255.224 209.165.201.0 255.255.255.224
hostname(config)# static (inside,outside) 209.165.202.128 access-list NET1
 

) ポリシー スタティック NAT の場合、変換を元に戻すときに、static コマンドの ACL は使用されません。パケット内の宛先アドレスがスタティック ルールのマッピング先のアドレスと一致する場合は、アドレスを未変換の状態に戻すのに、スタティック ルールが使用されます。



) ポリシー NAT は SQL*Net をサポートしませんが、標準 NAT は SQL*Net をサポートします。他のプロトコルの NAT サポートについては、「インスペクション エンジンの概要」を参照してください。


NAT セッション(Xlate)の作成

デフォルトでは、NAT を使用しない場合でも、FWSM によってすべての接続に対して NAT セッションが作成されます。たとえば、NAT 制御をイネーブルにしていない場合、NAT 除外やアイデンティティ NAT を使用する場合、または同じセキュリティ インターフェイスを使用し、NAT を設定しない場合でも、非変換の各接続に対してセッションが作成されます。ただし、NAT セッション数には上限があるため(「管理対象のシステム リソース」を参照)、このような NAT セッションによりその上限に達してしまう可能性があります。

上限に達することがないよう、非変換トラフィックに対して NAT セッションをディセーブルにできます(xlate バイパスと呼ばれる)。xlate バイパスをイネーブルにする方法については、「Xlate バイパスの設定」を参照してください。NAT 制御をディセーブルにしているときに非変換トラフィックが存在するか、NAT 除外を使用する場合、または NAT 制御をイネーブルにしているときに NAT 除外を使用する場合、xlate バイパスによって FWSM でこのような非変換トラフィックに対してセッションが作成されなくなります。次のような場合、NAT セッションは引き続き作成されます。

(NAT 制御を使用するかどうかにかかわらず)アイデンティティ NAT を設定する場合。アイデンティティ NAT は変換と見なされます。

NAT 制御で同じセキュリティのインターフェイスを使用する場合。トラフィックに対して NAT を設定していない場合でも、同じセキュリティ インターフェイス間のトラフィックによって NAT セッションが作成されます。この場合に NAT セッションを回避するには、NAT 制御をディセーブルにするか、または NAT 除外とともに xlate バイパスを使用します。

NAT および PAT グローバル プールの利用率

任意の NAT または PAT コンフィギュレーションの現在のグローバル プール利用率を表示し、グローバル プールがなくなりそうかどうかを判別して、簡単にトラッキングできます。設定された各グローバル ノードでは、IP アドレスまたはポートがそのグローバル ノードから割り当てられる、または解放されるときに、カウンタが増減します。このカウンタは、スタンバイ デバイス上にも存在し、フェールオーバー時にグローバル ノード利用率をトラッキングします。

単一アドレス(ダイナミック PAT の場合)またはマッピング アドレス範囲(ダイナミック NAT の場合)を指定できます。

ダイナミック NAT グローバル プールの利用率の例については、 show global usage コマンドを参照してください。

hostname(config)# show global usage
 
NAT Global Pool ID interface In use Most used Total
--------------- ---- --------- ------ --------- -----
209.165.201.10-209.165.201.20 1 outside 1 1 11
 

ダイナミック PAT ポートの利用率の例については、 show global usage コマンドを参照してください。

hostname(config)# show global usage
 
NAT Global Pool ID interface In use Most used Total
--------------- ---- --------- ------ --------- -----
209.165.201.10 2 outside 896 896 64512
 

NAT および同一セキュリティ レベルのインターフェイス

セキュリティ レベルが同じインターフェイス間では、NAT コントロールをイネーブルにした場合でも、NAT は必要ありません。必要に応じて任意で NAT を設定できます。ただし、NAT 制御がイネーブルになっている場合にダイナミック NAT を設定するときは、NAT が必要です。詳細については、「NAT コントロール」を参照してください。また、同一セキュリティ レベルのインターフェイス上でダイナミック NAT または PAT に対して IP アドレス グループを指定する場合、そのアドレス グループが下位または同一セキュリティ レベルのインターフェイスにアクセスするときには、アドレス グループに対して NAT を実行する必要があります(NAT 制御がイネーブルでない場合でも)。スタティック NAT として識別されたトラフィックは影響を受けません。

同一セキュリティ レベルの通信をイネーブルにする方法については、「同一セキュリティ レベルのインターフェイス間の通信の許可」を参照してください。


) 同一セキュリティ レベルのインターフェイス上に NAT を設定した場合、FWSM は VoIP インスペクション エンジンをサポートしません。これらのインスペクション エンジンには、Skinny、SIP、および H.323 が含まれます。サポートされるインスペクション エンジンについては、「インスペクション エンジンの概要」を参照してください。


実アドレス照合用 NAT コマンドの順序

FWSM は、次の順序で NAT コマンドに対して実アドレスを照合します。

1. NAT 除外( nat 0 access-list ):最初の一致が見つかるまで順番どおり。アイデンティティ NAT はこのカテゴリではなく、標準スタティック NAT または標準 NAT のカテゴリに含まれます。予想外の結果が生じる可能性があるので、NAT 除外ステートメントには重複するアドレスを指定しないことを推奨します。

2. スタティック NAT およびスタティック PAT(標準およびポリシー)( static ):最良の一致。スタティック アイデンティティ NAT はこのカテゴリに含まれません。 スタティック ステートメント内でアドレスが重複する場合、警告が表示されますが、サポートは行われます。 static コマンドの順番は重要ではありません。実アドレスと最も一致した static ステートメントが使用されます。

3. ポリシー ダイナミック NAT( nat access-list ):最初の一致が見つかるまで順番どおり。アドレスの重複は可能です。

4. 標準ダイナミック NAT( nat ):最良の一致。標準アイデンティティ NAT はこのカテゴリに含まれます。NAT コマンドの順番は重要ではありません。実アドレスと最も一致した NAT ステートメントが使用されます。たとえば、インターフェイス上のすべてのアドレス(0.0.0.0)を変換する汎用ステートメントを作成できます。ネットワークのサブセット(10.1.1.1)を別のアドレスに変換する場合は、10.1.1.1 だけを変換するステートメントを作成できます。10.1.1.1 が接続を開始する場合、実アドレスと最も一致するので、10.1.1.1 用のステートメントが使用されます。重複するステートメントの使用は推奨できません。メモリの消費量が増え、FWSM のパフォーマンスが低下する可能性があるからです。

NAT ステートメントの最大数

FWSM は、次に示す数の nat コマンド、 global コマンド、および static コマンドをサポートします。この数はすべてのコンテキスト間で分割されるか、またはシングルモードで使用されます。

nat コマンド:2 K

global コマンド:4 K

static コマンド:2 K

FWSM ではポリシー NAT 用として、シングルモードではアクセス リストに最大 3942 の ACE、マルチモードでは 7272 の ACE を指定できます。

マッピング アドレスの注意事項

実際のアドレスをマッピング アドレスに変換するときは、次のマッピング アドレスを使用できます。

マッピング インターフェイスと同じネットワーク上のアドレス

(FWSM から出ていくトラフィックが通過する)マップ インターフェイスと同じネットワーク上のアドレスを使用した場合、FWSM はプロキシ ARP を使用してマップ アドレスの要求に応答することによって、実アドレス宛てのトラフィックを代行受信します。このソリューションにより、FWSM は他のネットワークに対するゲートウェイにはならないので、ルーティングが簡素化されます。ただし、この方法では、変換に使用できるアドレス数に限度があります。

PAT では、マッピング インターフェイスの IP アドレスも使用できます。

固有のネットワーク上のアドレス

マッピング インターフェイスで使用可能なアドレスより多くのアドレスが必要な場合は、別のサブネット上のアドレスを指定できます。FWSM は、プロキシ ARP を使用してマップ アドレス要求に応答することによって、実アドレス宛てのトラフィックを代行受信します。マッピング インターフェイスとは異なるサブネットワークに属するマッピング IP アドレスをアドバタイズするために OSPF を使用する場合、マッピング インターフェイス IP 宛てのマッピング アドレスへのスタティック ルートを作成してから、このルートを OSPF に再配布する必要があります。マップ インターフェイスがパッシブの場合(ルートをアドバタイズしない)、またはスタティック ルーティングを使用する場合は、マップ アドレス宛てのトラフィックを FWSM に送信するアップストリーム ルータ上でスタティック ルートを追加する必要があります。

DNS および NAT

応答内のアドレスを NAT コンフィギュレーションと一致するアドレスに置き換えて、DNS 応答を修正するように FWSM を設定することが必要になる場合があります。DNS 修正は、各変換を設定するときに設定できます。

たとえば、DNS サーバが外部インターフェイスからアクセス可能であるとします。サーバ ftp.example.com は内部インターフェイス上にあります。ftp.example.com の実際のアドレス(10.1.3.14)を、外部ネットワーク上で可視のマッピング アドレス(209.165.201.10)にスタティックに変換するように、FWSM を設定します。(図 16-12を参照)。この場合、このスタティック文で DNS 応答修正をイネーブルにする必要があります。これにより、実際のアドレスを使用して ftp.example.com にアクセスすることを許可されている内部ユーザは、マッピング アドレスではなく実際のアドレスを DNS サーバから受信できるようになります。

内部ホストが ftp.example.com のアドレスを求める DNS 要求を送信すると、DNS サーバはマップ アドレス(209.165.201.10)で応答します。FWSM は内部サーバのスタティック ステートメントを参照し、DNS 応答内のアドレスを 10.1.3.14 に変換します。DNS 応答の変換をイネーブルにしなかった場合、内部ホストは ftp.example.com に直接アクセスする代わりに、209.165.201.10 にトラフィックを送信しようとします。


) DNS クエリー応答内の実 IP アドレスに対し、ルートを指定する必要があります。指定しないと、FWSM は NAT を実行しません。必要なルートは、スタティック ルーティング、または RIP や OSPF などのルーティング プロトコルによって突き止めることができます。


図 16-12 DNS 応答修正

 

この例に対応するコマンドは、次のとおりです。

hostname(config)# static (inside,outside) 209.165.201.10 10.1.3.14 netmask 255.255.255.255 dns
 

) 別のネットワーク(たとえば、DMZ)上のユーザが外部 DNS サーバから ftp.cisco.com の IP アドレスも要求した場合、DNS 応答内の IP アドレスもこのユーザに対して変更されます。これは、ユーザが static コマンドで参照される内部インターフェイスを使用していない場合でも同様です。


図 16-13 に、外部の Web サーバと DNS サーバを示します。FWSM には、外部サーバ用のスタティック変換があります。この場合、内部ユーザが DNS サーバに ftp.example.com のアドレスを要求すると、DNS サーバは実アドレス 209.165.20.10 で応答します。内部ユーザには、ftp.example.com のマップ アドレス(10.1.2.56)を使用させるので、このスタティック変換に対して DNS 応答の変更を設定する必要があります。

図 16-13 外部 NAT を使用する DNS 応答修正

 

この例に対応するコマンドは、次のとおりです。

hostname(config)# static (outside,inside) 10.1.2.56 209.165.201.10 netmask 255.255.255.255 dns
 

NAT 制御の設定

NAT 制御では、内部インターフェイスから外部インターフェイスへのパケットは NAT ルールと一致する必要があります。詳細については、「NAT コントロール」を参照してください。

NAT 制御をイネーブルにするには、次のコマンドを入力します。

hostname(config)# nat-control
 

NAT 制御をディセーブルにするには、このコマンドの no 形式を入力します。

Xlate バイパスの設定

デフォルトでは、NAT を使用しない場合でも、FWSM によってすべての接続に対して NAT セッションが作成されます。NAT セッション数の上限に達することがないよう、非変換トラフィックに対して NAT セッションをディセーブルにできます(xlate バイパスと呼ばれる)。詳細については、「NAT セッション(Xlate)の作成」を参照してください。

xlate バイパスをイネーブルにするには、次のコマンドを入力します。

hostname(config)# xlate-bypass
 

xlate バイパスをディセーブルにするには、このコマンドの no 形式を入力します。

次に、xlate バイパスをディセーブルにした場合の show xlate detail コマンドの出力例を示します。太字の出力は、NAT が接続に対して明示的に設定されていない場合でも、16 個すべての接続でアイデンティティ NAT xlate が必要であることを示しています。

hostname# show xlate detail
Flags: D - DNS, d - dump, I - identity, i - inside, n - no random,
o - outside, r - portmap, s - static
16 in use, 16 most used
NAT from inside:10.1.1.11 to outside:10.1.1.11 flags Ii
NAT from inside:10.1.1.12 to outside:10.1.1.12 flags Ii
NAT from inside:10.1.1.13 to outside:10.1.1.13 flags Ii
NAT from inside:10.1.1.14 to outside:10.1.1.14 flags Ii
NAT from inside:10.1.1.15 to outside:10.1.1.15 flags Ii
...
NAT from inside:10.1.1.25 to outside:10.1.1.25 flags Ii
NAT from inside:10.1.1.26 to outside:10.1.1.26 flags Ii.
 

次に、xlate バイパスをイネーブルにした場合の show xlate detail コマンドの出力例を示します。太字の出力は、アクティブな 16 個の接続のうち、どの接続でも xlate は不要であることを示しています。

hostname# show xlate detail
Flags: D - DNS, d - dump, I - identity, i - inside, n - no random,
o - outside, r - portmap, s - static
0 in use, 16 most used
 

次に、xlate バイパスをイネーブルにし、xlate が必要なスタティック アイデンティティ NAT コンフィギュレーションが含まれる場合の show xlate detail コマンドの出力例を示します。

hostname(config)# static (inside,outside) 10.1.1.20 10.1.1.20 netmask 255.255.255.255
hostname(config)# show xlate detail
Flags: D - DNS, d - dump, I - identity, i - inside, n - no random,
o - outside, r - portmap, s - static
1 in use, 16 most used
NAT from inside:10.1.1.20 to outside:10.1.1.20 flags Isi
 

ダイナミック NAT および PAT の使用方法

ここでは、ダイナミック NAT および PAT の設定方法について説明します。内容は次のとおりです。

「ダイナミック NAT および PAT の実装」

「ダイナミック NAT または PAT の設定」

ダイナミック NAT および PAT の実装

ダイナミック NAT と PAT の場合、最初に nat コマンドを設定し、変換する所定のインターフェイスの実アドレスを指定します。次に、別の global コマンドを設定して、別のインターフェイスから出るときのマッピング アドレスを指定します(PAT の場合、このアドレスは 1 つです)。各 nat コマンドは、各コマンドに割り当てられた番号である NAT ID の比較によって、1 つの global コマンドと一致します。(図 16-14 を参照)。

図 16-14 NAT およびグローバル ID の照合

 

この例について、次のコマンドを参照してください。

hostname(config)# nat (inside) 1 10.1.2.0 255.255.255.0
hostname(config)# global (outside) 1 209.165.201.3-209.165.201.10
 

1 つまたは複数のインターフェイス上で同じ NAT ID を使用して複数の nat コマンドを入力できます。その場合、トラフィックがインターフェイスから出ていくときに、すべてのインターフェイスで同じ global コマンドが使用されます。たとえば、内部インターフェイスと DMZ インターフェイスに NAT ID 1 を使用して、 nat コマンドを設定します。さらに、同様に ID 1 を使用して、外部インターフェイスに global コマンドを設定します。内部インターフェイスおよび DMZ インターフェイスからのトラフィックは、外部インターフェイスを出るときに、マッピングされたプールまたは PAT アドレスを共有します。(図 16-15 を参照)。

図 16-15 複数のインターフェイスにおける NAT コマンド

 

この例について、次のコマンドを参照してください。

hostname(config)# nat (inside) 1 10.1.2.0 255.255.255.0
hostname(config)# nat (inside) 1 192.168.1.0 255.255.255.0
hostname(config)# nat (dmz) 1 10.1.1.0 255.255.255.0
hostname(config)# global (outside) 1 209.165.201.3-209.165.201.10
 

同じ NAT ID を使用して、各インターフェイスに global コマンドを 1 つずつ入力することもできます。ID 1 を使用して、外部インターフェイスと DMZ インターフェイスに global コマンドを入力した場合、内部 nat コマンドでは、外部インターフェイスと DMZ インターフェイスの両方に送る場合に、トラフィックを変換することを指定します。同様に、DMZ インターフェイスにも ID 1 を使用して nat コマンドを入力した場合、DMZ トラフィックにも外部インターフェイス上の global コマンドが使用されます (図 16-16 を参照)。

図 16-16 複数のインターフェイスにおけるグローバルおよび NAT コマンド

 

この例について、次のコマンドを参照してください。

hostname(config)# nat (inside) 1 10.1.2.0 255.255.255.0
hostname(config)# nat (dmz) 1 10.1.1.0 255.255.255.0
hostname(config)# global (outside) 1 209.165.201.3-209.165.201.10
hostname(config)# global (dmz) 1 10.1.1.23
 

複数の異なる NAT ID を使用する場合は、さまざまな実アドレス セットにそれぞれ異なるマップ アドレスが割り当てられるように指定します。たとえば、内部インターフェイス上で、2 つの nat コマンドを 2 つの NAT ID で指定できます。外部インターフェイスでは、この 2 つの ID に対応する global コマンドを 2 つ設定できます。その場合、内部ネットワーク A からのトラフィックが外部インターフェイスを出ると、IP アドレスはプール A のアドレスに変換されます。内部ネットワーク B からのトラフィックは、プール B のアドレスに変換されます。(図 16-17 を参照)。ポリシー NAT を使用した場合は、宛先のアドレスとポートが各アクセス リスト内で固有であれば、複数の nat コマンドに対して同じ実際のアドレスを指定できます。

図 16-17 異なる NAT ID

 

この例について、次のコマンドを参照してください。

hostname(config)# nat (inside) 1 10.1.2.0 255.255.255.0
hostname(config)# nat (inside) 2 192.168.1.0 255.255.255.0
hostname(config)# global (outside) 1 209.165.201.3-209.165.201.10
hostname(config)# global (outside) 2 209.165.201.11
 

同じ NAT ID を使用して、1 つのインターフェイスに複数の global コマンドを入力できます。この場合、FWSM は最初に、ダイナミック NAT の global コマンドをコンフィギュレーションで指定された順番どおりに使用し、次に PAT の global コマンドを順番どおりに使用します。特定のアプリケーションにダイナミック NAT を使用する必要があり、なおかつダイナミック NAT アドレスをすべて使い果たした場合に備えてバックアップ用の PAT ステートメントも必要だという場合、ダイナミック NAT global コマンドと PAT global コマンドの両方を入力します。同様に、1 つの PAT がマッピングされた文がサポートする約 64,000 回の PAT セッションより多くのセッションが必要な場合、2 つの PAT 文を入力できます。(図 16-18 を参照)。

図 16-18 NAT および PAT の併用

 

この例について、次のコマンドを参照してください。

hostname(config)# nat (inside) 1 10.1.2.0 255.255.255.0
hostname(config)# global (outside) 1 209.165.201.3-209.165.201.4
hostname(config)# global (outside) 1 209.165.201.5
 

外部 NAT(外部から内部へ)の場合、 nat コマンドで outside キーワードを使用する必要があります。外部インターフェイスにアクセスしたときにも同じトラフィックを変換する場合は(DMZ 上のトラフィックを内部インターフェイスにアクセスするときにも、外部インターフェイスにアクセスするときにも変換するような状況)、 outside オプションを使用せずに、別個の nat コマンドを設定する必要があります。この場合、両方の文で同じアドレスを指定し、同じ NAT ID を使用できます。(図 16-19 を参照)。外部 NAT(DMZ インターフェイスから内部インターフェイスへ)では、内部ホストは static コマンドを使用して外部アクセスを許可します。したがって、送信元アドレスと宛先アドレスの両方が変換されます。

図 16-19 外部 NAT および内部 NAT の組み合わせ

 

この例について、次のコマンドを参照してください。

hostname(config)# nat (dmz) 1 10.1.1.0 255.255.255.0 outside
hostname(config)# nat (dmz) 1 10.1.1.0 255.255.255.0
hostname(config)# static (inside,dmz) 10.1.1.5 10.1.2.27 netmask 255.255.255.255
hostname(config)# global (outside) 1 209.165.201.3-209.165.201.4
hostname(config)# global (inside) 1 10.1.2.30-1-10.1.2.40
 

nat コマンドで IP アドレス グループを指定する場合、そのアドレス グループが下位または同一セキュリティ レベルのインターフェイスにアクセスするときに、そのアドレス グループに対して NAT を実行する必要があります。各インターフェイスで同じ NAT ID を持つ global コマンドを適用するか、 static コマンドを使用します。アドレス グループが上位セキュリティ レベルのインターフェイスにアクセスする場合、NAT は必要ありません。外部から内部に NAT を実行するには、 outside キーワードを使用して別個の nat コマンドを作成する必要があるためです。外部 NAT を適用する場合、アドレス グループがすべての上位セキュリティ レベルのインターフェイスにアクセスするときに、直前の NAT 要件がそのアドレス グループに対して有効になります。 static コマンドによって識別されたトラフィックは影響を受けません。

ダイナミック NAT または PAT の設定

ここでは、ダイナミック NAT またはダイナミック PAT の設定方法について説明します。ダイナミック NAT およびダイナミック PAT の設定方法はほぼ同じですが、NAT ではマップ アドレス範囲を指定するのに対して、PAT では単一アドレスを指定します。

図 16-20 に、一般的なダイナミック NAT のシナリオを示します。変換対象ホストだけが NAT セッションを作成することができ、応答トラフィックの返信が許可されます。マップ アドレスは global コマンドによって定義されたプールから動的に割り当てられます。

図 16-20 ダイナミック NAT

 

図 16-21 に、一般的なダイナミック PAT のシナリオを示します。変換対象ホストだけが NAT セッションを作成することができ、応答トラフィックの返信が許可されます。 global コマンドによって定義されたマップ アドレスは各変換で同一ですが、ポートは動的に割り当てられます。

図 16-21 ダイナミック PAT

 

ダイナミック NAT の詳細については、「ダイナミック NAT」を参照してください。PAT の詳細については、「PAT」を参照してください。


) NAT コンフィギュレーションを変更したときに、既存の変換がタイムアウトするまで待機せずに新しい NAT 情報を使用する必要がある場合は、clear xlate コマンドを使用して変換テーブルを消去できます。ただし、変換テーブルを消去すると、変換を使用している現在の接続がすべて切断されます。


ダイナミック NAT または PAT を設定するには、次の手順を実行します。


ステップ 1 次のコマンドを入力して、変換する実アドレスを指定します。

ポリシー NAT:

hostname(config)# nat (real_interface) nat_id access-list acl_name [dns] [outside] [[tcp] tcp_max_conns [emb_limit]] [udp udp_max_conns] [norandomseq]
 

他の nat コマンドで重複するアドレスを指定できます。たとえば、あるコマンドで 10.1.1.0 を指定し、別のコマンドで 10.1.1.1 を指定できます。トラフィックは最初の一致が見つかるまで順番にポリシー NAT コマンドと照合されます。または標準 NAT の場合は、最良の一致を使用します。

このコマンドのオプションについて説明します。

access-list acl_name :拡張アクセス リストを使用して、実アドレスと宛先アドレスを指定します。拡張アクセス リストを作成するには、 access-list extended コマンドを使用します。(「拡張アクセス リストの追加」を参照)。このアクセス リストには、 許可 ACE だけを含めます。オプションで、 eq 演算子を使用して、アクセス リストに実際のポートと宛先ポートを指定できます。ポリシー NAT およびスタティック NAT では inactive または time-range キーワードが考慮され、ACE が非アクティブ状態になると動作を停止します。

nat_id :1 ~ 65,535 の整数です。NAT ID は global コマンドの NAT ID と一致する必要があります。NAT ID の使用方法の詳細については、「ダイナミック NAT および PAT の実装」を参照してください。 0 は NAT 除外用として予約されています (NAT 除外の詳細については、「NAT 除外の設定」を参照してください)。

dns :DNS サーバにエントリが作成されているホストのアドレスを nat コマンドに指定し、なおかつ DNS サーバがクライアントとは異なるインターフェイス上に配置されている場合、クライアントと DNS サーバに必要なホスト アドレスはそれぞれ異なります。一方はマップ アドレスが必要で、もう一方は実アドレスが必要です。このオプションは、クライアントに送信される DNS 応答内のアドレスを書き換えます。変換対象のホストは、クライアントまたは DNS サーバのいずれかと同じインターフェイス上に存在していなければなりません。一般に、他のインターフェイスからのアクセスを許可する必要があるホストは static 変換を使用するため、 static コマンドではこのオプションの方が使用される可能性が高くなります。(詳細については、「DNS および NAT」を参照してください)。

outside :このインターフェイスのセキュリティ レベルが global ステートメントの一致によって特定されたインターフェイスより低い場合、 outside を入力し、NAT インスタンスを外部 NAT として指定する必要があります。

tcp tcp_max_conns :各ホストの同時 TCP 接続の最大数(65,536 まで)を指定します。デフォルトは 0 で、これは最大接続数を意味します。

emb_limit :ホストごとの初期接続の最大数(65,536 まで)です。デフォルトは 0 で、これは最大接続数を意味します。 emb_limit を入力する前に、 tcp tcp_max_conns を入力する必要があります。 tcp_max_conns にはデフォルト値を使用し、 emb_limit を変更する場合は、 tcp_max_conns 0 を入力します。

初期接続は、送信元と宛先間で必要なハンドシェイクを完了しなかった接続要求です。初期接続数を制限することで、DoS 攻撃からシステムを保護できます。FWSM は初期接続制限を使用して、TCP 代行受信機能をトリガーします。初期接続は、送信元と宛先間で必要なハンドシェイクを完了しなかった接続要求です。TCP 代行受信では、SYN クッキー アルゴリズムを使用して、TCP SYN フラッディング攻撃を防止します。SYN フラッディング攻撃は、通常スプーフされた IP アドレスから発信された一連の SYN パケットによって行われます。SYN パケットが継続的にフラッディングされることにより、サーバの SYN キューがいっぱいになり、サーバで接続要求を処理できなくなります。接続が、初期接続しきい値に達すると、FWSM はサーバのプロキシとして動作し、クライアントの SYN 要求に対して SYN-ACK 応答を生成します。FWSM は、クライアントから ACK を受信すると、クライアントを認証してサーバへの接続を許可できます。

udp udp_max_conns :各ホストの同時 UDP 接続の最大数(65,536 まで)を指定します。デフォルトは 0 で、これは最大接続数を意味します。

norandomseq :TCP Initial Sequence Number(ISN)ランダム化をディセーブルにします。TCP Initial Sequence Number ランダム化をディセーブルにできるのは、別のインライン ファイアウォールでも Initial Sequence Number をランダム化している場合です。両方のファイアウォールでこの処理を実行する必要はないためです。ただし、両方のファイアウォールで ISN ランダム化をイネーブルにしたままにしてもトラフィックには影響しません。それぞれの TCP 接続には 2 つの ISN が割り当てられており、そのうちの 1 つはクライアントで生成され、もう 1 つはサーバで生成されます。セキュリティ アプライアンスでは、発信方向に通過する TCP SYN の ISN をランダム化します。同一セキュリティ レベルの 2 つのインターフェイス間の接続の場合、ISN は双方向の SYN でランダム化されます。保護対象のホストの ISN をランダム化することにより、攻撃者が新しい接続に使用される次の ISN を予測して新しいセッションをハイジャックするのを阻止します。


) モジュラ ポリシー フレームワークを使用することによっても、接続制限を設定できます(ただし、初期接続制限は設定できません)。詳細については、「接続制限とタイムアウトの設定」を参照してください。初期接続制限を設定するには、NAT を使用する必要があります。両方の方法を使用して同じトラフィックにこれらの設定を行う場合は、FWSM は低い方の制限を使用します。TCP シーケンスのランダム化がいずれかの方法を使用してディセーブルになっている場合、FWSM は TCP シーケンスのランダム化をディセーブルにします。


標準 NAT

hostname(config)# nat (real_interface) nat_id real_ip [mask [dns] [outside] [[tcp] tcp_max_conns [emb_limit]] [udp udp_max_conns] [norandomseq]]
 

nat_id は 1 ~ 2,147,483,647 の整数です。NAT ID は global コマンドの NAT ID と一致する必要があります。NAT ID の使用方法の詳細については、「ダイナミック NAT および PAT の実装」を参照してください。 0 はアイデンティティ NAT 用として予約されています。アイデンティティ NAT の詳細については、「アイデンティティ NAT の設定」を参照してください。

その他のオプションについては、前述のポリシー NAT コマンドを参照してください。

ステップ 2 次のコマンドを入力して、特定のインターフェイスから送信される実アドレスに割り当てるマップ アドレス(複数可)を指定します。

hostname(config)# global (mapped_interface) nat_id {mapped_ip[-mapped_ip]}
 

この NAT ID は nat コマンドの NAT ID と一致する必要があります。対応する nat コマンドで、このインターフェイスを出るときに変換するアドレスを指定します。

単一アドレス(PAT の場合)またはアドレス範囲(NAT の場合)を指定できます。範囲は必要に応じて、サブネット境界を超えて指定できます。次に、指定できる「スーパーネット」の例を示します。

192.168.1.1-192.168.2.254
 


 

たとえば、内部インターフェイス上の 10.1.1.0/24 ネットワークを変換するには、次のコマンドを入力します。

hostname(config)# nat (inside) 1 10.1.1.0 255.255.255.0
hostname(config)# global (outside) 1 209.165.201.1-209.165.201.30
 

ダイナミック NAT 用のアドレス プールを、NAT プールを使い果たしたときのための PAT アドレスとともに指定するには、次のコマンドを入力します。

hostname(config)# nat (inside) 1 10.1.1.0 255.255.255.0
hostname(config)# global (outside) 1 209.165.201.5
hostname(config)# global (outside) 1 209.165.201.10-209.165.201.20
 

ルーティングを簡素化する場合など、セキュリティ レベルの低い DMZ ネットワークのアドレスを変換し、内部ネットワーク(10.1.1.0)と同じネットワーク上にあるように見せるには、次のコマンドを入力します。

hostname(config)# nat (dmz) 1 10.1.2.0 255.255.255.0 outside dns
hostname(config)# global (inside) 1 10.1.1.45
 

ポリシー NAT を使用して、1 つの実際のアドレスに 2 つの異なる宛先アドレスを指定するには、次のコマンドを入力します。(関連図については、図 16-9 を参照してください)。

hostname(config)# access-list NET1 permit ip 10.1.2.0 255.255.255.0 209.165.201.0 255.255.255.224
hostname(config)# access-list NET2 permit ip 10.1.2.0 255.255.255.0 209.165.200.224 255.255.255.224
hostname(config)# nat (inside) 1 access-list NET1 tcp 0 2000 udp 10000
hostname(config)# global (outside) 1 209.165.202.129
hostname(config)# nat (inside) 2 access-list NET2 tcp 1000 500 udp 2000
hostname(config)# global (outside) 2 209.165.202.130
 

ポリシー NAT を使用して、それぞれが異なるポートを使用する、1 つの実際のアドレスと宛先アドレスのペアを指定するには、次のコマンドを入力します。(関連図については、図 16-10 を参照してください)。

hostname(config)# access-list WEB permit tcp 10.1.2.0 255.255.255.0 209.165.201.11 255.255.255.255 eq 80
hostname(config)# access-list TELNET permit tcp 10.1.2.0 255.255.255.0 209.165.201.11 255.255.255.255 eq 23
hostname(config)# nat (inside) 1 access-list WEB
hostname(config)# global (outside) 1 209.165.202.129
hostname(config)# nat (inside) 2 access-list TELNET
hostname(config)# global (outside) 2 209.165.202.130
 

global キーワードを指定せずにダイナミック NAT を設定した場合、FWSM と ASA の動作が異なります。FWSM では、アイデンティティ xlate が作成され、パケットが転送されます。ASA では、xlate は作成されず、パケットは、global キーワードがないためドロップされます。
次の例では、outside インターフェイスの背後を宛先とする、10.1.1.0/24 から送信されるパケットは、FWSM では転送されますが、ASA ではドロップされます。hostname(config)# nat (inside) 1 10.1.1.0 255.255.255.0 without global (outside) 1 X
この状況を回避するには、NAT 除外(nat 0)を設定するか、global キーワードを指定します。


スタティック NAT の使用方法

ここでは、スタティック変換の設定方法について説明します。

図 16-22 に、一般的なスタティック NAT のシナリオを示します。変換は常にアクティブであるため、変換対象ホストとリモート ホストの両方で接続を生成でき、マップ アドレスは static コマンドによって静的に割り当てられます。

図 16-22 スタティック NAT

 

スタティック PAT を使用しないと、同一の実際のアドレスまたはマッピング アドレスを、同一の 2 つのインターフェイス間の複数の static コマンドで使用することはできません。(「スタティック PAT の使用方法」を参照)。同じマッピングされているインターフェイスに対して、 global コマンドでも定義されているマッピング先のアドレスを static コマンドで使用しないでください。

スタティック NAT の詳細については、「スタティック NAT」を参照してください。


static コマンドを削除しても、その変換を使用する既存の接続は影響を受けません。これらの接続を削除するには、clear local-host または clear xlate コマンドを入力します。変換テーブルに基づくスタティック変換は、clear xlate コマンドを使用して削除できます。変換テーブルは消去され、現在の変換がすべて削除されます。clear xlate コマンドでは、xlate バイパスがイネーブルになっており、接続で xlate が使用されていない場合でも、すべての接続をクリアします。

これらのコマンドの詳細については、『 Catalyst 6500 Series Switch and Cisco 7600 Series Router Firewall Services Module Command Reference 』を参照してください。


 

スタティック NAT を設定するには、次のいずれかのコマンドを入力します。

ポリシー スタティック NAT の場合、次のコマンドを入力します。

hostname(config)# static (real_interface,mapped_interface) mapped_ip access-list acl_name [dns] [[tcp] tcp_max_conns [emb_limit]] [udp udp_max_conns] [norandomseq]
 

拡張アクセス リストを使用して、実アドレスおよび宛先/送信元アドレスを指定します。拡張アクセス リストを作成するには、 access-list extended コマンドを使用します。(「拡張アクセス リストの追加」を参照)。アクセス リストの最初のアドレスは実際のアドレスです。2 番目のアドレスは、トラフィックの発信元に応じて送信元アドレスまたは宛先アドレスのいずれかになります。たとえば、10.1.1.1 から 209.165.200.224 ネットワークにトラフィックが送信される場合に、実アドレス 10.1.1.1 をマップ アドレス 192.168.1.1 に変換するには、次の access-list および static コマンドを使用します。

hostname(config)# access-list TEST extended ip host 10.1.1.1 209.165.200.224 255.255.255.224
hostname(config)# static (inside,outside) 192.168.1.1 access-list TEST
 

この場合、2 番めのアドレスは宛先アドレスです。ただし、ホストがマッピング先のアドレスへの接続を開始する場合にも、同じコンフィギュレーションが使用されます。たとえば、209.165.200.224/27 ネットワークのホストで 192.168.1.1 への接続を開始する場合、アクセス リスト内の 2 つめのアドレスは送信元アドレスになります。

このアクセス リストには、 許可 ACE のみを含めます。オプションで、 eq 演算子を使用して、アクセス リストに実際のポートと宛先ポートを指定できます。ポリシー NAT およびスタティック NAT では inactive または time-range キーワードが考慮され、ACE が非アクティブ状態になると動作を停止します。詳細については、「ポリシー NAT」を参照してください。

変換のためのネットワークを指定すると(10.1.1.0 255.255.255.0 など)、FWSM は .0 と .255 のアドレスを変換します。これらのアドレスへのアクセスを禁止する場合は、アクセスを拒否するようにアクセス リストを設定する必要があります。

その他のオプションについては、「ダイナミック NAT または PAT の設定」を参照してください。

標準スタティック NAT を設定する場合は、次のコマンドを入力します。

hostname(config)# static (real_interface,mapped_interface) mapped_ip real_ip [netmask mask] [dns] [[tcp] tcp_max_conns [emb_limit]] [udp udp_max_conns] [norandomseq]
 

オプションについては、「ダイナミック NAT または PAT の設定」を参照してください。

たとえば、次のポリシー スタティック NAT の例は、宛先アドレスに応じて 2 つのマッピング先のアドレスに変換される単一の実アドレスを示しています。(関連図については、図 16-9 を参照してください)。

hostname(config)# access-list NET1 permit ip host 10.1.2.27 209.165.201.0 255.255.255.224
hostname(config)# access-list NET2 permit ip host 10.1.2.27 209.165.200.224 255.255.255.224
hostname(config)# static (inside,outside) 209.165.202.129 access-list NET1
hostname(config)# static (inside,outside) 209.165.202.130 access-list NET2
 

次のコマンドでは、内部 IP アドレス(10.1.1.3)を外部 IP アドレス(209.165.201.12)にマッピングします。

hostname(config)# static (inside,outside) 209.165.201.12 10.1.1.3 netmask 255.255.255.255
 

次のコマンドでは、外部アドレス(209.165.201.15)を内部アドレス(10.1.1.6)にマッピングします。

hostname(config)# static (outside,inside) 10.1.1.6 209.165.201.15 netmask 255.255.255.255
 

次のコマンドでは、サブネット全体をスタティックにマッピングします。

hostname(config)# static (inside,dmz) 10.1.1.0 10.1.2.0 netmask 255.255.255.0
 

スタティック PAT の使用方法

ここでは、スタティック ポート変換の設定方法について説明します。スタティック PAT を使用すると、実 IP アドレスをマップ IP アドレスに変換し、さらに実ポートをマップ ポートに変換できます。同じポートを変換する場合は、特定のトラフィック タイプを変換できます。または、別のポートに変換することによってさらに細かく制御することもできます。

図 16-23 に、一般的なスタティック PAT の使用例を示します。変換は常にアクティブであるため、変換対象ホストとリモート ホストの両方で接続を生成でき、マップ アドレスおよびポートは static コマンドによって静的に割り当てられます。

図 16-23 スタティック PAT

 

セカンダリ チャネル(FTP、VoIP など)でアプリケーション検査を必要とするアプリケーションの場合、FWSM はセカンダリ ポートを自動的に変換します。

同じマッピングされているインターフェイスに対して、 global コマンドでも定義されているマッピング先のアドレスを static コマンドで使用しないでください。

スタティック PAT の詳細については、「スタティック PAT」を参照してください。


static コマンドを削除しても、その変換を使用する既存の接続は影響を受けません。これらの接続を削除するには、clear local-host コマンドを入力します。

変換テーブルに基づくスタティック変換は、 clear xlate コマンドを使用して削除できます。変換テーブルは消去され、現在の変換がすべて削除されます。


 

スタティック PAT を設定するには、次のいずれかのコマンドを入力します。

ポリシー スタティック PAT の場合、次のコマンドを入力します。

hostname(config)# static (real_interface,mapped_interface) {tcp | udp} mapped_ip mapped_port access-list acl_name [dns] [[tcp] tcp_max_conns [emb_limit]] [udp udp_max_conns] [norandomseq]
 

拡張アクセス リストを使用して、実アドレスおよび宛先/送信元アドレスを指定します。拡張アクセス リストを作成するには、 access-list extended コマンドを使用します。(「拡張アクセス リストの追加」を参照)。アクセス リストのプロトコルとこのコマンドで設定するプロトコルは一致している必要があります。たとえば、 static コマンドで tcp を指定する場合は、アクセス リストで tcp を指定する必要があります。ポートを指定するには、 eq 演算子を使用します。

アクセス リストの最初のアドレスは実際のアドレスです。2 番目のアドレスは、トラフィックの発信元に応じて送信元アドレスまたは宛先アドレスのいずれかになります。たとえば、10.1.1.1 から 209.165.200.224 ネットワークにトラフィックが送信される場合に、実アドレス 10.1.1.1/Telnet をマップ アドレス 192.168.1.1/Telnet に変換するには、次の access-list および static コマンドを使用します。

hostname(config)# access-list TEST extended tcp host 10.1.1.1 209.165.200.224 255.255.255.224 eq telnet
hostname(config)# static (inside,outside) tcp 192.168.1.1 telnet access-list TEST
 

この場合、2 番めのアドレスは宛先アドレスです。ただし、ホストがマッピング先のアドレスへの接続を開始する場合にも、同じコンフィギュレーションが使用されます。たとえば、209.165.200.224/27 ネットワークのホストで 192.168.1.1 への Telnet 接続を開始する場合、アクセス リスト内の 2 つめのアドレスは送信元アドレスになります。

このアクセス リストには、 許可 ACE のみを含めます。ポリシー NAT およびスタティック NAT では inactive または time-range キーワードが考慮され、ACE が非アクティブ状態になると動作を停止します。詳細については、「ポリシー NAT」を参照してください。

変換のためのネットワークを指定すると(10.1.1.0 255.255.255.0 など)、FWSM は .0 と .255 のアドレスを変換します。これらのアドレスへのアクセスを禁止する場合は、アクセスを拒否するようにアクセス リストを設定する必要があります。

その他のオプションについては、「ダイナミック NAT または PAT の設定」を参照してください。

標準スタティック PAT を設定する場合は、次のコマンドを入力します。

hostname(config)# static (real_interface,mapped_interface) {tcp | udp} mapped_ip mapped_port real_ip real_port [netmask mask] [dns] [[tcp] tcp_max_conns [emb_limit]] [udp udp_max_conns] [norandomseq]
 

オプションについては、「ダイナミック NAT または PAT の設定」を参照してください。

たとえば、10.1.3.0 ネットワーク上のホストから FWSM 外のインターフェイス(10.1.2.14)に向かって開始される Telnet トラフィックの場合、次のコマンドを入力することによって、10.1.1.15 にある内部ホストにトラフィックをリダイレクトできます。

hostname(config)# access-list TELNET permit tcp host 10.1.1.15 10.1.3.0 255.255.255.0 eq telnet
hostname(config)# static (inside,outside) tcp 10.1.2.14 telnet access-list TELNET
 

10.1.3.0 ネットワーク上のホストから FWSM 外のインターフェイス(10.1.2.14)に向かって開始される HTTP トラフィックの場合、次のように入力することによって、10.1.1.15 にある内部ホストにトラフィックをリダイレクトできます。

hostname(config)# access-list HTTP permit tcp host 10.1.1.15 10.1.3.0 255.255.255.0 eq http
hostname(config)# static (inside,outside) tcp 10.1.2.14 http access-list HTTP
 

FWSM 外のインターフェイス(10.1.2.14)から 10.1.1.15 にある内部ホストに Telnet トラフィックをリダイレクトするには、次のコマンドを入力します。

hostname(config)# static (inside,outside) tcp 10.1.2.14 telnet 10.1.1.15 telnet netmask 255.255.255.255
 

ただし、上記の実際の Telnet サーバが接続を開始できるようにするには、変換を追加する必要があります。たとえば、その他のすべてのタイプのトラフィックを変換するには、次のコマンドを入力します。元の static コマンドは、Telnet からサーバへの変換を行います。一方、 nat コマンドと global コマンドは、サーバからの発信接続のための PAT を指定します。

hostname(config)# static (inside,outside) tcp 10.1.2.14 telnet 10.1.1.15 telnet netmask 255.255.255.255
hostname(config)# nat (inside) 1 10.1.1.15 255.255.255.255
hostname(config)# global (outside) 1 10.1.2.14
 

すべての内部トラフィックについて個別の変換も保持し、内部ホストが Telnet サーバとは異なるマッピング先のアドレスを使用する場合でも、Telnet サーバから開始されるトラフィックが、サーバへの Telnet トラフィックを許可する static ステートメントと同じマッピング先のアドレスを使用するように設定できます。Telnet サーバ専用の、より排他的な nat ステートメントを作成する必要があります。 nat ステートメントは最も一致しているものが読み取られるため、より排他的な nat ステートメントは一般的なステートメントよりも前に一致します。次に、Telnet の static ステートメント、Telnet サーバから開始されるトラフィック用の、より排他的な nat ステートメント、および異なるマッピング先のアドレスを使用する他の内部ホスト用のステートメントの例を示します。

hostname(config)# static (inside,outside) tcp 10.1.2.14 telnet 10.1.1.15 telnet netmask 255.255.255.255
hostname(config)# nat (inside) 1 10.1.1.15 255.255.255.255
hostname(config)# global (outside) 1 10.1.2.14
hostname(config)# nat (inside) 2 10.1.1.0 255.255.255.0
hostname(config)# global (outside) 2 10.1.2.78
 

well-known ポート(80)を別のポート(8080)に変換するには、次のコマンドを入力します。

hostname(config)# static (inside,outside) tcp 10.1.2.45 80 10.1.1.16 8080 netmask 255.255.255.255
 

NAT のバイパス

ここでは、NAT のバイパス方法について説明します。NAT 制御をイネーブルにするときに、NAT をバイパスできます。アイデンティティ NAT、スタティック アイデンティティ NAT、または NAT 除外を使用することによって、NAT をバイパスできます。各方式の詳細については、「NAT 制御をイネーブルにした場合の NAT のバイパス」を参照してください。ここでは、次の内容について説明します。

「アイデンティティ NAT の設定」

「スタティック アイデンティティ NAT の設定」

「NAT 除外の設定」

アイデンティティ NAT の設定

アイデンティティ NAT では、実 IP アドレスを同一 IP アドレスに変換します。「変換対象」ホストだけが NAT 変換を作成することができ、応答トラフィックの返信が許可されます。

図 16-24 に、一般的なアイデンティティ NAT のシナリオを示します。

図 16-24 アイデンティティ NAT

 


) NAT コンフィギュレーションを変更したときに、既存の変換がタイムアウトするまで待機せずに新しい NAT 情報を使用する必要がある場合は、clear xlate コマンドを使用して変換テーブルを消去できます。ただし、変換テーブルを消去すると、変換を使用している現在の接続がすべて切断されます。


アイデンティティ NAT を設定するには、次のコマンドを入力します。

hostname(config)# nat (real_interface) 0 real_ip [mask [dns] [outside] [[tcp] tcp_max_conns [emb_limit]] [udp udp_max_conns] [norandomseq]]
 

オプションについては、「ダイナミック NAT または PAT の設定」を参照してください。

たとえば、内部のネットワーク 10.1.1.0/24 にアイデンティティ NAT を使用する場合、次のコマンドを入力します。

hostname(config)# nat (inside) 0 10.1.1.0 255.255.255.0
 

スタティック アイデンティティ NAT の設定

スタティック アイデンティティ NAT では、実 IP アドレスを同一 IP アドレスに変換します。変換は常にアクティブであるため、「変換対象」ホストとリモート ホストの両方で接続を生成できます。スタティック アイデンティティ NAT では、標準 NAT またはポリシー NAT を使用できます。ポリシー NAT では、変換する実トラフィックを決定するときに実アドレスと宛先アドレスを識別できます。(ポリシー NAT の詳細については、「ポリシー NAT」を参照してください)。たとえば、内部アドレスが外部インターフェイスにアクセスするとき、宛先がサーバ A である場合は内部アドレスに対してポリシー スタティック アイデンティティ NAT を使用し、外部サーバ B にアクセスする場合は通常の変換を使用できます。

図 16-25 に、一般的なスタティック アイデンティティ NAT の使用例を示します。

図 16-25 スタティック アイデンティティ NAT

 


static コマンドを削除しても、その変換を使用する既存の接続は影響を受けません。これらの接続を削除するには、clear local-host コマンドを入力します。

変換テーブルに基づくスタティック変換は、 clear xlate コマンドを使用して削除できます。変換テーブルは消去され、現在の変換がすべて削除されます。


 

スタティック アイデンティティ NAT を設定するには、次のいずれかのコマンドを入力します。

ポリシー スタティック アイデンティティ NAT を設定する場合は、次のコマンドを入力します。

hostname(config)# static (real_interface,mapped_interface) real_ip access-list acl_id [dns] [[tcp] tcp_max_conns [emb_limit]] [udp udp_max_conns] [norandomseq]
 

拡張アクセス リストを作成するには、 access-list extended コマンドを使用します。(「拡張アクセス リストの追加」を参照)。このアクセス リストには、 許可 ACE だけを含めます。アクセス リストの送信元アドレスが、このコマンドの real_ip と一致する必要があります。ポリシー NAT およびスタティック NAT では inactive または time-range キーワードが考慮され、ACE が非アクティブ状態になると動作を停止します。詳細については、「ポリシー NAT」を参照してください。

その他のオプションについては、「ダイナミック NAT または PAT の設定」を参照してください。

標準スタティック アイデンティティ NAT を設定する場合、次のコマンドを入力します。

hostname(config)# static (real_interface,mapped_interface) real_ip real_ip [netmask mask] [dns] [[tcp] tcp_max_conns [emb_limit]] [udp udp_max_conns] [norandomseq]
 

両方の real_ip 引数に、同じ IP アドレスを指定します。

その他のオプションについては、「ダイナミック NAT または PAT の設定」を参照してください。

次のコマンドでは、外部からアクセスされたときに、スタティック アイデンティティ NAT を内部 IP アドレス(10.1.1.3)に対して使用します。

hostname(config)# static (inside,outside) 10.1.1.3 10.1.1.3 netmask 255.255.255.255
 

次のコマンドでは、内部からアクセスされたときに、スタティック アイデンティティ NAT を外部アドレス(209.165.201.15)に対して使用します。

hostname(config)# static (outside,inside) 209.165.201.15 209.165.201.15 netmask 255.255.255.255
 

次のコマンドでは、サブネット全体をスタティックにマッピングします。

hostname(config)# static (inside,dmz) 10.1.2.0 10.1.2.0 netmask 255.255.255.0
 

次のスタティック アイデンティティ ポリシー NAT の例で、ある宛先アドレスにアクセスするときにアイデンティティ NAT を使用し、別の宛先アドレスにアクセスするときには変換を使用する、単一実アドレスを示します。

hostname(config)# access-list NET1 permit ip host 10.1.2.27 209.165.201.0 255.255.255.224
hostname(config)# access-list NET2 permit ip host 10.1.2.27 209.165.200.224 255.255.255.224
hostname(config)# static (inside,outside) 10.1.2.27 access-list NET1
hostname(config)# static (inside,outside) 209.165.202.130 access-list NET2
 

NAT 除外の設定

NAT 除外ではアドレスを変換処理から除外して、実ホストとリモート ホストの両方で接続を開始できるようにします。NAT 除外では、(ポリシー NAT と同様)除外する実トラフィックを決定するときに実アドレスと宛先アドレスを指定できるので、アイデンティティ NAT を使用するよりも NAT 除外を使用する方がきめ細かい制御が行えます。その反面、ポリシー NAT と異なり、NAT 免除ではアクセス リストのポートが考慮されません。アクセス リストのポートを考慮するには、スタティック アイデンティティ NAT を使用します。

図 16-26 に、一般的な NAT 除外の使用例を示します。

図 16-26 NAT 除外

 


) NAT 除外コンフィギュレーションを削除しても、その NAT 除外を使用する既存の接続は影響を受けません。これらの接続を削除するには、clear local-host コマンドを入力します。


NAT 除外を設定するには、次のコマンドを入力します。

hostname(config)# nat (real_interface) 0 access-list acl_name [outside] [[tcp] tcp_max_conns [emb_limit]] [udp udp_max_conns] [norandomseq]
 

拡張アクセス リストを作成するには、 access-list extended コマンドを使用します。(「拡張アクセス リストの追加」を参照)。このアクセス リストには、 許可 ACE と 拒否 ACE の両方を含めることができます。アクセス リストで実ポートと宛先ポートを指定しないでください。NAT 除外では、ポートは考慮されません。NAT 除外では inactive または time-range キーワードも考慮されず、すべての ACE は NAT 除外コンフィギュレーションに対してアクティブであると見なされます。

その他のオプションについては、「ダイナミック NAT または PAT の設定」を参照してください。

デフォルトでは、このコマンドは内部から外部へのトラフィックを除外します。外部から内部へのトラフィックに対して NAT をバイパスする場合は、新たに nat コマンドを追加して outside を入力し、NAT インスタンスを外部 NAT として識別します。外部インターフェイスに対してダイナミック NAT を設定して、他のトラフィックを除外する場合は、外部 NAT 除外を使用できます。

たとえば、任意の宛先アドレスにアクセスするときに、内部ネットワークを除外するには、次のコマンドを入力します。

hostname(config)# access-list EXEMPT permit ip 10.1.2.0 255.255.255.0 any
hostname(config)# nat (inside) 0 access-list EXEMPT
 

DMZ ネットワークにダイナミック外部 NAT を使用し、他の DMZ ネットワークを除外するには、次のコマンドを入力します。

hostname(config)# nat (dmz) 1 10.1.2.0 255.255.255.0 outside dns
hostname(config)# global (inside) 1 10.1.1.45
hostname(config)# access-list EXEMPT permit ip 10.1.3.0 255.255.255.0 any
hostname(config)# nat (dmz) 0 access-list EXEMPT
 

2 つの異なる宛先アドレスにアクセスするときに、内部アドレスを除外するには、次のコマンドを入力します。

hostname(config)# access-list NET1 permit ip 10.1.2.0 255.255.255.0 209.165.201.0 255.255.255.224
hostname(config)# access-list NET1 permit ip 10.1.2.0 255.255.255.0 209.165.200.224 255.255.255.224
hostname(config)# nat (inside) 0 access-list NET1
 

NAT の例

ここでは、一般的な NAT ソリューションの使用例を示します。内容は次のとおりです。

「重複したネットワーク」

「ポートのリダイレクション」

重複したネットワーク

図 16-27 では、FWSM はアドレス範囲の重複する 2 つのプライベート ネットワークを接続します。

図 16-27 重複したネットワークで外部 NAT を使用する場合

 

2 つのネットワークで重複するアドレス スペース(192.168.100.0/24)が使用されていますが、各ネットワーク上のホストは(アクセス リストの許可に従って)相互に通信しなければなりません。NAT を使用しない場合、内部ネットワーク上のホストが重複した DMZ ネットワーク上のホストにアクセスしようとしても、パケットは FWSM を通過できません。パケットの宛先アドレスが内部ネットワーク上のアドレスであると見なされるためです。さらに、内部ネットワーク上の別のホストがその宛先アドレスを使用している場合は、そのホストがパケットを受信します。

この問題を解決するには、NAT を使用して重複しないアドレスを提供します。双方向にアクセスできるようにするには、両方のネットワークにスタティック NAT を使用します。内部インターフェイスから DMZ 上のホストへのアクセスだけを許可する場合は、内部アドレスにダイナミック NAT を使用し、アクセス先の DMZ アドレスにスタティック NAT を使用します。この例は、スタティック NAT を示しています。

この 2 つのインターフェイスにスタティック NAT を設定するための手順は、次のとおりです。DMZ 上のネットワーク 10.1.1.0/24 は変換されません。


ステップ 1 内部から DMZ にアクセスするときに、内部の 192.168.100.0/24 を 10.1.2.0/24 に変換するため、次のコマンドを入力します。

hostname(config)# static (inside,dmz) 10.1.2.0 192.168.100.0 netmask 255.255.255.0
 

ステップ 2 DMZ から内部にアクセスするときに、DMZ のネットワーク 192.168.100.0/24 を 10.1.3.0/24 に変換するため、次のコマンドを入力します。

hostname(config)# static (dmz,inside) 10.1.3.0 192.168.100.0 netmask 255.255.255.0
 

ステップ 3 FWSM が DMZ ネットワークへのトラフィックを正しくルーティングできるように、次のスタティック ルートを設定します。

hostname(config)# route dmz 192.168.100.128 255.255.255.128 10.1.1.2 1
hostname(config)# route dmz 192.168.100.0 255.255.255.128 10.1.1.2 1
 

FWSM にはすでに、内部ネットワーク用に接続されたルートがあります。FWSM はこれらのスタティック ルートを使用して、ネットワーク 192.168.100.0/24 宛てのトラフィックを DMZ インターフェイスから 10.1.1.2 のゲートウェイ ルータに送信します (接続されたルートとまったく同じネットワークを指定してスタティック ルートを作成することはできないので、ネットワークを 2 つに分割する必要があります)。または、DMZ トラフィックにデフォルト ルートなど、より一般的なルートを使用することもできます。


 

DMZ ネットワーク上のホスト 192.168.100.2 が内部ネットワーク上のホスト 192.168.100.2 への接続を開始しようとすると、次のイベントが発生します。

1. DMZ ホスト 192.168.100.2 が IP アドレス 10.1.2.2 にパケットを送信します。

2. FWSM がこのパケットを受信すると、FWSM で送信元アドレスが 192.168.100.2 から 10.1.3.2 に変換されます。

3. その後、FWSM で宛先アドレスが 10.1.2.2 から 192.168.100.2 に変換されたあとで、パケットが転送されます。

ポートのリダイレクション

図 16-28 に、ポートのリダイレクション機能が役立つ一般的なネットワーク例を示します。

図 16-28 スタティック PAT を使用するポートのリダイレクション

 

ここで説明するコンフィギュレーションでは、外部ネットワーク上のホストに対してポート リダイレクションが次のように実行されます。

IP アドレス 209.165.201.5 に対する Telnet 要求は、10.1.1.6 にリダイレクトされます。

IP アドレス 209.165.201.5 に対する FTP 要求は、10.1.1.3 にリダイレクトされます。

FWSM の外部 IP アドレス 209.165.201.25 に対する HTTP 要求は、10.1.1.5 にリダイレクトされます。

PAT アドレス 209.165.201.15 に対する HTTP ポート 8080 要求は、10.1.1.7 のポート 80 にリダイレクトされます。

この実装を行うための設定手順は、次のとおりです。


ステップ 1 内部ネットワークに PAT を設定するため、次のコマンドを入力します。

hostname(config)# nat (inside) 1 0.0.0.0 0.0.0.0 0 0
hostname(config)# global (outside) 1 209.165.201.15
 

ステップ 2 209.165.201.5 への Telnet 要求を 10.1.1.6 にリダイレクトするため、次のコマンドを入力します。

hostname(config)# static (inside,outside) tcp 209.165.201.5 telnet 10.1.1.6 telnet netmask 255.255.255.255
 

ステップ 3 IP アドレス 209.165.201.5 への FTP 要求を 10.1.1.3 にリダイレクトするため、次のコマンドを入力します。

hostname(config)# static (inside,outside) tcp 209.165.201.5 ftp 10.1.1.3 ftp netmask 255.255.255.255
 

ステップ 4 次のコマンドを入力して、FWSM 外部インターフェイス アドレスに対する HTTP 要求を 10.1.1.5 にリダイレクトします。

hostname(config)# static (inside,outside) tcp interface www 10.1.1.5 www netmask 255.255.255.255
 

ステップ 5 PAT アドレス 209.165.201.15 へのポート 8080 の HTTP 要求を 10.1.1.7 にリダイレクトするため、次のコマンドを入力します。

hostname(config)# static (inside,outside) tcp 209.165.201.15 8080 10.1.1.7 www netmask 255.255.255.255