このドキュメントでは、ルート マップまたはアクセス リストを使用してのネットワーク アドレス変換(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 でルート マップを使用する場合とアクセス リストを使用する場合の違いを説明します。
上記のネットワーク図の例では、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 への 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 への 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に変換される必要があります。これは、10.1.1.2 <—> 131.108.2.1のNAT変換エントリがホスト1とホスト3の間のトラフィックにも一致するためです。
簡易変換エントリを 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 への 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 にパケットを送信すると、次のようになります。
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変換が必要です。
オーバーロード付きのアクセス リストの場合、設定はオーバーロードなしのアクセス リストの場合と似ています。異なるのは、overload キーワードを ip nat inside source list 108 pool pool108 and ip nat inside source list 118 pool pool118 コマンドに追加する必要がある点です。
ルート マップを使用する利点は、match コマンドでソース IP アドレス以外の多くのオプションがあることです。たとえば、ルート マップで match interface または match ip next-hop を指定できます。ルート マップを使用して、IP アドレスおよびパケットが転送される次のホップ アドレスを指定できます。このため、加入者がさまざまな ISP にマルチホーミングしている場合は、NAT でルート マップが使用されます。
改定 | 発行日 | コメント |
---|---|---|
1.0 |
10-Aug-2005 |
初版 |