IP : IP アドレッシング サービス

ルート マップを使用する複数プールの NAT サポート

2010 年 7 月 9 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2005 年 8 月 10 日) | フィードバック

目次

概要
前提条件
      要件
      使用するコンポーネント
      表記法
背景説明
アクセス リストを使用する方法
      ホスト 1 からホスト 2
      ホスト 1 からホスト 3
ルート マップを使用する方法
      ホスト 1 からホスト 2
      ホスト 1 からホスト 3
関連するシスコ サポート コミュニティ ディスカッション
関連情報

概要

このドキュメントでは、ルート マップまたはアクセス リストを使用してのネットワーク アドレス変換(NAT)の設定方法について説明します。NAT の詳細は、Cisco IOS NAT に関するドキュメントを参照してください。



前提条件

要件

このドキュメントに関する特別な要件はありません。



使用するコンポーネント

このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づくものです。

  • Cisco 2500 シリーズ ルータ

  • Cisco IOS® ソフトウェア リリース 12.3(3)

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。対象のネットワークが実稼動中である場合には、どのような作業についても、その潜在的な影響について確実に理解しておく必要があります。



表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。



背景説明

NAT は、変換エントリを作成する必要がある場合にだけ、アクセス リストおよびルートマップを使用します。トラフィックに一致する変換エントリがすでに存在し、それが使用される場合は、アクセス リストまたはルート マップを調べません。アクセス リストまたはルート マップの使用における違いは、作成される変換エントリの種類です。

ルート マップ

NAT がルート マップを使用して変換エントリの作成を決定した場合は、常に「完全拡張」変換エントリを作成します。この変換エントリには、内部および外部(ローカルおよびグローバル)のアドレス エントリと、TCP または UDP ポートの情報の両方があります。『NAT:ローカルおよびグローバルの定義』を参照すると、内部および外部(ローカルおよびグローバル)アドレスの詳細を確認できます。

アクセス リスト(オーバーロードなし)

NAT がアクセス リストを使用して変換エントリの作成を決定した場合は、「簡易」変換エントリを作成します。この「簡易」エントリには、ip nat inside または ip nat outside コマンドを設定されているかどうかによって、単に内部または外部のローカルおよびグローバル IP アドレス エントリだけがあります。TCP または UDP ポート情報は含まれません。

アクセス リスト(オーバーロードあり)

NAT がアクセス リストを使用し、またオーバーロードが指定されている場合は、NAT は「完全拡張」変換エントリを作成します。(注 1 を参照)。ルート マップにいくつか追加の機能がある以外は、操作はルート マップと同じです。詳細は、注 2 を参照してください。次のリンクのいずれかを選択して、簡易 NAT 変換エントリおよび完全拡張 NAT 変換の例を参照できます。

次のネットワーク図の例を用いて、NAT でルート マップを使用する場合とアクセス リストを使用する場合の違いを説明します。

nat_routemap1.gif

上記のネットワーク図の例では、10.1.1.0 のホストが次のように変換される必要があります。

  • 宛先が 131.108.1.0 の場合は、131.108.2.0

  • 宛先が 131.118.1.0 の場合は、131.118.2.0



アクセス リストを使用する方法

アクセス リストを使用する方法では、次のように設定して、10.1.1.0 ホストを変換します。

    ip nat pool pool108 131.108.2.1 131.108.2.254 prefix-length 24

    !--- 必要に応じて、割り当てるグローバル アドレスのプールを定義します。
 
         ip nat pool pool118 131.118.2.1 131.118.2.254 prefix-length 24

         ip nat inside source list 108 pool pool108
     
    !--- ダイナミック ソース変換を確立し、 
        !--- 下で定義されるアクセス リストを指定します。
 
         ip nat inside source list 118 pool pool118

         interface ethernet0
           ip address 10.1.1.1 255.255.255.0
           ip nat inside
       
    !--- インターフェイスを内部に接続されるものとしてマークします。
 
         interface ethernet1
           ip address 10.1.2.1 255.255.255.0
           ip nat outside
       
    !--- インターフェイスを外部に接続されるものとしてマークします。


         access-list 108 permit ip 10.1.1.0 0.0.0.255 131.108.1.0 0.0.0.255
     
    !--- 変換されるアドレスを示す 
        !--- アクセス リストを定義します。

	access-list 118 permit ip 10.1.1.0 0.0.0.255 131.118.1.0 0.0.0.255

これらのコマンドの詳細は、『IP アドレッシング コマンドおよびサービス コマンド』を参照してください。



ホスト 1 からホスト 2

ここでは、ホスト 1 からホスト 2 への Telnet で何が起こるかを説明します。

    Packet on (Network 1) s:10.1.1.2(1024)     d:131.108.1.2(23)
         Packet on (Network 2) s:131.108.2.1(1024)  d:131.108.1.2(23)   (after NAT)

NAT がトラフィックを照合するためにアクセス リストを使用したので、内部変換情報だけを含み、プロトコルやポート情報を含まない簡易変換エントリが作成されます。

    inside                         outside
            local        global          global         local
            10.1.1.2     131.108.2.1       ----           ----

戻りパケット:ホスト 2 からホスト 1:

    Packet on (Network 2)  s:131.108.1.2(23)  d:131.108.2.1(1024)
         Packet on (Network 1)  s:131.108.1.2(23)  d:10.1.1.2(1024)      (after NAT)


ホスト 1 からホスト 3

上記の簡易変換の実行により、ホスト 1 からホスト 3 への Telnet で何が起こるかを説明します。

    Packet on (Network 1)  s:10.1.1.2(1025)     d:131.118.1.2(23)
         Packet on (Network 2)  s:131.108.2.1(1025)  d:131.118.1.2(23)   (after NAT)

問題が発生していることが確認できます。10.1.1.0 ホストから 131.118.1.0 ホストへ送信されるパケットは、131.108.2.0 ではなく、131.118.2.0 に変換される必要があります。これが発生した理由は、ホスト 1 とホスト 3 の間のトラフィックにも一致する 10.1.1.2 <--> 131.108.2.1 について NAT 変換エントリがすでに存在するためです。このため、この変換エントリが使用され、アクセス リスト 108 およ び 118 はチェックされません。

簡易変換エントリを NAT 変換テーブルで実行している場合は、外部ホスト上の任意の外部ユーザがホスト 1 の内部グローバル アドレス(131.108.2.1)を使用している限り、ホスト 1 へパケットを送信することができます。通常、このためにはスタティック NAT 変換が必要です。



ルート マップを使用する方法

このドキュメントの例のとおりに正しく設定するには、ルート マップを使用します。ルート マップを使用する方法では、次のように設定し、10.1.1.0 ホストを変換します。

    ip nat pool pool-108 131.108.2.1 131.108.2.254 prefix-length 24
         ip nat pool pool-118 131.118.2.1 131.118.2.254 prefix-length 24

         ip nat inside source route-map MAP-108 pool pool-108
     
    !--- ダイナミック ソース変換を確立し、 
        !--- 下で定義されているルート マップ MAP-108 を指定します。 

         ip nat inside source route-map MAP-118 pool pool-118

        !--- ダイナミック ソース変換を確立し、ルート マップ MAP-118 を指定します。
        !--- ここでは、アクセス リストの代わりに 
        !--- ルート マップが参照されます(前の場合と同様)。



         interface ethernet0
           ip address 10.1.1.1 255.255.255.0
           ip nat inside
         interface ethernet1
           ip address 10.1.2.1 255.255.255.0
           ip nat outside

         access-list 108 permit ip 10.1.1.0 0.0.0.255 131.108.1.0 0.0.0.255
         access-list 118 permit ip 10.1.1.0 0.0.0.255 131.118.1.0 0.0.0.255

         route-map MAP-108 permit 10
     
    !--- ルート マップ MAP-108 を定義します。

         match ip address 108
     
    !--- 変換の基準を指定します。ここでは、アクセスリスト 108 に 
        !--- 記述された IP アドレスが変換されます。
        !--- この変換の定義は、
        !--- ip nat inside source route-map MAP-108 pool pool-108 コマンドで行われます。




         route-map MAP-118 permit 10
     
    !--- ルート マップ MAP-108 を定義します。

         match ip address 118
     
    !--- アクセス リスト 118 に記述された IP アドレスが変換されます。 
        !--- この変換の定義は、 
        !--- ip nat inside source route-map MAP-118 pool pool-118 コマンドで行われます。

これらのコマンドの詳細は、『IP アドレッシング コマンドおよびサービス コマンド』を参照してください。



ホスト 1 からホスト 2

ここでは、ホスト 1 からホスト 2 への Telnet で何が起こるかを説明します。

    Packet on (Network 1) s:10.1.1.2(1024)     d:131.108.1.2(23)
         Packet on (Network 2) s:131.108.2.1(1024)  d:131.108.1.2(23)   (after NAT)

この場合、NAT がルート マップを使用して変換するトラフィックを照合したので、NAT は内部変換情報と外部変換情報の両方を含む完全拡張変換エントリを作成します。

     inside                               outside
              local            global             global             local
         10.1.1.2:1024    131.108.2.1:1024   131.108.1.2:23     131.108.1.2:23

戻りパケット:ホスト 2 からホスト 1:

    Packet on (Network 2) s:131.108.1.2(23)  d:131.108.2.1(1024)
         Packet on (Network 1) s:131.108.1.2(23)  d:10.1.1.2(1024)      (after NAT)


ホスト 1 からホスト 3

ここで、ホスト 1 がホスト 3 にパケットを送信すると、次のようになります。

    Packet on (Network 1) s:10.1.1.2(1025)     d:131.118.1.2(23)
         Packet on (Network 2) s:131.118.2.1(1025)  d:131.118.1.2(23)   (after NAT)

変換は正常に実行されました。これは、(N1)のパケットがホスト 1 からホスト 2 へのトラフィックに使用された完全拡張変換エントリに一致しないためです。既存の変換は一致しないため、NAT は、ホスト 1 からホスト 3 へのトラフィックに別の変換エントリを作成します。

次は、NAT ルータの完全拡張変換エントリです。

    inside                               outside
             local            global             global             local
        10.1.1.2:1024    131.108.2.1:1024   131.108.1.2:23     131.108.1.2:23
        10.1.1.2:1025    131.118.2.1:1025   131.118.1.2:23     131.118.1.2:23

NAT 変換テーブルには 2 つのフル エントリがあるため、同じソースから 2 つの異なる宛先へ送信されるトラフィックを正しく変換します。

アクセス リスト経由で作成された簡易変換エントリとは異なり、ルート マップ経由で作成された完全拡張変換エントリは、他の外部ユーザに使用され、パケットをホスト 1 に送信することはありません。このためにはスタティック NAT 変換が必要です。

注 1

オーバーロード付きのアクセス リストの場合、設定はオーバーロードなしのアクセス リストの場合と似ています。異なるのは、overload キーワードを ip nat inside source list 108 pool pool108 and ip nat inside source list 118 pool pool118 コマンドに追加する必要がある点です。

注 2

ルート マップを使用する利点は、match コマンドでソース IP アドレス以外の多くのオプションがあることです。たとえば、ルート マップで match interface または match ip next-hop を指定できます。ルート マップを使用して、IP アドレスおよびパケットが転送される次のホップ アドレスを指定できます。このため、加入者がさまざまな ISP にマルチホーミングしている場合は、NAT でルート マップが使用されます。




関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報




Document ID: 13739