Cisco ASA 5500 シリーズ/Cisco PIX 500 シリーズ Cisco セキュリティ アプライアンス コマンド ライン コンフィギュレーション ガイド Version 7.1(1)
NAT の適用
NAT の適用
発行日;2012/02/03 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 6MB) | フィードバック

目次

NAT の適用

NAT の概要

NAT の概要

NAT 制御

NAT のタイプ

ダイナミック NAT

PAT

スタティック NAT

スタティック PAT

NAT 制御がイネーブルな状態での NAT のバイパス

ポリシー NAT

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

実際のアドレスとの照合に使用される NAT コマンドの順序

マッピング アドレスに関するガイドライン

DNS および NAT

NAT 制御の設定

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

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

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

スタティック NAT の使用

スタティック PAT の使用

NAT のバイパス

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

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

NAT 免除の設定

NAT の例

アドレスが重複するネットワーク

ポートのリダイレクト

NAT の適用

この章では、Network Address Translation(NAT; ネットワーク アドレス変換)について説明します。ルーテッド ファイアウォール モードでは、セキュリティ アプライアンスは各ネットワーク間の NAT を実行できます。


) 透過ファイアウォール モードでは、セキュリティ アプライアンスは NAT をサポートしません。


ここでは、次の項目を取り上げます。

「NAT の概要」

「NAT 制御の設定」

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

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

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

「NAT のバイパス」

「NAT の例」

NAT の概要

この項では、セキュリティ アプライアンスで NAT がどのように機能するかについて説明します。次の項目を取り上げます。

「NAT の概要」

「NAT 制御」

「NAT のタイプ」

「ポリシー NAT」

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

「実際のアドレスとの照合に使用される NAT コマンドの順序」

「マッピング アドレスに関するガイドライン」

「DNS および NAT」

NAT の概要

アドレス変換では、パケット内の実際のアドレスが、宛先ネットワークでルーティング可能なマッピング アドレスに置き換えられます。NAT は 2 つのステップで構成されます。実際のアドレスをマッピング アドレスに変換するプロセスと、その後リターン トラフィック用に変換を元に戻すプロセスです。

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


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


NAT の利点のいくつかを次に示します。

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

NAT は実際のアドレスを他のネットワークから隠蔽するため、攻撃者はホストの実際のアドレスを取得できません。

重複アドレスなど、IP ルーティングの問題を解決できます。


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


図14-1 に、内部にプライベート ネットワークがある一般的な NAT のシナリオを示します。内部ホスト 10.1.1.27 が Web サーバにパケットを送信すると、パケットの実際の送信元アドレス 10.1.1.27 はマッピング アドレス 209.165.201.10 に変更されます。サーバが応答すると、応答がマッピング アドレス 209.165.201.10 に送信されます。そのパケットをセキュリティ アプライアンスが受信します。セキュリティ アプライアンスはその後、パケットをホストに送信する前に、マッピング アドレス 209.165.201.10 を変換し、実際のアドレス 10.1.1.1.27 に戻します。

図14-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 規則と一致することが要求されます。内部ネットワークの任意のホストが外部ネットワークのホストにアクセスできるようにするには、内部ホスト アドレスが変換されるように NAT を設定する必要があります(図14-2 を参照)。

図14-2 NAT 制御と発信トラフィック

 

同じセキュリティ レベルのインターフェイスは、NAT を使用して通信することを要求されません。ただし、ダイナミック NAT または PAT を同じセキュリティ レベルのインターフェイス上に設定した場合は、そのインターフェイスから同じセキュリティ レベルのインターフェイス、または外部インターフェイスに向かうすべてのトラフィックは、NAT 規則と一致する必要があります(図14-3 を参照)。

図14-3 NAT 制御と同じセキュリティ レベルのトラフィック

 

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

図14-4 NAT 制御と着信トラフィック

 

スタティック NAT では、これらの制約は発生しません。

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

NAT 制御によってセキュリティを強化し、同時に内部アドレスの変換を回避する必要がある場合は、それらのアドレスに対して NAT 免除規則またはアイデンティティ NAT 規則を適用できます(詳細については、「NAT のバイパス」を参照してください)。

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


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


NAT のタイプ

この項では、使用可能な NAT のタイプについて説明します。アドレス変換は、ダイナミック NAT、Port Address Translation(PAT; ポート アドレス変換)、スタティック NAT、スタティック PAT、またはこれらのタイプの組み合せとして実装できます。NAT をバイパスする規則を設定することもできます。たとえば、NAT 制御をイネーブルにしている状態で NAT を実行しない場合です。ここでは、次の項目について説明します。

「ダイナミック NAT」

「PAT」

「スタティック NAT」

「スタティック PAT」

「NAT 制御がイネーブルな状態での NAT のバイパス」

ダイナミック NAT

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

図14-5 に、実際のアドレスへの接続を試みているリモート ホストを示します。セキュリティ アプライアンスはマッピング アドレスへのリターン接続だけを許可するため、この接続は拒否されています。

図14-5 実際のアドレスへの接続を試みているリモート ホスト

 

図14-6 に、マッピング アドレスへの接続開始を試みているリモート ホストを示します。このアドレスは、現時点では変換テーブルにないため、セキュリティ アプライアンスはパケットをドロップしています。

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

 


) 変換が継続している間、アクセスリストで許可されていれば、リモートホストは変換済みホストへの接続を開始できます。アドレスは予測不可能であるため、ホストへの接続は確立されません。ただし、この場合は、アクセスリストのセキュリティに依存できます。


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

マッピングされたプールにあるアドレスが実際のグループより少ない場合、予想以上にトラフィックが多いと、アドレスが不足する可能性があります。

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

マッピングされたプール内のルーティング可能なアドレスを多数使用する必要があります。インターネットなど、宛先ネットワークが登録アドレスを要求する場合は、使用可能なアドレスが不足する可能性があります。

ダイナミック NAT の利点は、一部のプロトコルが PAT を使用できないということです。たとえば、PAT は、GRE バージョン 0 などのように、オーバーロードするためのポートがない IP プロトコルでは機能しません。また、PAT は、一部のマルチメディア アプリケーションなどのように、1 つのポート上にデータ ストリームを持ち、別のポート上に制御パスを持ち、公開規格ではない一部のアプリケーションでも機能しません。NAT および PAT のサポートの詳細については、「アプリケーション プロトコル検査を使用するタイミング」を参照してください。

PAT

PAT では、複数の実際のアドレスが 1 つのマッピング IP アドレスに変換されます。具体的には、セキュリティ アプライアンスが複数の実際のアドレスおよび送信元ポート(実際のソケット)を 1 つのマッピング アドレスおよび 1024 より上の一意のポート(マッピング ソケット)に変換します。送信元ポートが接続ごとに異なるため、各接続には別の変換が必要です。たとえば、10.1.1.1:1025 には、10.1.1.1:1026 とは別の変換が必要です。

接続の有効期限が切れると、ポート変換も 30 秒間の非アクティブ状態の後に有効期限切れになります。このタイムアウトは変更できません。宛先ネットワークのユーザは、PAT を使用するホストへの接続を確実には開始できません(アクセスリストでその接続が許可されている場合も同じです)。ユーザがホストの実際のポート番号またはマッピング ポート番号を予測できないだけでなく、変換済みのホストが発信側ではない場合、セキュリティ アプライアンスは変換をまったく作成しません。ホストへの確実なアクセスについては、次の「スタティック NAT」の項または「スタティック PAT」の項を参照してください。

PAT では、1 つのマッピング アドレスを使用できるため、ルーティング可能なアドレスが節約されます。さらに、セキュリティ アプライアンス インターフェイスの IP アドレスを PAT アドレスとして使用できます。PAT は、制御パスとは異なるデータ ストリームを持つ一部のマルチメディア アプリケーションでは機能しません。NAT および PAT のサポートの詳細については、「アプリケーション プロトコル検査を使用するタイミング」を参照してください。


) 変換が継続している間、アクセスリストで許可されていれば、リモートホストは変換済みホストへの接続を開始できます。実際のポート アドレスおよびマッピング ポート アドレスはどちらも予測不可能であるため、ホストへの接続は確立されません。ただし、この場合は、アクセスリストのセキュリティに依存できます。


スタティック NAT

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

ダイナミック NAT とスタティック NAT のアドレス範囲との主な違いは、スタティック NAT ではリモート ホストが変換済みのホストへの接続を開始でき(それを許可するアクセスリストがある場合)、ダイナミック NAT では開始できないという点です。スタティック NAT では、実際のアドレスと同数のマッピング アドレスも必要です。

スタティック PAT

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

この機能により、各文のポートが別個である限り、多数の異なるスタティック文にわたって同じマッピング アドレスを指定できます(複数のスタティック NAT 文に対しては、同じマッピング アドレスを使用できません)。

セカンダリ チャネルのアプリケーション検査が必要なアプリケーション(FTP、VoIP など)を使用する場合は、セキュリティ アプライアンスが自動的にセカンダリ ポートを変換します。

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

図14-7 スタティック 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 を使用すると、予約済みポートから標準以外のポートへの変換や、その逆の変換も可能です。たとえば、内部 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 で考慮されるのは、実際のアドレスだけです。たとえば、サーバ A にアクセスするときは実際のアドレスをマッピング アドレス A に変換し、サーバ B にアクセスするときは実際のアドレスをマッピング アドレス B に変換できます。

セカンダリ チャネルのアプリケーション検査を必要とするアプリケーション(FTP、VoIP など)に対してポリシー NAT のポートを指定すると、セキュリティ アプライアンスは自動的にセカンダリ ポートを変換します。


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


図14-8 に、2 台の異なるサーバにアクセスしている 10.1.2.0/24 ネットワークのホストを示します。ホストがサーバ 209.165.201.11 にアクセスすると、実際のアドレスは 209.165.202.129 に変換されます。ホストがサーバ 209.165.200.225 にアクセスすると、実際のアドレスは 209.165.202.130 に変換されます。これにより、ホストはサーバと同じネットワークに存在するように見えるようになり、そのことがルーティングに役立ちます。

図14-8 異なる宛先アドレスを使用するポリシー 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
 

図14-9 に、送信元ポートおよび宛先ポートの使用例を示します。10.1.2.0/24 ネットワークのホストは Web サービスと Telnet サービスの両方を提供する 1 つのホストにアクセスします。ホストが Web サービスを求めてサーバにアクセスすると、実際のアドレスは 209.165.202.129 に変換されます。ホストが Telnet サービスを求めて同じサーバにアクセスすると、実際のアドレスは 209,165,202,130 に変換されます。

図14-9 異なる宛先ポートを使用するポリシー 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 アクセスリストで実際のアドレスと 宛先 アドレスが指定されますが、リモート ネットワークで発信されたトラフィックについては、この変換を使用してホストに接続することを許可されたリモート ホストの実際のアドレスと 送信元 アドレスがアクセスリストで指定されます。

図14-10 に、変換済みのホストに接続するリモート ホストを示します。変換済みのホストには、209.165.201.0/27 ネットワークが起点または終点となるトラフィックに限り実際のアドレスを変換するポリシー スタティック NAT 変換があります。209.165.200.224/27 ネットワーク用の変換は存在しません。したがって、変換済みのホストはそのネットワークに接続できず、そのネットワークのホストも変換済みのホストに接続できません。

図14-10 宛先アドレス変換があるポリシー スタティック 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.129 access-list NET1
 

) ポリシー NAT は SQL*Net をサポートしませんが、標準 NAT はサポートしています。他のプロトコルに対する NAT サポートについては、「アプリケーション プロトコル検査を使用するタイミング」を参照してください。


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

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

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


) 同じセキュリティ レベルのインターフェイスに NAT を設定すると、セキュリティ アプライアンスは VoIP 検査エンジンをサポートしなくなります。このような検査エンジンには、Skinny、SIP、H.323 などがあります。サポートされる検査エンジンについては、「アプリケーション プロトコル検査を使用するタイミング」を参照してください。


実際のアドレスとの照合に使用される NAT コマンドの順序

セキュリティ アプライアンスは、実際のアドレスと NAT コマンドを次の順序で照合します。

1. NAT 免除( nat 0 access-list ):順序に従って、最初の一致が見つかるまで続行されます。アイデンティティ NAT はこのカテゴリではなく、標準スタティック NAT または標準 NAT のカテゴリに属します。NAT 免除文でのアドレスの重複はお勧めしません。予期しない結果が発生する可能性があります。

2. スタティック NAT およびスタティック PAT(標準およびポリシー)( static ):順序に従って、最初の一致が見つかるまで続行されます。スタティック アイデンティティ NAT は、このカテゴリに属します。

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 用の特定の文が使用されます。これは、その文が実際のアドレスに最も適合するからです。重複する文を使用することはお勧めしません。重複する文により、より多くのメモリが使用され、セキュリティ アプライアンスのパフォーマンスが低下する可能性があります。

マッピング アドレスに関するガイドライン

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

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

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

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

一意のネットワーク上のアドレス

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

DNS および NAT

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

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

内部ホストが ftp.cisco.com のアドレスを求める DNS 要求を送信すると、DNS サーバは応答でマッピング アドレス(209.165.201.10)を示します。セキュリティ アプライアンスは、内部サーバのスタティック文を参照し、DNS 応答内のアドレスを 10.1.3.14 に変換します。DNS 応答修正をイネーブルにしない場合、内部ホストは ftp.cisco.com に直接アクセスする代わりに、209.165.201.10 にトラフィックを送信することを試みます。

図14-11 DNS 応答修正

 

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

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

図14-12 に、外部の Web サーバと DNS サーバを示します。セキュリティ アプライアンスには、外部サーバ用のスタティック変換があります。この場合、ftp.cisco.com のアドレスを DNS サーバに要求すると、DNS サーバは応答で実際のアドレス 209.165.20.10 を示します。ftp.cisco.com のマッピング アドレス(10.1.2.56)が内部ユーザによって使用されるようにするには、スタティック変換に対して DNS 応答修正を設定する必要があります。

図14-12 外部 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 形式を入力します。

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

この項では、ダイナミック NAT および PAT を設定する方法について説明します。次の項目を取り上げます。

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

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

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

ダイナミック NAT および PAT を実装するには、まず特定のインターフェイス上の変換対象の実際のアドレスを指定する nat コマンドを設定します。次に、別の global コマンドを設定して、別のインターフェイスを出るときのマッピング アドレスを指定します(PAT の場合、これは 1 つのアドレスです)。各 nat コマンドは、各コマンドに割り当てた番号である NAT ID を比較することにより、 global コマンドと照合されます(図14-13 を参照)。

図14-13 nat と global の 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
 

同じ NAT ID を使用する各インターフェイスに対して、 nat コマンドを入力できます。これらのインターフェイスはすべて、特定のインターフェイスを出るときに同じ global コマンドを使用します。たとえば、どちらも NAT ID 1 である内部インターフェイスおよび DMZ インターフェイスに nat コマンドを設定できます。次に、同じく ID 1 の外部インターフェイスに global コマンドを設定します。内部インターフェイスおよび DMZ インターフェイスからのトラフィックは、外部インターフェイスを出るときに、マッピングされたプールまたは PAT アドレスを共有します(図14-14 を参照)。

図14-14 複数のインターフェイスに対する 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
 

また、同じ NAT ID を使用する各インターフェイスに対して global コマンドを入力することもできます。ID 1 の外部インターフェイスおよび DMZ インターフェイスに対して global コマンドを入力すると、内部 nat コマンドは、トラフィックが外部インターフェイスに向かうときも DMZ インターフェイスに向かうときも、変換済みのトラフィックを指定します。同様に、ID 1 の DMZ インターフェイスに対して nat コマンドも入力すると、外部インターフェイスに対する global コマンドが DMZ トラフィックにも使用されます(図14-15 を参照)。

図14-15 複数のインターフェイスに対する global コマンドと 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 ID に対して 2 つの nat コマンドを設定できます。外部インターフェイス上で、これら 2 つの ID に対して 2 つの global コマンドを設定できます。その場合、内部ネットワーク A からのトラフィックが外部インターフェイスを出ると、IP アドレスはプール A のアドレスに変換されます。内部ネットワーク B からのトラフィックは、プール B のアドレスに変換されます(図14-16 を参照)。ポリシー NAT を使用した場合は、宛先のアドレスとポートが各アクセスリスト内で一意であれば、複数の nat コマンドに対して同じ実際のアドレスを指定できます。

図14-16 異なる 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 コマンドを入力できます。セキュリティ アプライアンスは最初にダイナミック NAT global コマンドをコンフィギュレーション内の順序で使用し、次に PAT global コマンドを順序どおりに使用します。特定のアプリケーションに対してダイナミック NAT を使用する必要があると同時に、ダイナミック NAT アドレスが不足したときに備えてバックアップ PAT 文を用意しておく必要がある場合、ダイナミック NAT global コマンドと PAT global コマンドの両方を入力できます。同様に、1 つの PAT がマッピングされた文がサポートする約 64,000 回の PAT セッションより多くのセッションが必要な場合、2 つの PAT 文を入力できます(図14-17 を参照)。

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

図14-18 外部 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.2.27 10.1.1.5 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 の場合は 1 つのアドレスを指定する点だけが異なります。

図14-19 に、一般的なダイナミック NAT のシナリオを示します。変換済みのホストだけが NAT セッションを作成でき、応答トラフィックが許可されます。マッピング アドレスは、 global コマンドで定義されたプールからダイナミックに割り当てられます。

図14-19 ダイナミック NAT

 

図14-20 に、一般的なダイナミック PAT のシナリオを示します。変換済みのホストだけが NAT セッションを作成でき、応答トラフィックが許可されます。 global コマンドで定義されたマッピング アドレスはどの変換でも同じですが、ポートがダイナミックに割り当てられます。

図14-20 ダイナミック 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] [norandomseq] [[tcp] tcp_max_conns [emb_limit]] [udp udp_max_conns]
 

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

このコマンドのオプションについては、次の説明を参照してください。

access-list acl_name :拡張アクセスリストを使用して、実際のアドレスと宛先アドレスを指定します。 access-list コマンドを使用して、アクセスリストを作成します(「拡張アクセスリストの追加」を参照)。このアクセスリストには、 許可 ACE のみを含めます。 eq 演算子を使用して、アクセスリストに実際のポートおよび宛先ポートをオプションで指定できます。ポリシー NAT は、 inactive および time-range キーワードを考慮しません。すべての ACE が、ポリシー NAT コンフィギュレーションに対してアクティブであると見なされます。

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

dns nat コマンドに、DNS サーバ内にエントリを持つホストのアドレスが含まれており、その DNS サーバがクライアントと異なるインターフェイス上にある場合、クライアントと DNS サーバでホストのアドレスが異なっている必要があります。一方にはマッピング アドレスが、もう一方には実際のアドレスが必要です。このオプションにより、クライアントに対する DNS 応答内でアドレスが書き換えられます。変換済みのホストは、クライアントまたは DNS サーバのいずれかと同じインターフェイス上にある必要があります。一般に、他のインターフェイスからのアクセスを許可する必要のあるホストはスタティック変換を使用するため、このオプションは多くの場合、 static コマンドで使用されます(詳細については、「DNS および NAT」を参照してください)。

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

norandomseq tcp tcp_max_conns udp udp_max_conns 、および emb_limit :これらのキーワードは、接続制限値を設定します。ただし、接続制限値の設定には、より汎用的な方法を使用することをお勧めします。「接続の制限値とタイムアウトの設定」を参照してください。

標準 NAT:

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

nat_id は、1 ~ 2147483647 の整数です。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] | interface}
 

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

1 つのアドレス(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 つの異なる宛先アドレスを指定するには、次のコマンドを入力します(これに関する図については、図14-8 を参照してください)。

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 つの実際のアドレスと宛先アドレスのペアを指定するには、次のコマンドを入力します(これに関する図については、図14-9 を参照してください)。

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 の使用

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

図14-21 に、一般的なスタティック NAT のシナリオを示します。この変換は常にアクティブであるので、変換済みのホストとリモート ホストの両方が接続を開始でき、マッピング アドレスは static コマンドによってスタティックに割り当てられます。

図14-21 スタティック NAT

 

同一の実際のアドレスまたはマッピング アドレスを、同一の 2 つのインターフェイス間の複数の static コマンドで使用することはできません。 static コマンドで、同じマッピング インターフェイスの global コマンドでも定義されているマッピング アドレスを使用しないでください。

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


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

clear xlate コマンドで変換テーブルからスタティック変換を消去することはできません。 static コマンドを削除する必要があります。 clear xlate コマンドでは、 nat コマンドおよび global コマンドで作成したダイナミック変換のみを削除できます。


 

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

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

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

access-list コマンドを使用して、アクセスリストを作成します(「拡張アクセスリストの追加」を参照)。このアクセスリストには、 許可 ACE のみを含めます。アクセスリストで使用する送信元サブネット マスクは、マッピング アドレスにも使用されます。 eq 演算子を使用して、アクセスリストに実際のポートおよび宛先ポートを指定することもできます。ポリシー NAT は、 inactive および time-range キーワードを考慮しません。すべての ACE が、ポリシー NAT コンフィギュレーションに対してアクティブであると見なされます。詳細については、「ポリシー NAT」を参照してください。

変換にネットワークを指定すると(10.1.1.0 255.255.255.0 など)、セキュリティ アプライアンスは、.0 および .255 のアドレスを変換します。これらのアドレスへのアクセスを禁止するには、アクセスを拒否するようにアクセスリストを設定します。

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

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

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

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

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

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 アドレスに変換するとともに、実際のポートをマッピング ポートに変換できます。実際のポートを同じポートに変換することを選択できます。これにより、特定のタイプのトラフィックだけを変換できます。また、さらに別のポートに変換することもできます。

図14-22 に、一般的なスタティック PAT のシナリオを示します。この変換は常にアクティブであるため、変換済みのホストとリモート ホストの両方が接続を開始でき、マッピング アドレスとポートは static コマンドによってスタティックに割り当てられます。

図14-22 スタティック PAT

 

セカンダリ チャネルのアプリケーション検査が必要なアプリケーション(FTP、VoIP など)を使用する場合は、セキュリティ アプライアンスが自動的にセカンダリ ポートを変換します。

同一の実際のアドレスまたはマッピング アドレスを、同一の 2 つのインターフェイス間の複数の static 文で使用することはできません。 static コマンドで、同じマッピング インターフェイスの global コマンドでも定義されているマッピング アドレスを使用しないでください。

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


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

clear xlate コマンドで変換テーブルからスタティック変換を消去することはできません。 static コマンドを削除する必要があります。 clear xlate コマンドでは、 nat コマンドおよび global コマンドで作成したダイナミック変換のみを削除できます。


 

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

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

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

access-list コマンドを使用して、アクセスリストを作成します(「拡張アクセスリストの追加」を参照)。アクセスリストのプロトコルは、このコマンドで設定したプロトコルと一致する必要があります。たとえば、 static コマンドで tcp を指定した場合は、アクセスリストで tcp を指定する必要があります。 eq 演算子を使用してポートを指定します。このアクセスリストには、 許可 ACE のみを含めます。アクセスリストで使用する送信元サブネット マスクは、マッピング アドレスにも使用されます。ポリシー NAT は、 inactive および time-range キーワードを考慮しません。すべての ACE が、ポリシー NAT コンフィギュレーションに対してアクティブであると見なされます。

変換にネットワークを指定すると(10.1.1.0 255.255.255.0 など)、セキュリティ アプライアンスは、.0 および .255 のアドレスを変換します。これらのアドレスへのアクセスを禁止するには、アクセスを拒否するようにアクセスリストを設定します。

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

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

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

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

たとえば、10.1.3.0 ネットワークのホストから開始された、セキュリティ アプライアンス外部インターフェイス(10.1.2.14)に向かう Telnet トラフィックを、内部ホスト 10.1.1.15 にリダイレクトできます。これには、次のコマンドを入力します。

hostname(config)# access-list TELNET permit tcp host 10.1.1.15 eq telnet 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 ネットワークのホストから開始された、セキュリティ アプライアンス外部インターフェイス(10.1.2.14)に向かう HTTP トラフィックを、内部ホスト 10.1.1.15 にリダイレクトできます。これには、次のコマンドを入力します。

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

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

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 トラフィックを許可する static 文と同じマッピング アドレスが使用されるように、Telnet サーバから開始されるトラフィックを設定できます。Telnet サーバ専用に、より限定的な nat 文を作成する必要があります。 nat 文の読み取りでは、最も適合するものが求められるため、より限定的な nat 文が一般的な文より先に一致します。次の例は、Telnet サーバから開始されたトラフィック用のより限定的な nat 文である Telnet static 文を示しています。また、その他の内部ホスト用の文も示しています。後者の文では、異なるマッピング アドレスが使用されています。

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
 

予約済みポート(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 変換を作成でき、応答トラフィックが許可されます。

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

図14-23 NAT の識別

 


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


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

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

オプションについては、「ダイナミック 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 にアクセスする場合は通常の変換を使用できます。

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

図14-24 スタティック アイデンティティ NAT

 


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

clear xlate コマンドで変換テーブルからスタティック変換を消去することはできません。 static コマンドを削除する必要があります。 clear xlate コマンドでは、 nat コマンドおよび global コマンドで作成したダイナミック変換のみを削除できます。


 

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

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

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

access-list コマンドを使用して、アクセスリストを作成します(「拡張アクセスリストの追加」を参照)。このアクセスリストには、 許可 ACE のみを含めます。アクセスリストの送信元アドレスが、このコマンドの real_ip と一致することを確認します。ポリシー NAT は、 inactive および time-range キーワードを考慮しません。すべての ACE が、ポリシー NAT コンフィギュレーションに対してアクティブであると見なされます。詳細については、「ポリシー NAT」を参照してください。

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

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

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

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

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

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

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

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

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 を使用し、別の宛先アドレスにアクセスするときに何らかの変換を使用する 1 つの実際のアドレスを示しています。

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 を使用してください。

図14-25 に、一般的な NAT 免除のシナリオを示します。

図14-25 NAT 免除

 


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


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

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

access-list コマンドを使用して、アクセスリストを作成します(「拡張アクセスリストの追加」を参照)。このアクセスリストには、 許可 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 解決を使用する一般的なシナリオについて説明します。次の項目について取り上げます。

「アドレスが重複するネットワーク」

「ポートのリダイレクト」

アドレスが重複するネットワーク

図14-26 のセキュリティ アプライアンスには、アドレス範囲が重複する 2 つのプライベート ネットワークが接続されています。

図14-26 アドレスが重複するネットワークでの外部 NAT の使用

 

2 つのネットワークで、重複するアドレス空間(192.168.100.0/24)が使用されていますが、各ネットワークのホストは(アクセスリストの許可に従って)通信する必要があります。NAT がない場合、アドレスが重複する DMZ ネットワークのホストに内部ネットワークのホストがアクセスしようとしても、パケットはセキュリティ アプライアンスを通過できません。セキュリティ アプライアンスはこのパケットを、内部ネットワークの宛先アドレスが含まれているものと見なします。さらに、内部ネットワークの別のホストでこの宛先アドレスが使用されている場合、そのホストがパケットを受信します。

この問題を解決するには、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 の 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 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
 

セキュリティ アプライアンスには、内部ネットワーク用に接続されたルートがすでに存在します。これらのスタティック ルートを使用することで、セキュリティ アプライアンスは 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. セキュリティ アプライアンスがこのパケットを受信すると、セキュリティ アプライアンスは送信元アドレスを 192.168.100.2 から 10.1.3.2 に変換します。

3. 次に、セキュリティ アプライアンスは宛先アドレスを 10.1.2.2 から 192.168.100.2 に変換し、パケットを転送します。

ポートのリダイレクト

図14-27 に、ポート リダイレクション機能が効果的であるネットワークの代表例を示します。

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

 

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

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

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

セキュリティ アプライアンスの外部 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 次のコマンドを入力して、セキュリティ アプライアンス外部インターフェイス アドレスに対する 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 ポート 80 にリダイレクトします。

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