シスコサポートコミュニティ
キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

ASA: NATルールタイプ別の処理の違いと 設定例

 

本ドキュメントでは、ASAバージョン 8.3以降の、NATルールタイプ別の処理の違いと 設定例について紹介します。

  
  

1. サポートするNATルールタイプと処理順序

ASAは以下2種類のNATルールタイプをサポートします。アドレス変換を実現する上で、これらNATルールタイプの任意1つを利用、もしくは組み合わせ利用する事ができます。

NATルールタイプ特徴     
Twice NAT
 (別名:Manual NAT)
 - 上から順番にNATルールチェック
    その為、手動(Manual)でNAT設定順序の管理・調整が必要
 - アドレスやサービスは、オブジェクトで指定
 - 一行で 送信元と宛先の 計2つの変換(Twice)が定義可能
 - 複雑だが、柔軟な定義が可能
Network Object NAT
 (別名:Auto NAT
 - 自動整列(Auto)されたNATルールを、上から順番にチェック
 - アドレスやサービスは、実IP・ポートで指定可能
 - 送信元の変換のみ定義可能
 - 任意 Network Object内に、NATコマンドを1つ定義可能
 - シンプルで、管理が容易

 

ASAは新規パケットを処理時、以下の順序で 各NATルールタイプのチェックを行います。NATルールがマッチすると、そのNATルールが該当パケットに適用され、以降のNATルールとNATポリシーのチェックは行いません。 Twice NATは、after-autoキーワードを付与する事で、処理順序を Network Object NATの後に変更できます。

多くの場合、Twice NAT、もしくは Network Object NATの、どちらを用いても、想定のアドレス変換を実現できます。

 

  

2. NAT構成例と、NATルールタイプ別の設定例

ASAは、NAT構成に合わせ、柔軟なNAT設定が可能です。本項では、NAT構成例と、そのアドレス変換を実現するためのNATルールタイプ別の設定例、及び、show nat detailの出力結果を紹介します。

  2.1. NAT 構成例
  2.2. Twice NATのみ利用時 
  2.3. Network Object NATのみ利用時
  2.4. Twice NATと Network Object NATを利用時
  2.5. 全セクションを利用時

 

2.1. NAT構成例


番号NATタイプ変換内容
 1 Static NAT Internetから1.0.0.1:80宛通信を、HTTP Server(192.168.1.1:80)宛に Static NAT
 2 Static NAT Internetから1.0.0.1:443宛通信を、SSL Server(192.168.1.2:443)宛に Static NAT
 3 Dynamic PAT DMZ-01サーバ群(192.168.1.0/24)からInternet宛通信を、Interface PAT
 4 Dynamic PAT 全DMZサーバ(192.168.0.0/16)からInternet宛通信を、Interface PAT

  

 

2.2. Twice NATのみ利用時 

以下は、"2.1. NAT構成例"を、以下方針で設定した場合の、設定とshow nat detail出力例です。事前のオブジェクト定義が必要ですが、NAT設定行がコンパクトに纏まるのが特徴です。IOSルータや ASA8.2未満の NAT設定に慣れている方には、理解しやすい設定かと思います。

設定方針:

番号NATタイプテーブルセクションNATルールタイプ
 1 Static NAT 1 Twice NAT (Manual NAT)
 2 Static NAT 1 Twice NAT (Manual NAT)
 3 Dynamic PAT  1 Twice NAT (Manual NAT)
 4 Dynamic PAT  1 Twice NAT (Manual NAT)


設定:

object network ip-192.168.1.1
 host 192.168.1.1
!
object network ip-192.168.1.2
 host 192.168.1.2
!
object network ip-1.0.0.1
 host 1.0.0.1
!
object network net-192.168.1.0
 subnet 192.168.1.0 255.255.255.0
!
object network net-192.168.0.0
 subnet 192.168.0.0 255.255.0.0
!
object service src-http
 service tcp source eq 80
!
object service src-https
 service tcp source eq 443
!
nat (dmz,outside) source static ip-192.168.1.1 ip-1.0.0.1 service src-http src-http
nat (dmz,outside) source static ip-192.168.1.2 ip-1.0.0.1 service src-https src-https
nat (dmz,outside) source dynamic net-192.168.1.0 interface
nat (dmz,outside) source dynamic net-192.168.0.0 interface

  
設定確認:

ASA# show nat detail
Manual NAT Policies (Section 1)
1 (dmz) to (outside) source static ip-192.168.1.1 ip-1.0.0.1   service src-http src-http
    translate_hits = 0, untranslate_hits = 0
    Source - Origin: 192.168.1.1/32, Translated: 1.0.0.1/32
    Service - Origin: tcp source eq www , Translated: tcp source eq www
2 (dmz) to (outside) source static ip-192.168.1.2 ip-1.0.0.1   service src-https src-https
    translate_hits = 0, untranslate_hits = 0
    Source - Origin: 192.168.1.2/32, Translated: 1.0.0.1/32
    Service - Origin: tcp source eq https , Translated: tcp source eq https
3 (dmz) to (outside) source dynamic net-192.168.1.0 interface
    translate_hits = 0, untranslate_hits = 0
    Source - Origin: 192.168.1.0/24, Translated: 1.0.0.7/24
4 (dmz) to (outside) source dynamic net-192.168.0.0 interface
    translate_hits = 0, untranslate_hits = 0
    Source - Origin: 192.168.0.0/16, Translated: 1.0.0.7/24

 

2.3. Network Object NATのみ利用時

以下は、"2.1. NAT構成例"を、以下方針で設定した場合の、設定とshow nat detail出力例です。アドレスやサービスの事前オブジェクト定義が不要であり、設定量が少なくなります。また、NAT処理順序はASAが自動整列しますので、簡便です。

設定方針:

番号NATタイプテーブルセクションNATルールタイプ
 1 Static NAT 2 Network Object NAT (Auto NAT)
 2 Static NAT 2 Network Object NAT (Auto NAT)
 3 Dynamic PAT  2 Network Object NAT (Auto NAT)
 4 Dynamic PAT  2 Network Object NAT (Auto NAT)


設定:

object network ip-192.168.1.1
 host 192.168.1.1
 nat (dmz,outside) static 1.0.0.1 service tcp http http
!
object network ip-192.168.1.2
 host 192.168.1.2
 nat (dmz,outside) static 1.0.0.1 service tcp https https
!
object network net-192.168.1.0
 subnet 192.168.1.0 255.255.255.0
 nat (dmz,outside) dynamic interface
!
object network net-192.168.0.0
 subnet 192.168.0.0 255.255.0.0
 nat (dmz,outside) dynamic interface


設定確認:

ASA(config)# show nat detail

Auto NAT Policies (Section 2)
1 (dmz) to (outside) source static ip-192.168.1.1 1.0.0.1   service tcp www www
    translate_hits = 0, untranslate_hits = 1
    Source - Origin: 192.168.1.1/32, Translated: 1.0.0.1/32
    Service - Protocol: tcp Real: www Mapped: www
2 (dmz) to (outside) source static ip-192.168.1.2 1.0.0.1   service tcp https https
    translate_hits = 0, untranslate_hits = 1
    Source - Origin: 192.168.1.2/32, Translated: 1.0.0.1/32
    Service - Protocol: tcp Real: https Mapped: https
3 (dmz) to (outside) source dynamic net-192.168.1.0 interface
    translate_hits = 1, untranslate_hits = 0
    Source - Origin: 192.168.1.0/24, Translated: 1.0.0.7/24
4 (dmz) to (outside) source dynamic net-192.168.0.0 interface
    translate_hits = 1, untranslate_hits = 0
    Source - Origin: 192.168.0.0/16, Translated: 1.0.0.7/24

   

2.4. Twice NATと Network Object NATを利用時

以下は、"2.1. NAT構成例"を、以下方針で設定した場合の、設定とshow nat detail出力例です。処理順序は、Twice NAT(Section 1)のNATルールを上から順に処理後、Network Object NAT(Section 2)の自動整列されたNATルールを上から順に処理します。

Twice NATは最優先で処理される為、優先しアドレス変換処理したいNATルール(例:特定ホストのStatic変換や、 NAT Exemption[VPNの対向拠点宛通信のアドレス変換除外]など)の定義に向きます。

設定方針:

番号NATタイプテーブルセクションNATルールタイプ
 1 Static NAT 1 Twice NAT (Manual NAT)
 2 Static NAT 1 Twice NAT (Manual NAT)
 3 Dynamic PAT  2 Network Object NAT (Auto NAT)
 4 Dynamic PAT  2 Network Object NAT (Auto NAT)


設定:

object network ip-192.168.1.1
 host 192.168.1.1
!
object network ip-192.168.1.2
 host 192.168.1.2
!
object network ip-1.0.0.1
 host 1.0.0.1
!
object service src-http
 service tcp source eq 80
!
object service src-https
 service tcp source eq 443
!
nat (dmz,outside) source static ip-192.168.1.1 ip-1.0.0.1 service src-http src-http
nat (dmz,outside) source static ip-192.168.1.2 ip-1.0.0.1 service src-https src-https
!
object network net-192.168.1.0
 subnet 192.168.1.0 255.255.255.0
 nat (dmz,outside) dynamic interface
!
object network net-192.168.0.0
 subnet 192.168.0.0 255.255.0.0
 nat (dmz,outside) dynamic interface
!


設定確認:

ASA# show nat detail
Manual NAT Policies (Section 1)
1 (dmz) to (outside) source static ip-192.168.1.1 ip-1.0.0.1   service src-http src-http
    translate_hits = 0, untranslate_hits = 0
    Source - Origin: 192.168.1.1/32, Translated: 1.0.0.1/32
    Service - Origin: tcp source eq www , Translated: tcp source eq www
2 (dmz) to (outside) source static ip-192.168.1.2 ip-1.0.0.1   service src-https src-https
    translate_hits = 0, untranslate_hits = 0
    Source - Origin: 192.168.1.2/32, Translated: 1.0.0.1/32
    Service - Origin: tcp source eq https , Translated: tcp source eq https

Auto NAT Policies (Section 2)
1 (dmz) to (outside) source dynamic net-192.168.1.0 interface
    translate_hits = 0, untranslate_hits = 0
    Source - Origin: 192.168.1.0/24, Translated: 1.0.0.7/24
2 (dmz) to (outside) source dynamic net-192.168.0.0 interface
    translate_hits = 0, untranslate_hits = 0
    Source - Origin: 192.168.0.0/16, Translated: 1.0.0.7/24

 

 

2.5. 全セクションを利用時

以下は、"2.1. NAT構成例"を、以下方針で設定した場合の、設定とshow nat detail出力例です。処理順序は、Twice NAT(Section 1)のNATルールを上から順に処理後、Network Object NAT(Section 2)の自動整列されたNATルールを上から順に処理し、その後 after-autoキーワード付きのTwice NAT(Section 3)のNATルールを上から順に処理します。

After-autoキーワード付きのTwice NATは 最後に処理されるNATポリシーとなる為、最も範囲の広いネットワークセグメントのアドレス変換の定義などに向きます。

設定方針:

番号NATタイプテーブルセクションNATルールタイプ
 1 Static NAT 1 Twice NAT (Manual NAT)
 2 Static NAT 2 Network Object NAT (Auto NAT)
 3 Dynamic PAT  2 Network Object NAT (Auto NAT)
 4 Dynamic PAT  3 Twice NAT (Manual NAT) with after-auto

 

設定:

object network ip-192.168.1.1
 host 192.168.1.1
!
object network ip-1.0.0.1
 host 1.0.0.1
!
object service src-http
 service tcp source eq 80
!
object network net-192.168.0.0
 subnet 192.168.0.0 255.255.0.0
!
nat (dmz,outside) source static ip-192.168.1.1 ip-1.0.0.1 service src-http src-http
!
object network ip-192.168.1.2
 host 192.168.1.2
 nat (dmz,outside) static 1.0.0.1 service tcp https https
!
object network net-192.168.1.0
 subnet 192.168.1.0 255.255.255.0
 nat (dmz,outside) dynamic interface
!
nat (dmz,outside) after-auto source dynamic net-192.168.0.0 interface


設定確認:

ASA(config)# show nat detail
Manual NAT Policies (Section 1)
1 (dmz) to (outside) source static ip-192.168.1.1 ip-1.0.0.1   service src-http src-http
    translate_hits = 0, untranslate_hits = 0
    Source - Origin: 192.168.1.1/32, Translated: 1.0.0.1/32
    Service - Origin: tcp source eq www , Translated: tcp source eq www

Auto NAT Policies (Section 2)
1 (dmz) to (outside) source static ip-192.168.1.2 1.0.0.1   service tcp https https
    translate_hits = 0, untranslate_hits = 0
    Source - Origin: 192.168.1.2/32, Translated: 1.0.0.1/32
    Service - Protocol: tcp Real: https Mapped: https
2 (dmz) to (outside) source dynamic net-192.168.1.0 interface
    translate_hits = 0, untranslate_hits = 0
    Source - Origin: 192.168.1.0/24, Translated: 1.0.0.7/24

Manual NAT Policies (Section 3)
1 (dmz) to (outside) source dynamic net-192.168.0.0 interface
    translate_hits = 10, untranslate_hits = 0
    Source - Origin: 192.168.0.0/16, Translated: 1.0.0.7/24

 

 

 

3. Network Object NAT(Auto NAT)の自動整列ルール

Network Object NATは、NATルールの処理順序を自動的(Auto)に最適な形に並び替えますので、簡便、かつ トラブル減を期待できます。Network Object NATは、以下ルールに基づき、NAT設定を自動整列してから、処理テーブルにNATルールを挿入します。

 1番目 Static NAT
    - より狭いレンジを優先
    - レンジが同じの場合、より小さなIPアドレスを優先 (第1オクテットから評価)
    - アドレスが同じの場合、アルファベット順
 2番目     Dynamic NAT
    - より狭いレンジを優先
    - レンジが同じの場合、より小さなIPアドレスを優先 (第1オクテットから評価)
    - IPアドレスが同じの場合、アルファベット順

 

例えば、以下のIPアドレスの、Network Object NATを定義時は・・・

192.168.1.0/24 (Static NAT)
192.168.1.0/24 (Dynamic NAT)
10.1.1.0/24       (Static NAT)
192.168.1.1/32 (Static NAT)

 

以下順序に自動整列され、NATテーブルに格納されます。

192.168.1.1/32 (Static NAT)
10.1.1.0/24       (Static NAT)
192.168.1.0/24 (Static NAT)
192.168.1.0/24 (Dynamic NAT)


以下は、実際の設定例と、show nat detailでの確認例です。

設定:

object network net-192.168.1.0
 subnet 192.168.1.0 255.255.255.0
 nat (dmz,outside) static 1.1.1.0

object network net-192.168.1.0-dyn
 subnet 192.168.1.0 255.255.255.0
 nat (dmz,outside) dynamic interface

object network net-10.1.1.0
 subnet 10.1.1.0 255.255.255.0
 nat (inside,dmz) static 192.168.3.0

object network ip-192.168.1.1
 host 192.168.1.1
 nat (dmz,outside) static 1.1.2.1


設定確認:

ASA# show nat detail

Auto NAT Policies (Section 2)
1 (dmz) to (outside) source static ip-192.168.1.1 1.1.2.1
    translate_hits = 0, untranslate_hits = 0
    Source - Origin: 192.168.1.1/32, Translated: 1.1.2.1/32
2 (inside) to (dmz) source static net-10.1.1.0 192.168.3.0
    translate_hits = 2, untranslate_hits = 0
    Source - Origin: 10.1.1.0/24, Translated: 192.168.3.0/24
3 (dmz) to (outside) source static net-192.168.1.0 1.1.1.0
    translate_hits = 3, untranslate_hits = 0
    Source - Origin: 192.168.1.0/24, Translated: 1.1.1.0/24
4 (dmz) to (outside) source dynamic net-192.168.1.0-dyn interface 
    translate_hits = 0, untranslate_hits = 0
    Source - Origin: 192.168.1.0/24, Translated: 1.0.0.7/24

 

上記設定の場合、例えば、dmzの192.168.1.0/24から、outside宛の通信は、上から順にNATルールを確認し、No.3の192.168.1.0/24 (Static NAT)にマッチします。NATルールがマッチすれば、その NATルールが適用され、それ以降のNATルールはチェックされません。結果、No.4の192.168.1.0/24 (Dynamic NAT)は、実行されないNATルールとなってしまいます。

以下は、dmzの特定サーバ(192.168.1.4:1234)から、outsideのWEBサーバ(1.0.0.101:80)への疑似通信を、packet-tracerユーティリティを用いて実行した場合の出力結果です。
 

ASA# packet-tracer input dmz tcp 192.168.1.4 1234 1.0.0.101 80

Phase: 1
Type: ROUTE-LOOKUP
Subtype: Resolve Egress Interface
Result: ALLOW
Config:
Additional Information:
found next-hop 1.0.0.101 using egress ifc  outside

  --- snip ---

Phase: 4
Type: NAT
Subtype:
Result: ALLOW
Config:
object network net-192.168.1.0
 nat (dmz,outside) static 1.1.1.0
Additional Information:
Static translate 192.168.1.4/1234 to 1.1.1.4/1234

 

 

 

4. Twice NAT(Manual NAT)の設定例

Twice NATは、定義されたNATルールを上から順にチェックしますので、想定したアドレス変換を実現し続けるには、NATルールの設定順序を 常に正しく維持する必要があります。その為、Network Object NATに比べ、NATルールの管理が難しくなります。

しかし、Twice NATは より柔軟なNATルールの定義が可能です。また、NATの処理順序を完全にコントロールしたい時も、Twice NATの利用が向いています。

以下に、Twice NATでのみ可能な設定例と、新規NATルールの挿入方法について紹介します。

  4.1. Twice NAT(Manual NAT)の 柔軟なNATルールの定義
  4.2. Twice NAT(Manual NAT)の 宛先別のアドレス変換
  4.3. Twice NAT(Manual NAT)の 新規NATルールの挿入方法

 

4.1. Twice NAT(Manual NAT)の 柔軟なNATルールの定義

Twice NATは、送信元と宛先の 両方のアドレス変換を 1行で定義できます。そのため、送信元→宛先のNATルールでも、宛先→送信元のNATルールでも、同じアドレス変換を実現できます。

例えば、以下の指定した送信元(1.0.0.101)から 宛先 1.0.0.1の HTTP80宛通信を、送信元を192.168.1.101に 宛先を192.168.1.1に変換するNAT構成の場合、2通りのNATルールの書き方が可能です。各NATルールとも、同じアドレス変換を実現します。

NAT構成:
NAT-01.JPG

nat (dmz,outside)でNATルール設定時:

nat (dmz,outside) source static ip-192.168.1.1 ip-1.0.0.1 destination static ip-192.168.1.101 ip-1.0.0.101 service src-http src-http

ASA(config)# show nat detail
Manual NAT Policies (Section 1)
1 (dmz) to (outside) source static ip-192.168.1.1 ip-1.0.0.1   destination static ip-192.168.1.101 ip-1.0.0.101 service src-http src-http
    translate_hits = 0, untranslate_hits = 0
    Source - Origin: 192.168.1.1/32, Translated: 1.0.0.1/32
    Destination - Origin: 192.168.1.101/32, Translated: 1.0.0.101/32
    Service - Origin: tcp source eq www , Translated: tcp source eq www


nat (outside,dmz)でNATルール設定時:

nat (outside,dmz) source static ip-1.0.0.101 ip-192.168.1.101 destination static ip-1.0.0.1 ip-192.168.1.1 service dst-http dst-http

ASA(config)# show nat detail
Manual NAT Policies (Section 1)
1 (outside) to (dmz) source static ip-1.0.0.101 ip-192.168.1.101   destination static ip-1.0.0.1 ip-192.168.1.1 service dst-http dst-http
    translate_hits = 0, untranslate_hits = 0
    Source - Origin: 1.0.0.101/32, Translated: 192.168.1.101/32
    Destination - Origin: 1.0.0.1/32, Translated: 192.168.1.1/32
    Service - Origin: tcp destination eq www , Translated: tcp destination eq www

  

4.2. Twice NAT(Manual NAT)の 宛先別のアドレス変換

Twice NATは、宛先に応じたアドレス変換を実現できます。

例えば、以下の 192.168.1.0/24から1.0.0.101宛は 送信元IP 1.0.0.2のDynamic PATを利用、それ以外の宛先の場合は Interface PATを利用するNAT構成の場合、以下の設定例で実現可能です。

当例では、No.2のNATルールの destination staticの指定に オブジェクト"any-0.0.0.0"を用いてる事に注目してください。宛先アドレスを厳密に指定する事で、より厳密なマッチングと 宛先インターフェイスの決定が可能となります。

NAT構成:

NAT_4.2_Twice.JPG

設定:

object network net-192.168.1.0
 subnet 192.168.1.0 255.255.255.0

object network ip-1.0.0.2
 host 1.0.0.2

object network ip-1.0.0.101
 host 1.0.0.101

object network any-0.0.0.0
 subnet 0.0.0.0 0.0.0.0

nat (dmz,outside) source dynamic net-192.168.1.0 pat-pool ip-1.0.0.2 destination static ip-1.0.0.101 ip-1.0.0.101
nat (dmz,outside) source dynamic net-192.168.1.0 interface destination static any-0.0.0.0 any-0.0.0.0


設定確認:

ASA(config)# show nat detail
Manual NAT Policies (Section 1)
1 (dmz) to (outside) source dynamic net-192.168.1.0 pat-pool ip-1.0.0.2  destination static ip-1.0.0.101 ip-1.0.0.101
    translate_hits = 1, untranslate_hits = 1
    Source - Origin: 192.168.1.0/24, Translated (PAT): 1.0.0.2/32
    Destination - Origin: 1.0.0.101/32, Translated: 1.0.0.101/32
2 (dmz) to (outside) source dynamic net-192.168.1.0 interface   destination static any-0.0.0.0 any-0.0.0.0
    translate_hits = 1, untranslate_hits = 1
    Source - Origin: 192.168.1.0/24, Translated: 1.0.0.7/24
    Destination - Origin: 0.0.0.0/0, Translated: 0.0.0.0/0


Packet-tracerユーティリティを用いた動作確認:

 1. 192.168.1.0/24内の任意Hostから、1.0.0.1のWEBポート宛通信の生成確認

ASA# packet-tracer input dmz tcp 192.168.1.1 1234 1.0.0.101 80

Phase: 1
Type: UN-NAT
Subtype: static
Result: ALLOW
Config:
nat (dmz,outside) source dynamic net-192.168.1.0 pat-pool ip-1.0.0.2 destination static ip-1.0.0.101 ip-1.0.0.101
Additional Information:
NAT divert to egress interface outside
Untranslate 1.0.0.101/80 to 1.0.0.101/80

  --- snip ---

Phase: 4
Type: NAT
Subtype:
Result: ALLOW
Config:
nat (dmz,outside) source dynamic net-192.168.1.0 pat-pool ip-1.0.0.2 destination static ip-1.0.0.101 ip-1.0.0.101
Additional Information:
Dynamic translate 192.168.1.1/1234 to 1.0.0.2/1234

  --- snip ---

Result:
input-interface: dmz
input-status: up
input-line-status: up
output-interface: outside
output-status: up
output-line-status: up
Action: allow


 2. 192.168.1.0/24内の任意Hostから、1.0.0.1以外宛の通信の生成確認

ASA# packet-tracer input dmz tcp 192.168.1.1 1234 1.0.0.102 80

Phase: 1
Type: UN-NAT
Subtype: static
Result: ALLOW
Config:
nat (dmz,outside) source dynamic net-192.168.1.0 interface destination static any-0.0.0.0 any-0.0.0.0
Additional Information:
NAT divert to egress interface outside
Untranslate 1.0.0.102/80 to 1.0.0.102/80

  --- snip ---

Phase: 4
Type: NAT
Subtype:
Result: ALLOW
Config:
nat (dmz,outside) source dynamic net-192.168.1.0 interface destination static any-0.0.0.0 any-0.0.0.0
Additional Information:
Dynamic translate 192.168.1.1/1234 to 1.0.0.7/1234

  --- snip ---

Result:
input-interface: dmz
input-status: up
input-line-status: up
output-interface: outside
output-status: up
output-line-status: up
Action: allow

   

4.3. Twice NAT(Manual NAT)の 新規NATルールの挿入方法

既存のTwice NAT設定に、新しいNATルールを挿入する場合は、"show nat"で順番を確認してから、新しいNATルールの挿入位置を指定してください。


設定変更前:

ASA# show run nat
nat (dmz,outside) source dynamic net-192.168.1.0 pat-pool ip-1.0.0.2 destination static ip-1.0.0.101 ip-1.0.0.101
nat (dmz,outside) source dynamic net-192.168.1.0 interface destination static any-0.0.0.0 any-0.0.0.0

ASA# show nat
Manual NAT Policies (Section 1)
1 (dmz) to (outside) source dynamic net-192.168.1.0 pat-pool ip-1.0.0.2  destination static ip-1.0.0.101 ip-1.0.0.101
    translate_hits = 2, untranslate_hits = 2
2 (dmz) to (outside) source dynamic net-192.168.1.0 interface   destination static any-0.0.0.0 any-0.0.0.0
    translate_hits = 2, untranslate_hits = 2

 
追加設定例:

nat (dmz,outside) 2 source dynamic net-192.168.1.0 pat-pool ip-1.0.0.3 destination static ip-1.0.0.102 ip-1.0.0.102

 
設定追加後:

ASA# show run nat
nat (dmz,outside) source dynamic net-192.168.1.0 pat-pool ip-1.0.0.2 destination static ip-1.0.0.101 ip-1.0.0.101
nat (dmz,outside) source dynamic net-192.168.1.0 pat-pool ip-1.0.0.3 destination static ip-1.0.0.102 ip-1.0.0.102
nat (dmz,outside) source dynamic net-192.168.1.0 interface destination static any-0.0.0.0 any-0.0.0.0
ASA#
ASA# sh nat
Manual NAT Policies (Section 1)
1 (dmz) to (outside) source dynamic net-192.168.1.0 pat-pool ip-1.0.0.2  destination static ip-1.0.0.101 ip-1.0.0.101
    translate_hits = 2, untranslate_hits = 2
2 (dmz) to (outside) source dynamic net-192.168.1.0 pat-pool ip-1.0.0.3  destination static ip-1.0.0.102 ip-1.0.0.102
    translate_hits = 0, untranslate_hits = 0
3 (dmz) to (outside) source dynamic net-192.168.1.0 interface   destination static any-0.0.0.0 any-0.0.0.0
    translate_hits = 2, untranslate_hits = 2

 

なお、挿入位置を指定しない場合は、一番最後にNATルールが追加されます。その為、設定追加後は、例えば 追加した新規NATルールにマッチを想定している 192.168.1.xx/24 から 1.0.0.102宛の通信が発生しましても、上から順番にNATルールはチェックされますので、No.2にマッチしてしまい、想定したアドレス変換の結果を得れません。 

設定変更前:

ASA(config)# show run nat
nat (dmz,outside) source dynamic net-192.168.1.0 pat-pool ip-1.0.0.2 destination static ip-1.0.0.101 ip-1.0.0.101
nat (dmz,outside) source dynamic net-192.168.1.0 interface destination static any-0.0.0.0 any-0.0.0.0

 
設定追加例:

nat (dmz,outside) source dynamic net-192.168.1.0 pat-pool ip-1.0.0.3 destination static ip-1.0.0.102 ip-1.0.0.102

 
設定追加後:

ASA(config)# show run nat
nat (dmz,outside) source dynamic net-192.168.1.0 pat-pool ip-1.0.0.2 destination static ip-1.0.0.101 ip-1.0.0.101
nat (dmz,outside) source dynamic net-192.168.1.0 interface destination static any-0.0.0.0 any-0.0.0.0
nat (dmz,outside) source dynamic net-192.168.1.0 pat-pool ip-1.0.0.3 destination static ip-1.0.0.102 ip-1.0.0.102

ASA(config)# show nat
Manual NAT Policies (Section 1)
1 (dmz) to (outside) source dynamic net-192.168.1.0 pat-pool ip-1.0.0.2  destination static ip-1.0.0.101 ip-1.0.0.101
    translate_hits = 2, untranslate_hits = 2
2 (dmz) to (outside) source dynamic net-192.168.1.0 interface   destination static any-0.0.0.0 any-0.0.0.0
    translate_hits = 2, untranslate_hits = 23 (dmz) to (outside) source dynamic net-192.168.1.0 pat-pool ip-1.0.0.3  destination static ip-1.0.0.102 ip-1.0.0.102
    translate_hits = 0, untranslate_hits = 0

 

 

5. show nat detailのカウンタについて

"show nat detail"コマンド内の、各NATルールの translate_hitsカウンタ、もしくは untranslate_hitsカウンタのカウントアップを確認する事で、各NATルールの使用状況を確認できます。これらカウンタは、そのNATルールを利用し新規コネクションが1つ生成される毎に1つカウントアップします。 Packet-Tracerユーティリティを用いたNATルールの動作確認時にも、マッチしたNATルールのカウンタがカウントアップします。

translateは、実アドレス(Real)から 定義したアドレス(Mapped address)への変換を示します。untranslateは、定義したアドレス(Mapped address)から実アドレス(Real)への変換を示します。

 

例えば、以下NATルール設定で、以下の新規コネクションが1つ発生時、送信元の実アドレス(192.168.1.1)が インターフェイスPATされますので、該当NATルールのtranslate_hitsカウンタが 1つカウントアップします。

NAT-04.JPG

[NATルール設定]
object network net-192.168.1.0
 subnet 192.168.1.0 255.255.255.0
 nat (dmz,out) dynamic interface

[show nat detail出力]
2 (dmz) to (outside) source dynamic net-192.168.1.0 interface
    translate_hits = 1, untranslate_hits = 0 
    Source - Origin: 192.168.1.0/24, Translated: 1.0.0.7/24

 
 
例えば、以下NATルール設定で、以下の新規コネクションが1つ発生時、宛先アドレス(1.0.0.1: 443)が 実アドレス(192.168.1.2: 443)に変換されますので、該当NATルールのuntranslate_hitsカウンタが 1つカウントアップします。
NAT-03.JPG

[NATルール設定]
object net ip-192.168.1.2
 host 192.168.1.2
 nat (dmz,out) static 1.0.0.1 service tcp https https

[show nat detail出力]
Auto NAT Policies (Section 2)
1 (dmz) to (outside) source static ip-192.168.1.2 1.0.0.1   service tcp https https
    translate_hits = 0, untranslate_hits = 1  
    Source - Origin: 192.168.1.2/32, Translated: 1.0.0.1/32
    Service - Protocol: tcp Real: https Mapped: https

   

   

6. まとめ

シンプルなNAT構成の場合、どのNATルールタイプ(Twice NAT or Network Object NAT)を利用しても、想定のアドレス変換を実現できます。 

複雑、かつ大規模なNAT構成になる程、各NATルールタイプの特徴と 処理順序を理解し 使い分ける事で、長期的なNATの管理性の向上と、トラブルシューティング効率の向上、及び トラブル減少につながります。

ご利用の構成と運用に合わせ、より最適な NATルールタイプの選択と設定を して頂ければと思います。

 

 

7. 参考情報: 有用なサイト

ASA ネットワークアドレス変換 設定トラブルシューティング:
http://www.cisco.com/cisco/web/support/JP/111/1119/1119731_116388-technote-nat-00.html

ASA9.1: NATに関する情報:
http://www.cisco.com/cisco/web/support/JP/docs/SEC/Firewall/ASA5500NextGenerationFire/CG/003/nat_overview.html?bid=0900e4b183273703

ASA9.1: ネットワーク オブジェクトNATの設定:
http://www.cisco.com/cisco/web/support/JP/docs/SEC/Firewall/ASA5500NextGenerationFire/CG/003/nat_objects.html?bid=0900e4b183273703

ASA9.1: Twice NATの設定:
http://www.cisco.com/cisco/web/support/JP/docs/SEC/Firewall/ASA5500NextGenerationFire/CG/003/nat_rules.html?bid=0900e4b183273703

基本的な ASA NAT コンフィギュレーション: ASA バージョン 8.3 以降の DMZ の Web サーバ:
http://www.cisco.com/cisco/web/support/JP/111/1118/1118281_asa-config-dmz-00-j.html

Cisco Secure ASA ファイアウォール構成例の NAT および PAT の設定例 使用:
http://www.cisco.com/cisco/web/support/JP/100/1002/1002228_19.html

Cisco ASA 5500 Migration to Version 8.3 and Later - NAT Exemption:
http://www.cisco.com/c/en/us/td/docs/security/asa/asa83/upgrading/migrating.html#wp60183

 

バージョン履歴
改訂番号
3/3
最終更新:
‎09-19-2017 08:41 PM
更新者:
 
ラベル(1)
寄稿者:
タグ(3)