キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
30205
閲覧回数
0
いいね!
0
コメント
Ryota Takao
Cisco Employee
Cisco Employee

 

 

 

概要

NAT は、組織の IP ネットワークを外部から見たときに、実際に使用されているものとは異なる IP アドレス空間が使用されているように見せる機能です。
このドキュメントでは NAT overload の設定例を示します。NAT overload では N 対 1 の Translation を定義します。この例では 3 つの host のアドレス変換を行っていますが、通常の Dynamic NAT であれば、3 つの host に対して 3 つの変換後の IP アドレスを用意する必要があります。overload であれば、3 つの host の IP アドレスの変換を 1 つの IP アドレスで行うことが可能です。
NAT の詳しい概要についてはこのドキュメントの最後にある「関連情報」の Link を参照してください。
なお、このドキュメントの内容は 15.6(3)M1 を使用して動作確認を行っています。

 

  

ネットワーク構成

Router の IOS version : 15.6(3)M1

 

  

設定例

 

Router 

!
interface Ethernet0/0
 ip address 192.168.1.1 255.255.255.0
 ip nat inside
!
interface Ethernet0/1
 ip address 172.16.1.1 255.255.255.0
 ip nat outside
!
ip nat pool POOL 172.16.1.99 172.16.1.99 netmask 255.255.255.0
ip nat inside source list 1 pool POOL overload
!
access-list 1 permit 192.168.1.0 0.0.0.255
!


 

設定の説明

ip nat inside

インターフェースが inside network であることを指定します。

 

ip nat outside

インターフェースが outside network であることを指定します。

 

ip nat pool <Pool name> <Start IP address> <End IP address> [ netmask <mask> | prefix-length <length> ]

NAT変換する inside global address、または、outside local address を定義します。
ip nat inside source list <access-list number> pool <Pool name> と関連付けて使用した場合は、inside global address の範囲を定義することになります。
ip nat outside source list <access-list number> pool <Pool name> と関連付けて使用した場合は、outside local address の範囲を定義することになります。

 

 

ip nat inside source list <standard access-list> pool <Pool name> overload

NAT変換対象を定義する ACL と Pool name を関連付けます。また、N 対 1 の Translation を行うために overload の option を追加します。
inside 側から outside 側へ通過する際に、パケットの source address が standard access-list に合致すれば source address が <Pool name> に対応する pool のアドレスに変換されます。

 

ip nat inside source list <extended access-list> pool <Pool name> overload

NAT変換対象を定義する ACL と Pool name を関連付けます。また、N 対 1 の Translation を行うために overload の option を追加します。
inside 側から outside 側へ通過する際に、パケットの source address と destination アドレスが extended access-list に合致すれば source address が <Pool name> に対応する pool のアドレスに変換されます。

 

 

 

この例では以下のように設定しています。

ip nat pool POOL 172.16.1.99 172.16.1.99 netmask 255.255.255.0
ip nat inside source list 1 pool POOL overload
!
access-list 1 permit 192.168.1.0 0.0.0.255

そのため、inside 側から outside 側へ通過するパケットの source address が 192.168.1.0/24 であれば、パケットの source アドレスが 172.16.1.99 に変換されます。overload の option を追加することで複数の source address の変換を 172.16.1.99 を使用して行うことが出来ます。


 

動作確認

各種コマンドで NAT 変換が正常に行われているか確認します。

 

NAT 変換前の show ip nat translations

Router#show ip nat translations
Router#

上記のように translation entry には何も表示されません。

 

show ip route

Router#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is not set

      172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
C        172.16.1.0/24 is directly connected, Ethernet0/1
L        172.16.1.1/32 is directly connected, Ethernet0/1
      192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.1.0/24 is directly connected, Ethernet0/0
L        192.168.1.1/32 is directly connected, Ethernet0/0
Router#

NAT のエントリがないため、inside global address はルーティングテーブルには載りません。

 

NAT 変換前の show ip aliases

Router#show ip aliases
Address Type             IP Address      Port
Interface                172.16.1.1
Interface                192.168.1.1
Router#

NAT のエントリがないため、inside global address の ip alias は作成されません。

 

 

NAT 変換時の debug ip nat の出力

Host 1 -> Host 4
*Apr 22 04:33:07.959: NAT*: s=192.168.1.101->172.16.1.99, d=172.16.1.100 [275]

*Apr 22 04:33:07.960: NAT*: s=172.16.1.100, d=172.16.1.99->192.168.1.101 [275]
*Apr 22 04:33:07.962: NAT*: s=192.168.1.101->172.16.1.99, d=172.16.1.100 [276]
*Apr 22 04:33:07.963: NAT*: s=172.16.1.100, d=172.16.1.99->192.168.1.101 [276]
*Apr 22 04:33:07.963: NAT*: s=192.168.1.101->172.16.1.99, d=172.16.1.100 [277]
*Apr 22 04:33:07.963: NAT*: s=172.16.1.100, d=172.16.1.99->192.168.1.101 [277]
*Apr 22 04:33:07.963: NAT*: s=192.168.1.101->172.16.1.99, d=172.16.1.100 [278]
*Apr 22 04:33:07.963: NAT*: s=172.16.1.100, d=172.16.1.99->192.168.1.101 [278]
*Apr 22 04:33:07.963: NAT*: s=192.168.1.101->172.16.1.99, d=172.16.1.100 [279]
*Apr 22 04:33:07.964: NAT*: s=172.16.1.100, d=172.16.1.99->192.168.1.101 [279]

Host 2 -> Host 4
*Apr 22 04:33:09.682: NAT*: s=192.168.1.102->172.16.1.99, d=172.16.1.100 [280]
*Apr 22 04:33:09.682: NAT*: s=172.16.1.100, d=172.16.1.99->192.168.1.102 [280]
*Apr 22 04:33:09.683: NAT*: s=192.168.1.102->172.16.1.99, d=172.16.1.100 [281]
*Apr 22 04:33:09.683: NAT*: s=172.16.1.100, d=172.16.1.99->192.168.1.102 [281]
*Apr 22 04:33:09.685: NAT*: s=192.168.1.102->172.16.1.99, d=172.16.1.100 [282]
*Apr 22 04:33:09.685: NAT*: s=172.16.1.100, d=172.16.1.99->192.168.1.102 [282]
*Apr 22 04:33:09.685: NAT*: s=192.168.1.102->172.16.1.99, d=172.16.1.100 [283]
*Apr 22 04:33:09.685: NAT*: s=172.16.1.100, d=172.16.1.99->192.168.1.102 [283]
*Apr 22 04:33:09.685: NAT*: s=192.168.1.102->172.16.1.99, d=172.16.1.100 [284]
*Apr 22 04:33:09.686: NAT*: s=172.16.1.100, d=172.16.1.99->192.168.1.102 [284]

Host 3 -> Host 4
*Apr 22 04:33:11.129: NAT*: s=192.168.1.103->172.16.1.99, d=172.16.1.100 [285]
*Apr 22 04:33:11.129: NAT*: s=172.16.1.100, d=172.16.1.99->192.168.1.103 [285]
*Apr 22 04:33:11.129: NAT*: s=192.168.1.103->172.16.1.99, d=172.16.1.100 [286]
*Apr 22 04:33:11.130: NAT*: s=172.16.1.100, d=172.16.1.99->192.168.1.103 [286]
*Apr 22 04:33:11.130: NAT*: s=192.168.1.103->172.16.1.99, d=172.16.1.100 [287]
*Apr 22 04:33:11.130: NAT*: s=172.16.1.100, d=172.16.1.99->192.168.1.103 [287]
*Apr 22 04:33:11.130: NAT*: s=192.168.1.103->172.16.1.99, d=172.16.1.100 [288]
*Apr 22 04:33:11.130: NAT*: s=172.16.1.100, d=172.16.1.99->192.168.1.103 [288]
*Apr 22 04:33:11.131: NAT*: s=192.168.1.103->172.16.1.99, d=172.16.1.100 [289]
*Apr 22 04:33:11.131: NAT*: s=172.16.1.100, d=172.16.1.99->192.168.1.103 [289]

NAT 変換の様子を確認するため Router にて debug ip nat を有効にした状態で Host 1(192.168.1.101), Host 2(192.168.1.102), Host 3(192.168.1.103) から Host 4(172.16.1.100) へ ping を行い、NAT 変換が行われていることを確認します。
*debug を使用する場合は CPU の使用率が高騰する恐れがあるのでご注意ください。
ping を行うと上記のように inside から outside へ通過する際に、3 つの host のアドレス 192.168.1.101, 192.168.1.102, 192.168.1.103 が 172.16.1.99 に変換され、また、outside から inside に通過する際に destnation が 172.16.1.99 から、それぞれ 192.168.1.101, 192.168.1.102, 192.168.1.103 に変換されます。

 

NAT 変換直後の show ip nat translations

Router#show ip nat translations
Pro Inside global      Inside local       Outside local      Outside global
icmp 172.16.1.99:58    192.168.1.101:58   172.16.1.100:58    172.16.1.100:58
icmp 172.16.1.99:59    192.168.1.102:59   172.16.1.100:59    172.16.1.100:59
icmp 172.16.1.99:60    192.168.1.103:60   172.16.1.100:60    172.16.1.100:60
Router#

192.168.1.101, 192.168.1.102, 192.168.1.103 に対応した fully extended translation entry(上側のエントリ) が作成されます。全て同じ IP address 172.16.1.99 を使用して変換が行われていることがわかります。
*Inside global, Inside local, Outside local, Outside global の IP address と port 番号(この例では 36)が全て記載されたものを fully extended translation entry と呼びます。

 

 

NAT 変換直後の show ip route

Router#show ip route

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is not set

      172.16.0.0/16 is variably subnetted, 3 subnets, 2 masks
C        172.16.1.0/24 is directly connected, Ethernet0/1
L        172.16.1.1/32 is directly connected, Ethernet0/1
L        172.16.1.99/32 is directly connected, Ethernet0/1
      192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.1.0/24 is directly connected, Ethernet0/0
L        192.168.1.1/32 is directly connected, Ethernet0/0
Router#

上記のように inside global address(172.16.1.99) が local route としてルーティングテーブルに載ります。

 

NAT 変換直後の show ip aliases

Router#show ip aliases
Address Type             IP Address      Port
Interface                172.16.1.1
Dynamic                  172.16.1.99 
Interface                192.168.1.1
Router#

 

inside global address(172.16.1.99) の ip alias が作成されます。
inside global address(172.16.1.99) の ip alias が作成されると、inside global address(172.16.1.99) と ip nat outside が設定されている interface の IP address(172.16.1.1) が同じサブネットの場合に inside global address(172.16.1.99) の ARP request に Router が応答します。

 

 

トラブルシューティング

以下のLink を参照してください。

NAT Troubleshooting Commands


 

 

関連情報

 

Getting Started

検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう

シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします