IP : ネットワーク アドレス変換(NAT)

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

2016 年 10 月 27 日 - 機械翻訳について
その他のバージョン: PDFpdf | ライター翻訳版 (2010 年 7 月 9 日) | 英語版 (2015 年 8 月 22 日) | フィードバック


目次


概要

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

前提条件

要件

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

使用するコンポーネント

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

  • Cisco 2500 シリーズ ルータ

  • Cisco IOS(R) ソフトウェア リリース 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 でルート マップを使用する場合とアクセス リストを使用する場合の違いを説明します。

/image/gif/paws/13739/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

!--- Defines a pool of global addresses to be allocated as needed.
 
     ip nat pool pool118 131.118.2.1 131.118.2.254 prefix-length 24

     ip nat inside source list 108 pool pool108
     
!--- Establishes dynamic source translation, specifying the 
     !--- access list defined below.
 
     ip nat inside source list 118 pool pool118

     interface ethernet0
       ip address 10.1.1.1 255.255.255.0
       ip nat inside
       
!--- Marks the interface as connected to the inside.
 
     interface ethernet1
       ip address 10.1.2.1 255.255.255.0
       ip nat outside
       
!--- Marks the interface as connected to the outside.


     access-list 108 permit ip 10.1.1.0 0.0.0.255 131.108.1.0 0.0.0.255
     
!--- Defines the access-list mentioning those addresses 
     !--- that are to be translated.

     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
     
!--- Establishes dynamic source translation, specifying 
     !--- the route-map MAP-108 which is defined below. 

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

     !--- Establishes dynamic source translation, specifying the route-map MAP-118.
     !--- Here, the route-maps are consulted instead of 
     !--- access-lists (as in the previous case).



     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
     
!--- Defines the Route-map MAP-108.

     match ip address 108
     
!--- Specifies the criteria for translation. Here, the IP 
     !--- address mentioned in the access-list 108 is translated.
     !--- The translation is defined in the
     !--- ip nat inside source route-map MAP-108 pool pool-108 command.




     route-map MAP-118 permit 10
     
!--- Defines the Route-map MAP-108.

     match ip address 118
     
!--- The IP address mentioned in the access-list 118 is translated. 
     !--- The translation is defined in the 
     !--- ip nat inside source route-map MAP-118 pool pool-118 command.

これらのコマンドの詳細は、「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