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

ip nat outside source static コマンドを使用した設定例

2016 年 10 月 27 日 - 機械翻訳について
その他のバージョン: PDFpdf | ライター翻訳版 (2006 年 6 月 1 日) | 英語版 (2016 年 4 月 21 日) | フィードバック


目次


概要

このドキュメントには、ip nat outside source static コマンドを使用した設定例が記載されています。また、NAT プロセスにおいて IP パケットがどのように処理されるかについても簡単に説明しています。 例として、このドキュメントで示されているネットワーク トポロジを取り上げます。

前提条件

要件

この設定を行う前に、次の要件が満たされていることを確認します。

この資料の「関連情報」セクションを詳細については参照して下さい。

使用するコンポーネント

この文書に記載されている情報は Cisco IOS の Cisco 2500 シリーズ ルータに基づいていますか。 ソフトウェア リリース 12.2(27)。

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

表記法

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

設定

このセクションでは、このドキュメントで説明する機能を設定するために必要な情報について記載しています。

この資料が使用するコマンドのその他の情報を見つけるのに Command Lookup Tool登録ユーザのみ)を使用して下さい。

ネットワーク図

このドキュメントでは、次のネットワーク構成を使用しています。

http://www.cisco.com/c/dam/en/us/support/docs/ip/network-address-translation-nat/13773-2a.gif

ルータ 2514W の Loopback1 インターフェイスからルータ 2501E の Loopback0 インターフェイスに PING を発行した際に発生する状況を次に示します。

ルータ 2514X の外部インターフェイス(S1)で、この PING パケットの Source Address(SA; 発信元アドレス)が 172.16.89.32 に、Destination Address(DA; 宛先アドレス)が 171.68.1.1 に設定されています。 NAT により、SA が(ルータ 2514X で設定された ip nat outside source static コマンドに従って外部ローカル アドレス 171.68.16.5 に変換されます。 ルータ 2514x は、次にルーティング テーブルをチェックして 171.68.1.1 の経路を探します。 経路が存在しない場合、ルータ 2514x はパケットを廃棄します。 この例の場合、ルータ 2514X には 171.68.1.0 へのスタティック ルートを経由する 171.68.1.1 へのルートがあるので、 パケットは宛先に転送されます。 ルータ 2501E では、着信インターフェイス(E0)で、このパケットの SA が 171.68.16.5 に、DA が 171.68.1.1 に設定されていることが確認されます。 そして応答するために、Internet Control Message Protocol(ICMP; インターネット制御メッセージ プロトコル)エコー応答を 171.68.16.5 に送信します。 ルートがない場合はパケットを廃棄します。 この例では(デフォルト)ルートがあります。 したがって、ルータ 2514X に応答パケットが送信されます。このパケットの SA は 171.68.1.1 に、DA は 171.68.16.5 に設定されます。 ルータ 2514x はパケットを受信して、171.68.16.5 アドレスへの経路をチェックします。 経路がない場合、ICMP 到達不能応答で応答します。 この例では、171.68.16.5 へのルートは存在します(スタティック ルートを使用)。 したがって、このパケットは元の 172.16.89.32 アドレスに変換されて、外部インターフェイス(S1)に転送されます。

設定

このドキュメントでは、次の設定を使用します。

ルータ 2514w
hostname 2514W 
! 


!--- Output suppressed.

interface Loopback1 
 ip address 172.16.89.32 255.255.255.0 
! 
interface Ethernet1 
 no ip address 
 no ip mroute-cache 
! 
interface Serial0 
 ip address 172.16.191.254 255.255.255.252 
 no ip mroute-cache 
! 

!--- Output suppressed.

ip classless 
ip route 0.0.0.0 0.0.0.0 172.16.191.253 

!--- Default route to forward packets to 2514X.

!


!--- Output suppressed.

ルータ 2514x
hostname 2514X 
! 


!--- Output suppressed.

ip nat outside source static 172.16.89.32 171.68.16.5 

!--- Outside local address.

! 


!--- Output suppressed.

interface Ethernet1 
 ip address 171.68.192.202 255.255.255.0 
 ip nat inside 

!--- Defines Ethernet 1 as a NAT inside interface.

 no ip mroute-cache 
 no ip route-cache 
! 
interface Serial1 
 ip address 172.16.191.253 255.255.255.252 
 no ip route-cache 
 ip nat outside 

!--- Defines Serial 1 as a NAT outside interface.

 clockrate 2000000 



! 


!--- Output suppressed.

ip classless  
ip route 171.68.1.0 255.255.255.0 171.68.192.201 
ip route 171.68.16.0 255.255.255.0 172.16.191.254 

!--- Static routes for reaching the loopback interfaces


!--- on 2514E and 2514W.

!


!--- Output suppressed.

ルータ 2501e
hostname rp-2501E 
! 


!--- Output suppressed.

interface Loopback0 
 ip address 171.68.1.1 255.255.255.0 
! 
interface Ethernet0 
 ip address 171.68.192.201 255.255.255.0 
! 


!--- Output suppressed.

ip classless 
ip route 0.0.0.0 0.0.0.0 171.68.192.202 

!--- Default route to forward packets to 2514X.

!


!--- Output suppressed.

確認

ここでは、設定が正常に動作していることを確認します。

Output Interpreter Tool(OIT)(登録ユーザ専用)では、特定の show コマンドがサポートされています。 OIT を使用して、show コマンド出力の解析を表示できます。

変換エントリを確認するには、次の出力に示すように show ip nat translations コマンドを使用します。

2514X#show ip nat translations
Pro Inside global      Inside local       Outside local      Outside global
--- ---                ---                171.68.16.5        172.16.89.32
2514X#

トラブルシューティング

この例では、NAT プロセスを説明するために、NAT 変換デバッグと IP パケット デバッグを使用しています。

debug コマンドは大量の出力を生成するので、システムの他の機能に影響を与えないように、IP ネットワークのトラフィック量が少ない時間帯にのみ実行してください。

debug コマンドを使用する前に、『debug コマンドの重要な情報』を参照してください。

この出力は、ルータ 2514W の loopback1 インターフェイスのアドレス(172.16.89.32)からルータ 2501E の loopback0 インターフェイスのアドレス(171.68.1.1)に PING を発行し、ルータ 2514X で debug ip packet コマンドと debug ip nat コマンドを同時に実行した場合の結果です。

この出力は、ルータ 2514X の外部インターフェイスに到達した最初のパケットを示しています。 172.16.89.32 の送信元アドレスは 171.68.16.5 に変換されます。 ICMP パケットは Ethernet1 インターフェイス外部の送信先に向けて転送されます。

5d17h: NAT: s=172.16.89.32->171.68.16.5, d=171.68.1.1 [171]
5d17h: IP: tableid=0, s=171.68.16.5 (Serial0), d=171.68.1.1 (Ethernet0), routed
via RIB
5d17h: IP: s=171.68.16.5 (Serial0), d=171.68.1.1 (Ethernet0), g=171.68.192.201,
len 100, forward
5d17h:     ICMP type=8, code=0

この出力では、171.68.1.1 からのリターン パケットの宛先アドレスが 171.68.16.5 から 172.16.89.32 に変換されることが示されています。 その結果 ICMP パケットは シリアル1 インターフェイス外部へ転送されます。

5d17h: IP: tableid=0, s=171.68.1.1 (Ethernet0), d=171.68.16.5 (Serial0), routed
via RIB
5d17h: NAT: s=171.68.1.1, d=171.68.16.5->172.16.89.32 [171]
5d17h: IP: s=171.68.1.1 (Ethernet0), d=172.16.89.32 (Serial0), g=172.16.191.254,
 len 100, forward
5d17h:     ICMP type=0, code=0

ICMP パケットの交換は継続されます。 このデバッグ出力の NAT プロセスは、上の出力と同じです。

5d17h: NAT: s=172.16.89.32->171.68.16.5, d=171.68.1.1 [172]
5d17h: IP: tableid=0, s=171.68.16.5 (Serial0), d=171.68.1.1 (Ethernet0), routed
via RIB
5d17h: IP: s=171.68.16.5 (Serial0), d=171.68.1.1 (Ethernet0), g=171.68.192.201,
len 100, forward
5d17h:     ICMP type=8, code=0
5d17h: IP: tableid=0, s=171.68.1.1 (Ethernet0), d=171.68.16.5 (Serial0), routed
via RIB
5d17h: NAT: s=171.68.1.1, d=171.68.16.5->172.16.89.32 [172]
5d17h: IP: s=171.68.1.1 (Ethernet0), d=172.16.89.32 (Serial0), g=172.16.191.254,
 len 100, forward
5d17h:     ICMP type=0, code=0
5d17h: NAT: s=172.16.89.32->171.68.16.5, d=171.68.1.1 [173]
5d17h: IP: tableid=0, s=171.68.16.5 (Serial0), d=171.68.1.1 (Ethernet0), routed
via RIB
5d17h: IP: s=171.68.16.5 (Serial0), d=171.68.1.1 (Ethernet0), g=171.68.192.201,
len 100, forward
5d17h:     ICMP type=8, code=0
5d17h: IP: tableid=0, s=171.68.1.1 (Ethernet0), d=171.68.16.5 (Serial0), routed
via RIB
5d17h: NAT: s=171.68.1.1, d=171.68.16.5->172.16.89.32 [173]
5d17h: IP: s=171.68.1.1 (Ethernet0), d=172.16.89.32 (Serial0), g=172.16.191.254,
 len 100, forward
5d17h:     ICMP type=0, code=0
5d17h: NAT: s=172.16.89.32->171.68.16.5, d=171.68.1.1 [174]
5d17h: IP: tableid=0, s=171.68.16.5 (Serial0), d=171.68.1.1 (Ethernet0), routed
via RIB
5d17h: IP: s=171.68.16.5 (Serial0), d=171.68.1.1 (Ethernet0), g=171.68.192.201,
len 100, forward
5d17h:     ICMP type=8, code=0
5d17h: IP: tableid=0, s=171.68.1.1 (Ethernet0), d=171.68.16.5 (Serial0), routed
via RIB
5d17h: NAT: s=171.68.1.1, d=171.68.16.5->172.16.89.32 [174]
5d17h: IP: s=171.68.1.1 (Ethernet0), d=172.16.89.32 (Serial0), g=172.16.191.254,
 len 100, forward
5d17h:     ICMP type=0, code=0
5d17h: NAT: s=172.16.89.32->171.68.16.5, d=171.68.1.1 [175]
5d17h: IP: tableid=0, s=171.68.16.5 (Serial0), d=171.68.1.1 (Ethernet0), routed
via RIB
5d17h: IP: s=171.68.16.5 (Serial0), d=171.68.1.1 (Ethernet0), g=171.68.192.201,
len 100, forward
5d17h:     ICMP type=8, code=0
5d17h: IP: tableid=0, s=171.68.1.1 (Ethernet0), d=171.68.16.5 (Serial0), routed
via RIB
5d17h: NAT: s=171.68.1.1, d=171.68.16.5->172.16.89.32 [175]
5d17h: IP: s=171.68.1.1 (Ethernet0), d=172.16.89.32 (Serial0), g=172.16.191.254,
 len 100, forward
5d17h:     ICMP type=0, code=0

要約

パケットが外部から内部に移動する場合は、先に変換が行われてから、ルーティング テーブルで宛先がチェックされます。 パケットが内部から外部へ移動するとき、まず送信先についてルーティング テーブルをチェックしてから次に変換が行われます。 詳細については、『NAT の処理順序』を参照してください。

このドキュメントで説明した各コマンドを使用する場合、IP パケットのどの部分が変換されるかに注意することが重要です。 次の表にガイドラインを示します。

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

これらのガイドラインは、パケットの変換方法が複数あることを示しています。 実際のニーズに応じて、NAT インターフェイスの定義方法(内部あるいは外部)と、変換前または変換後にはルーティング テーブルにどのようなルートが含まれるべきかを決定する必要があります。 パケットのどの部分が変換されるかは、パケットの移動方向と NAT の設定によって決定されるということを常に念頭に置いてください。


関連情報


Document ID: 13773