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

ネットワーク アドレス変換の設定: スタートアップ ガイド

2015 年 11 月 25 日 - 機械翻訳について
その他のバージョン: PDFpdf | ライター翻訳版 (2008 年 4 月 23 日) | 英語版 (2015 年 4 月 27 日) | フィードバック


目次


概要

このドキュメントでは、一般的なネットワーク シナリオにおける、Cisco ルータでの Network Address Translation(NAT; ネットワーク アドレス変換)の設定について説明しています。 このドキュメントの対象読者は、NAT を初めて設定するユーザです。

注: このドキュメントで使用されている「インターネット」または「インターネット デバイス」という用語は、任意の外部ネットワークにあるデバイスを意味します。

前提条件

要件

このドキュメントを読むには、Network Address Translation(NAT; ネットワーク アドレス変換)との接続で使用される用語についての基本的な知識が必要です。 いくつかの定義は NAT で見つけることができます: ローカルおよび全体的な定義

使用するコンポーネント

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

  • Cisco 2500 シリーズ ルータ

  • Cisco IOS(R) ソフトウェア リリース 12.2 (10b)

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

表記法

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

クイック スタート手順:NAT の設定と使用

NAT を設定するとき、特に NAT に新しければどこで始まるか確認することは時々困難です。 NAT の機能の定義手順と設定方法は、次が参考になります。

  1. NAT の Inside インターフェイスと Outside インターフェイスを定義します。

    • ユーザーが属するインターフェースは複数ありますか?

    • インターネットに出て行くインターフェースは複数ありますか。

  2. NAT によって何を達成しようとしているのかを定義します。

  3. 前のステップで定義した目的を達成するために、NAT を設定します。 ステップ 2 で定義した目的に従って、次の機能の中からどれを使用するかを決定します。

    • スタティック NAT

    • ダイナミック NAT

    • オーバーロード

    • 上記の組み合せ

  4. NAT の動作を確認します。

これらの NAT 例のそれぞれはステップ 1 〜上記のクイックスタートステップの 3 によってガイドします。 これらの例で取り上げられているのはいずれも、NAT の展開が推奨される一般的なシナリオです。

NAT の内部インターフェイスと外部インターフェイスの定義

NAT を展開する第一歩は NATの inside および outside インターフェイスを定義することです。 内部ネットワークを内部、外部ネットワークを外部と定義するのが最も簡単であると思われるかもしれません。 ただし、「内部」と「外部」という用語はどちらも使用目的によって決まります。 この図はこれの例を示します。

/image/gif/paws/13772/12a.gif

例: 内部ユーザがインターネットにアクセスできるようにする場合

内部ユーザがインターネットにアクセスできるようにすることは可能であるものの、有効アドレスの数がすべてのユーザに対応できるほど十分にない場合があります。 インターネットのデバイスが付いているすべての通信が内蔵デバイスから起きる場合、有効なアドレスの単一 有効なアドレスかプールを必要とします。

この図は内部および外部と定義されるルータ インターフェイスが付いている単純なネットワークダイアグラムを示します:

/image/gif/paws/13772/12b.gif

この例では、NAT に内部のある特定のデバイス(各サブネットからの最初の 31)が有効なアドレスまたはアドレスのプールへの無効アドレスの変換によって外部のデバイスが付いている通信を起こすようにほしいです。 アドレス プールは、172.16.10.1 ~ 172.16.10.63 の範囲で定義されています。

これで NAT を設定する準備ができました。 上記の目的を達成するには、ダイナミック NAT を使用します。 ダイナミック NAT では、変換される必要があるルータの変換テーブルはトラフィックがルータを通れば初めは空で、読み込まれます。 変換がトラフィックのための必要なしに変換テーブルに静的に設定され、置かれるスタティック NAT に対して。

この例では、内部デバイスのそれぞれをユニークで有効なアドレスに変換するか、または同じ有効なアドレスに内部デバイスのそれぞれを変換するために NAT を設定できます。 後者の方法をオーバーロードと呼びます。 方法の例は各方式を設定するここに与えられます。

NAT の設定:内部ユーザがインターネットにアクセスできるようにする場合

NAT ルータ
interface ethernet 0
 ip address 10.10.10.1 255.255.255.0
 ip nat inside

!--- Defines Ethernet 0 with an IP address and as a NAT inside interface.


interface ethernet 1
 ip address 10.10.20.1 255.255.255.0
 ip nat inside

!--- Defines Ethernet 1 with an IP address and as a NAT inside interface.


interface serial 0
 ip address 172.16.10.64 255.255.255.0
 ip nat outside

!--- Defines serial 0 with an IP address and as a NAT outside interface.

 
ip nat pool no-overload 172.16.10.1 172.16.10.63 prefix 24
 !

!--- Defines a NAT pool named no-overload with a range of addresses 
!--- 172.16.10.1 - 172.16.10.63.


ip nat inside source list 7 pool no-overload 
 !
 !

!--- Indicates that any packets received on the inside interface that 
!--- are permitted by access-list 7 has
!--- the source address translated to an address out of the 
!--- NAT pool "no-overload".


access-list 7 permit 10.10.10.0 0.0.0.31
access-list 7 permit 10.10.20.0 0.0.0.31

!--- Access-list 7 permits packets with source addresses ranging from 
!--- 10.10.10.0 through 10.10.10.31 and 10.10.20.0 through 10.10.20.31.
 

注: NAT コマンドで参照されるアクセス リストを permit any 付きで設定しないでください。 permit any を使用すると NAT によって大量のルータ リソースが消費され、ネットワークの問題を引き起こすおそれがあります。

サブネット 10.10.20.0 からのサブネット 10.10.10.0 からの最初の 32 アドレスおよび最初の 32 アドレスだけ access-list 7 によって与えられる以前のコンフィギュレーションの表記 したがって、これらの送信元アドレスのみが変換されます。 内部ネットワークの他のアドレスのその他のデバイスがあるこれらは変換されません。

最後のステップは、NAT が意図したとおりに動作していることを確認することです。

NAT を設定して、オーバーロードによりインターネットアクセスを内部ユーザに許可

NAT ルータ
interface ethernet 0
 ip address 10.10.10.1 255.255.255.0
 ip nat inside

!--- Defines Ethernet 0 with an IP address and as a NAT inside interface.


interface ethernet 1
 ip address 10.10.20.1 255.255.255.0
 ip nat inside

!--- Defines Ethernet 1 with an IP address and as a NAT inside interface.


interface serial 0
 ip address 172.16.10.64 255.255.255.0
 ip nat outside

!--- Defines serial 0 with an IP address and as a NAT outside interface.


ip nat pool ovrld 172.16.10.1 172.16.10.1 prefix 24
 !

!--- Defines a NAT pool named ovrld with a range of a single IP 
!--- address, 172.16.10.1.


ip nat inside source list 7 pool ovrld overload
 !
 !
 !
 !

!--- Indicates that any packets received on the inside interface that 
!--- are permitted by access-list 7 has the source address 
!--- translated to an address out of the NAT pool named ovrld. 
!--- Translations are overloaded, which allows multiple inside 
!--- devices to be translated to the same valid IP address.


access-list 7 permit 10.10.10.0 0.0.0.31
access-list 7 permit 10.10.20.0 0.0.0.31

!--- Access-list 7 permits packets with source addresses ranging from 
!--- 10.10.10.0 through 10.10.10.31 and 10.10.20.0 through 10.10.20.31.
 

前の第 2 設定の注に、NATプール「ovrld " 1 アドレスの範囲がありますただ。 ip nat inside source list 7 pool ovrld overload コマンドのようにキーワード overload を使用すると、複数の Inside デバイスがプール内の単一アドレスに変換されます。

このコマンドのもう 1 つの形が ip nat inside source list 7 interface serial 0 overload です。このように設定すると、serial 0 インターフェイスに割り当てられたアドレスにオーバーロードされます。

オーバーロードを設定すると、ルータではグローバル アドレスを適切なローカル アドレスに逆変換するために、高レベル プロトコルからの情報(TCP ポート番号や UDP ポート番号など)が保持されます。 グローバルおよびローカルアドレスの定義に関して、NAT を参照して下さい: グローバル な、ローカル定義

最後のステップは、NAT が意図したとおりに動作していることを確認することです。

例: 例:インターネットから内部デバイスにアクセスできるようにする場合

インターネットにあるデバイスと情報を交換する内部デバイスが必要となる場合があります。この場合、通信はインターネット デバイスから開始されます。 それはインターネットのデバイスのために典型的内部ネットワークに住むメール サーバに電子メールを送信 するためにです。

/image/gif/paws/13772/12c.gif

インターネットから内部デバイスにアクセスできるようにする NAT の設定

この例では、前のネットワークダイアグラムに示すように最初に NATの inside および outside インターフェイスを、定義します。

2 番目に内部のユーザに外部が付いている通信を起こせるほしいこと、定義します。 Outside のデバイスは、Inside のメール サーバとの通信のみを開始できるようにする必要があります。

次のステップは NAT の設定です。 定義したものを達成するために、スタティック および ダイナミック NAT を同時に設定することができます。 この例の設定方法については、『スタティック NAT とダイナミック NAT の同時設定』を参照してください。

最後のステップは、NAT が意図したとおりに動作していることを確認することです。

例: 例:TCP トラフィックを別の TCP ポートまたはアドレスにリダイレクトする場合

インターネット上のデバイスが内部デバイスとの通信を開始する必要があるもう 1 つの例が、内部ネットワークに Web サーバがある場合です。 場合によっては内部Webサーバはポート 80 以外 TCPポートの Webトラフィックを聞き取るために設定されるかもしれません。 たとえば、内部Webサーバは TCPポート 8080 を受信するために設定されるかもしれません。 この場合は、NAT を使用して、TCP ポート 80 宛てのトラフィックを TCP ポート 8080 にリダイレクトできます。

/image/gif/paws/13772/12d.gif

前のネットワークダイアグラムに示すようにインターフェイスを定義した後、NAT に 172.16.10.8:80 から 172.16.10.8:8080 に向かう外部からのパケットをリダイレクトしてほしいことを決定することができます。 これを実現させるために TCPポート番号を変換するために static nat コマンドを使用できます。 設定 例はここに示されています。

TCP トラフィックを別の TCP ポートやアドレスにリダイレクトする NAT の設定

NAT ルータ
interface ethernet 0 
 ip address 172.16.10.1 255.255.255.0
 ip nat inside

!--- Defines Ethernet 0 with an IP address and as a NAT inside interface.


interface serial 0
 ip address 200.200.200.5 255.255.255.252
 ip nat outside

!--- Defines serial 0 with an IP address and as a NAT outside interface.


ip nat inside source static tcp 172.16.10.8 8080 172.16.10.8 80

!--- Static NAT command that states any packet received in the inside 
!--- interface with a source IP address of 172.16.10.8:8080 is 
!--- translated to 172.16.10.8:80. 

172.16.10.8:8080 の送信元アドレスが付いている内部インターフェイスで受信されるパケットを 172.16.10.8:80 に変換されることを static nat コマンドのための設定記述が示すことに注目して下さい。 これはまた 172.16.10.8:8080 に変換される 172.16.10.8:80 の宛先アドレスが付いている outside インターフェイスで受信されるどのパケットでも宛先があることを意味します。

最後のステップは、NAT が意図したとおりに動作していることを確認することです。

show ip nat translations
Pro Inside global      Inside local       Outside local      Outside global
tcp 172.16.10.8:80     172.16.10.8:8080   ---                ---

例: ネットワーク移行時に NAT を使用する場合

NAT を展開することはネットワークのデバイスを再アドレス割り当てする必要があるか、または別のものと 1 つのデバイスを取り替えるとき役立ちます。 たとえば、ネットワーク使用のすべてのデバイスが特定のサーバおよびこのサーバ新しい IP アドレスがある新しいものと取り替えられる必要があれば、新しいサーバアドレスを使用するすべてのネットワークデバイスの再構成は時間をかけます。 一方、新しいサーバと通信するために古いアドレスでデバイスをパケットを変換するために設定するために NAT を使用できます。

/image/gif/paws/13772/12e.gif

NAT インターフェイスを上記のように定義した後、NAT の使用目的を「外部から到達した、古いサーバ アドレス(172.16.10.8)宛てのパケットを変換し、新しいサーバ アドレスに送信すること」と決定しました。 新しいサーバは別の LAN にあるため、この LAN 上のデバイス、またはこの LAN を経由して到達可能なデバイス(ネットワークの Inside 側にあるデバイス)は、可能であれば新しいサーバの IP アドレスを使用できるように設定します。

上記の目的を達成するには、スタティック NAT を使用します。 これは設定 例です。

NAT の設定:ネットワーク移行時に NAT を使用する場合

NAT ルータ
interface ethernet 0
 ip address 172.16.10.1 255.255.255.0
 ip nat outside

!--- Defines Ethernet 0 with an IP address and as a NAT outside interface.


interface ethernet 1
 ip address 172.16.50.1 255.255.255.0
 ip nat inside

!--- Defines Ethernet 1 with an IP address and as a NAT inside interface.


interface serial 0
 ip address 200.200.200.5 255.255.255.252

!--- Defines serial 0 with an IP address. This interface is not 
!--- participating in NAT.


ip nat inside source static 172.16.50.8 172.16.10.8

!--- States that any packet received on the inside interface with a 
!--- source IP address of 172.16.50.8 is translated to 172.16.10.8.

172.16.10.8 の宛先アドレスが付いている outside インターフェイスで受信されるパケットに変換される 172.16.50.8 への宛先アドレスがあることをこの例の inside source nat コマンドがまた意味することに注目して下さい。

最後のステップは、NAT が意図したとおりに動作していることを確認することです。

例: 例:オーバーラッピング ネットワークで NAT を使用する場合

オーバーラッピング ネットワークは、インターネット内の他のデバイスですでに使用されている IP アドレスを内部デバイスに割り当てたときに起こります。 また、社内ネットワークでいずれも RFC 1918 leavingcisco.com IP アドレスを使用している 2 つの企業が合併した場合にも、重複ネットワークが生じます。 これら 2 つのネットワークは、できればすべてのデバイスのアドレスを再設定せずに通信できる必要があります。 参照しま NAT を NAT の設定に関する詳細については重複ネットワークでこのために使用します

1対1マッピング間の違いおよび多対多

スタティック NAT 設定では、1 対 1 のマッピングが作成され、特定のアドレスが別のアドレスに変換されます。 このタイプの設定では、設定が存在する限り、NAT テーブルに恒久的なエントリが作成され、内部ホストと外部ホストの両方から接続を開始できます。 これはメールのようなアプリケーションサービスを提供するホストのために主に利用できます、Web、等 FTP します。 次に、例を示します。

Router(config)#ip nat inside source static 10.3.2.11 10.41.10.12
 Router(config)#ip nat inside source static 10.3.2.12 10.41.10.13

ダイナミック NAT は、変換されるホストの実際の数より使用できるアドレスが少ない場合に便利です。 ホストが接続を開始すると NAT テーブルにエントリが作成され、アドレス間に 1 対 1 のマッピングが確立されます。 しかし、マッピングは変わることができ、通信の時にプールで利用可能 な 登録アドレスに左右されます。 ダイナミック NAT では、NAT が設定されている Inside または Outside のネットワークからのみ、セッションを開始できます。 一定の時間ホストが通信を行わないと、ダイナミック NAT のエントリは変換テーブルから削除されます。この時間は設定可能です。 次に、アドレスはプールに戻されて、別のホストが使用できるようになります。

たとえば、詳細なコンフィギュレーションのこれらのステップを完了して下さい:

  1. アドレスのプールを作成して下さい

    Router(config)#ip nat pool MYPOOLEXAMPLE 
    10.41.10.1 10.41.10.41 netmask 255.255.255.0
    
  2. 内部ネットワークのための access-list を作成して下さいマッピング されなければならない

    Router(config)#access-list 100 permit ip 
    10.3.2.0 0.0.0.255 any
    
  3. access-list 100 を内部ネットワーク 10.3.2.0 0.0.0.255 をプール MYPOOLEXAMPLE に natted ために選択している関連付け、次にアドレスを過剰にして下さい。

    Router(config)#ip nat inside source list 100 pool 
    		MYPOOLEXAMPLE overload
    

NAT の動作確認

NAT の設定が完了したら、それが期待通りに動作するかを確認します。 これには次に記載するようないくつかの方法があります。 ネットワーク アナライザの使用や、show コマンド、debug コマンドの使用など。 NAT の動作確認例についての詳細は、『NAT オペレーションの検証と NAT の基本的なトラブルシューティング』を参照してください。

結論

このドキュメントの例は、クイック スタート手順が NAT の設定と展開に役立つことを具体的に示しています。 クイック スタート手順は、次のステップから構成されています。

  1. NAT の内部インターフェイスと外部インターフェイスを定義します。

  2. NAT によって何を達成しようとしているのかを定義します。

  3. ステップ 2 で定義した目的を達成するために、NAT を設定します。

  4. NAT の動作を確認します。

前例のそれぞれでは、さまざまな形の ip nat inside コマンドは使用されました。 また同じ目標を達成するために ip nat outside コマンドを使用できますが NAT の 処理順序に留意します。 ip nat outside コマンドを使用する設定例に関しては、ip nat outside source list コマンドを使用して設定 例および ip nat outside source static コマンドを使用して設定 例を参照して下さい。

前例はまたこれらの操作を示しました:

コマンド Action
ip nat inside source
  • 内部から外部へ送られる IP パケットの送信元が変換されます。
  • 外部から内部へ送られる IP パケットの宛先が変換される。
ip nat outside source
  • 外部から内部へ移動する IP パケットの発信元を変換します。
  • 内部から外部へ送られる IP パケットの宛先が変換される。

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

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


関連情報


Document ID: 13772