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

重複ネットワークでの NAT の使用

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

概要


はじめに
     表記法
     前提条件
     使用するコンポーネント
構成
     ネットワーク ダイアグラム
     設定
確認
トラブルシューティング
関連するシスコ サポート コミュニティ ディスカッション
関連情報

概要

この文書では、重複ネットワークで Network Address Translation(NAT)を使用する方法について説明します。重複ネットワークは、すでに正当に所有され、インターネットまたは外部ネットワーク上の異なるデバイスに割り当てられている IP アドレスを、ネットワーク上のデバイスに割り当てた場合に発生します。重複ネットワークは、それぞれのネットワークで RFC 1918 leavingcisco.com IP アドレスを使用している 2 つの企業が合併した場合にも発生します。この 2 つのネットワークは、できればすべてのデバイスのアドレスを変更せずに、通信する必要があります。

はじめに

表記法

文書の表記法に関する詳細については、「シスコ テクニカル ティップス:表記法」を参照してください。

前提条件

この文書に関する特別な前提条件はありません。

使用するコンポーネント

この文書は、特定のソフトウェアまたはハードウェアに限定されるものではありません。

構成

この項では、この文書に記載されている機能を設定するための情報を示します。

注:この文書に使用されるコマンドに関するその他の情報を検索するには、Command Lookup ツールを使用してください。(登録ユーザのみ

一部ツールについては、ゲスト登録のお客様にはアクセスできない場合がありますことを、ご了承ください。

注:トポロジの例を挙げて説明します。内部デバイスは、通信しようとしている外部デバイスと IP アドレスが同じであることに注意してください。

ネットワーク ダイアグラム

この文書では次の図に示すネットワーク設定を使用しています。

トポロジの例を挙げて説明します。内部デバイスは、通信しようとしている外部デバイスと IP アドレスが同じであることに注意してください。

3a.gif

設定

ルータ A では、内部デバイスをプール「test-loop」のアドレスに変換し、外部デバイスをプール「test-dns」のアドレスに変換するように、NAT を設定します。

ルータ A の設定を確認してください。

ルータ A

!

 version 11.2

 no service udp-small-servers

 no service tcp-small-servers

 !

 hostname Router-A

 !

 !

 ip nat pool test-loop 172.16.47.161 172.16.47.165 prefix-length 24

 ip nat pool test-dns 172.16.47.177 172.16.47.180 prefix-length 24

 ip nat inside source list 7 pool test-loop

 ip nat outside source list 7 pool test-dns

 ip domain-name cisco.com

 ip name-server 171.69.2.132

 !

 interface Loopback0

  ip address 1.1.1.1 255.0.0.0

 !

 interface Ethernet0

  ip address 135.135.1.2 255.255.255.0

  shutdown

 !

 interface Serial0

  ip address 171.68.200.49 255.255.255.0

  ip nat inside

  no ip mroute-cache

  no ip route-cache

  no fair-queue

 !

 interface Serial1

  ip address 172.16.47.146 255.255.255.240

  ip nat outside

  no ip mroute-cache

  no ip route-cache

 !

 ip classless

 ip route 0.0.0.0 0.0.0.0 172.16.47.145

 access-list 7 permit 171.68.200.0 0.0.0.255

 !

 !

 line con 0

  exec-timeout 0 0

 line aux 0

 line vty 0 4

  login

 !

 end

 

 

確認

現在、この設定に使用可能な確認手順はありません。

トラブルシューティング

このセクションでは、設定のトラブルシューティングを行う方法について説明します。

内部デバイスは、外部デバイスに PING を発行する場合に、外部デバイスのドメイン ネームを使用する必要があります。内部デバイスは、それ自体(内部デバイス)に割り当てられているアドレスと同じであるため、IP アドレスを使用することはできません。内部デバイスのユーザが PING のためにドメイン ネームではなく IP アドレスを使用した場合、パケットは外部デバイスに送信されず、内部デバイスに直接ルーティングされます。ドメイン ネーム参照によって、外部デバイスの変換アドレスが作成されます。このプロセスを次の例で示します。

現在、show ip nat translations コマンドで表示できる変換テーブルに変換アドレスはありません。その代わりに、debug ip packet コマンドと debug ip nat コマンドを使用します。

注:debug コマンドは、大量の出力を生成します。IP ネットワークのトラフィックが少なく、システムのその他の処理が悪影響を受けない場合にだけ使用してください。

Router-A#show ip nat translations

 Router-A#show debug

 Generic IP:

   IP packet debugging is on (detailed)

   IP NAT debugging is on

内部デバイスが DNS クエリーを NAT ドメイン外にある DNS サーバに送信した場合、DNS クエリーの送信元アドレス(内部デバイスのアドレス)は、ip nat inside コマンドによって変換されます。これは次のデバッグ出力で確認できます。

NAT: s=171.68.200.48->172.16.47.161, d=171.69.2.132 [0]

 IP: s=172.16.47.161 (Serial0), d=171.69.2.132 (Serial1), g=172.16.47.145, len 66, forward

     UDP src=6988, dst=53

 

DNS サーバが DNS 応答を送信する場合、DNS 応答のペイロードは、ip nat outside コマンドによって変換されます。

注:NAT は、応答パケットの IP ヘッダーで変換が発生しない限り、DNS 応答のペイロードを参照しません。上のルータ構成の ip nat outside source list 7 pool コマンドを参照してください。

次のデバッグ出力で最初の NAT メッセージは、ルータが DNS 応答を認識し、ペイロード内の IP アドレスを 172.16.47.177 に変換したことを示しています。2 番目の NAT メッセージは、最初の DNS クエリーを実行した内部デバイスに応答を転送できるように、ルータが DNS 応答の宛先を変換したことを示しています。ヘッダーの宛先の部分(内部グローバル アドレス)は、内部ローカル アドレスに変換されます。

DNS 応答のペイロードが変換されます。

NAT: DNS resource record 171.68.200.48 -> 172.16.47.177

DNS 応答の IP ヘッダーの宛先部分が変換されます。

NAT: s=171.69.2.132, d=172.16.47.161->171.68.200.48 [65371]

 IP: s=171.69.2.132 (Serial1), d=171.68.200.48 (Serial0), g=171.68.200.48, len 315, forward

     UDP src=53, dst=6988

別の DNS クエリーと応答を例に挙げます。

NAT: s=171.68.200.48->172.16.47.161, d=171.69.2.132 [0]

 IP: s=172.16.47.161 (Serial0), d=171.69.2.132 (Serial1), g=172.16.47.145, len 66, forward

     UDP src=7419, dst=53

 NAT: DNS resource record 171.68.200.48 -> 172.16.47.177

 NAT: s=171.69.2.132, d=172.16.47.161->171.68.200.48 [65388]

 IP: s=171.69.2.132 (Serial1), d=171.68.200.48 (Serial0), g=171.68.200.48, len 315, forward

     UDP src=53, dst=7419

 

 

DNS のペイロードが変換されたため、変換テーブルには、外部デバイスの外部ローカルおよびグローバル アドレスを示すエントリがあります。テーブル内のこれらのエントリを使用して、内部デバイスと外部デバイス間で交換された ICMP パケットのヘッダー全体を変換できます。次のデバッグ出力でこの交換を確認してください。

次の出力は、変換される送信元アドレス(内部デバイスのアドレス)を示しています。

NAT: s=171.68.200.48->172.16.47.161, d=172.16.47.177 [406]

 

ここで、宛先アドレス(外部デバイスの外部ローカル アドレス)が変換されます。

NAT: s=172.16.47.161, d=172.16.47.177->171.68.200.48 [406]

 

変換の後に、IP パケットは次のようになります。

IP: s=172.16.47.161 (Serial0), d=171.68.200.48 (Serial1), g=172.16.47.145, len 100, forward

     ICMP type=8, code=0

次の出力は、応答パケットで変換される送信元アドレス(外部デバイスのアドレス)を示しています。

NAT*: s=171.68.200.48->172.16.47.177, d=172.16.47.161 [16259]

次に、応答パケットの宛先アドレス(内部デバイスのグローバル アドレス)が変換されます。

NAT*: s=172.16.47.177, d=172.16.47.161->171.68.200.48 [16259]

変換の後に、応答パケットは次のようになります。

IP: s=172.16.47.177 (Serial1), d=171.68.200.48 (Serial0), g=171.68.200.48, len 100, forward

     ICMP type=0, code=0

内部デバイスと外部デバイス間で、パケットの交換が続きます。

NAT: s=171.68.200.48->172.16.47.161, d=172.16.47.177 [407]

 NAT: s=172.16.47.161, d=172.16.47.177->171.68.200.48 [407]

 IP: s=172.16.47.161 (Serial0), d=171.68.200.48 (Serial1), g=172.16.47.145, len 100, forward

     ICMP type=8, code=0

 NAT*: s=171.68.200.48->172.16.47.177, d=172.16.47.161 [16262]

 NAT*: s=172.16.47.177, d=172.16.47.161->171.68.200.48 [16262]

 IP: s=172.16.47.177 (Serial1), d=171.68.200.48 (Serial0), g=171.68.200.48, len 100, forward

     ICMP type=0, code=0

 NAT: s=171.68.200.48->172.16.47.161, d=172.16.47.177 [408]

 NAT: s=172.16.47.161, d=172.16.47.177->171.68.200.48 [408]

 IP: s=172.16.47.161 (Serial0), d=171.68.200.48 (Serial1), g=172.16.47.145, len 100, forward

     ICMP type=8, code=0

 NAT*: s=171.68.200.48->172.16.47.177, d=172.16.47.161 [16267]

 NAT*: s=172.16.47.177, d=172.16.47.161->171.68.200.48 [16267]

 IP: s=172.16.47.177 (Serial1), d=171.68.200.48 (Serial0), g=171.68.200.48, len 100, forward

     ICMP type=0, code=0

 NAT: s=171.68.200.48->172.16.47.161, d=172.16.47.177 [409]

 NAT: s=172.16.47.161, d=172.16.47.177->171.68.200.48 [409]

 IP: s=172.16.47.161 (Serial0), d=171.68.200.48 (Serial1), g=172.16.47.145, len 100, forward

     ICMP type=8, code=0

 NAT*: s=171.68.200.48->172.16.47.177, d=172.16.47.161 [16273]

 NAT*: s=172.16.47.177, d=172.16.47.161->171.68.200.48 [16273]

 IP: s=172.16.47.177 (Serial1), d=171.68.200.48 (Serial0), g=171.68.200.48, len 100, forward

     ICMP type=0, code=0

 NAT: s=171.68.200.48->172.16.47.161, d=172.16.47.177 [410]

 NAT: s=172.16.47.161, d=172.16.47.177->171.68.200.48 [410]

 IP: s=172.16.47.161 (Serial0), d=171.68.200.48 (Serial1), g=172.16.47.145, len 100, forward

     ICMP type=8, code=0

 NAT*: s=171.68.200.48->172.16.47.177, d=172.16.47.161 [16277]

 NAT*: s=172.16.47.177, d=172.16.47.161->171.68.200.48 [16277]

 IP: s=172.16.47.177 (Serial1), d=171.68.200.48 (Serial0), g=171.68.200.48, len 100, forward

     ICMP type=0, code=0

外部デバイスと内部デバイス間でパケットの交換が終了した後で変換テーブルを表示すると、3 つのエントリがあります。最初のエントリは、内部デバイスが DNS クエリーを送信したときに作成されました。2 番目のエントリは、DNS 応答のペイロードの変換時に作成されました。3 番目のエントリは、内部デバイスと外部デバイス間での PING の交換時に作成されました。3 番目のエントリは、先頭の 2 つのエントリのサマリーで、より効率的な変換のために使用されます。

Router-A#show ip nat translations

 Pro Inside global      Inside local       Outside local      Outside global

 --- 172.16.47.161      171.68.200.48      ---                ---

 --- ---                ---                172.16.47.177      171.68.200.48

 --- 172.16.47.161      171.68.200.48      172.16.47.177      171.68.200.48

1 台のシスコ ルータでダイナミック NAT を実行することにより、2 つの重複ネットワーク間に接続を確立しようとする場合は、DNS を使用して、外部ローカル アドレスから外部グローバル アドレスへの変換を行う必要があります。DNS を使用しない場合でもスタティック NAT を使用して接続を確立できますが、管理が難しくなります。


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

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


関連情報


Document ID: 13774