NAT - Outside source



 外部送信元アドレス変換

 その名の通り、外部 ( ip nat outsideの設定のあるインターフェース側 ) の送信元アドレスの変換を行います。
 それでは下図を例に、外部送信元アドレス変換をスタティックNATとダイナミックNATの両方で行ってみます。
 ※ 両ルータでダイナミックに経路情報をやり取りしますが、172.16.0.0/24 の経路は 「NAT Router」に通知しない事を前提にします。



 

 ・ 外部送信元アドレス変換 by スタティックNAT : ソースアドレス 「172.16.0.1 」 を 「 192.168.2.100 」に変換


 
interface FastEthernet0/0
 ip address 192.168.0.254 255.255.255.0
 ip nat inside

 interface FastEthernet0/1
 ip address 192.168.1.254 255.255.255.0
 ip nat outside

 ip nat outside source static 172.16.0.1 192.168.2.100


 NAT-Inside sourceは内部送信元アドレス変換で、NAT-Outside sourceは外部送信元アドレス変換の
 ことだけなのですが、NAT-Inside sourceの解説で使用した物理構成では ip nat outside source static
 のコマンドを使用しても、「172.16.0.0/24」 から 「192.168.0.0/24」 に対して通信することができません。 
 この理由は端末Bから送信されるパケットの送信元アドレスと宛先アドレスを考えればすぐに分かります。
 そう、これはNATの処理順序に起因するのです。今回は「ExRouter」にloopback1インターフェースを作成し
 そのネットワークを「NATRouter」に通知し、「172.16.0.1」のアドレスを「192.168.2.100」に変換しています。

  ※ 但し、このルータ上の経路にないNW ( 例 : 1.1.1.1/32 ) を利用して、以下のトリッキーな設定によりルータ一台でも外部送信元
  アドレス変換の実装は可能。 [ ip nat outside source static 172.16.0.1 1.1.1.1 ] [ ip route 1.1.1.1 255.255.255.255 172.16.0.1 ]
  ホストAから ping 1.1.1.1 と実行すると応答があります。このトリッキーな設定はNATの処理順序を理解できていれば思いつくはず。

 以下のNAT変換表の一行目はip nat outside source staticを作成すればスタティックに存在し続けます。
 二行目は、端末A⇔B間にて192.168.0.1と192.168.2.100(172.16.0.1)の通信が開始されると作成されます。

show ip nat translation
Inside global Inside local Outside local Outside global
--- --- 192.168.2.100 172.16.0.1
192.168.0.1 192.168.0.1 192.168.2.100 172.16.0.1

 ・ 外部送信元アドレス変換 by ダイナミックNAT : ソースアドレス 「172.16.0.0 〜 255」 を 「 192.168.0.2 〜 253」 のどれかに変換


 
interface FastEthernet0/0
 ip address 192.168.0.254 255.255.255.0
 ip nat inside

 interface FastEthernet0/1
 ip address 192.168.1.254 255.255.255.0
 ip nat outside

 ip nat pool N-dynamic 192.168.2.2 192.168.2.253 netmask 255.255.255.0
 ip nat outside source list 1 pool N-dynamic

 access-list 1 permit 172.16.0.0 0.0.0.255

 この構成の場合、ip nat outside source static と同様にパケットの送信元、宛先アドレスを考えれば
 ip nat pool N-dynamicのプールアドレスはExRouterのネットワークである必要であることが分かると
 思います。NAT処理順序によると内部から外部へパケットを転送する時は先にルーティング処理され
 宛先が確定した後、NAT変換が行われます。ルーティングされる時に宛先が「ExRouter」でない場合、
 NAT変換後のネットワーク ( 172.16.0.0/24 ) を 「NATRouter」は知らずパケットを破棄してしまいます。

 ダイナミックNATではNAT変換表がない上では外部(PC B)からしか通信を開始することが出来ません。
 以下のNATテーブル2行は端末Bから通信を開始し始めると自動作成されますが、通信が終了してから
 ip nat translation timeoutで設定された時間をすぎるとNATテーブルはなくなります。タイムアウトを
 を待つことなくNATテーブルをクリアーしたい場合はclear ip nat translation *コマンドを入力します。

show ip nat translation
Inside global Inside local Outside local Outside global
--- --- 192.168.2.2 172.16.0.1
192.168.0.1 192.168.0.1 192.168.2.2 172.16.0.1

 ※ 重複するネットワーク処理の為のNAT( Twice NAT)は、内部送信元と外部送信元アドレス変換の両方を行うことで実現可能です。



 NAT変換エントリのタイムアウト値の変更

 ダイナミックNATの場合はデフォルトで「24時間」と非常に長く、一般的に設定変更する必要があります。


 cisco(config)# ip nat translation timeout seconds


 次に紹介するPATで使用するoverloadを使用したNATの場合は、プロトコルごとに変更できます。


 cisco(config)# ip nat translation udp-timeout seconds  ( default 5分 )
 cisco(config)# ip nat translation dns-timeout seconds  ( default 1分 )
 cisco(config)# ip nat translation tcp-timeout seconds  ( default 24時間 )
 cisco(config)# ip nat translation finrst-timeout seconds ( default 1分 )
 cisco(config)# ip nat translation icmp-timeout seconds ( default 24時間 )
 cisco(config)# ip nat translation syn-timeout seconds  ( default 1分 )


 

 Resource : NAT : Local and Global Definitions NATの処理順序 NAT Central ip virtual-reassembly time-out値の変更

← NAT - Inside Source  PAT

ネットワークエンジニアとして

Copyright(C) 2002-2008 Cool. All Rights Reserved