PAT(IPマスカレード)
・PAT(IPマスカレード)の設定をする
・RouterAで,10.1.1.1〜3のアドレスが192.168.1.1に変換されていることを確認する
ネットワーク構成(画像を別ウインドウで表示)
RouterAのコンフィグ
!
version 12.2
no service single-slot-reload-enable
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname RouterA
!
interface Ethernet0
ip address 10.1.1.1 255.255.255.0 secondary ←ping送出用のセカンダリ・アドレスを作る
ip address 10.1.1.2 255.255.255.0 secondary ←同上
ip address 10.1.1.3 255.255.255.0 secondary ←同上

ip address 10.1.1.4 255.255.255.0
ip nat inside ←NATの内側インタフェースに指定する
!
interface Serial0
ip address 192.168.1.4 255.255.255.0
ip nat outside ←NATの外側インタフェースに指定する
clockrate 500000
!
ip nat pool globalpool 192.168.1.1 192.168.1.1 netmask 255.255.255.0 ←アドレス変換用のアドレスをglobalpoolという名前でプールする
ip nat inside source list 1 pool globalpool overload ←内側(LAN側)の送信元アドレスがアクセス・リスト1番(10.1.1.1〜3)だったら,globalpool(192.168.1.1)に変換
ip classless
ip route 192.168.2.0 255.255.255.0 192.168.1.5
ip http server
!
access-list 1 permit 10.1.1.1 ←変換対象となるアドレスをアクセス・リスト1番として指定
access-list 1 permit 10.1.1.2 ←同上
access-list 1 permit 10.1.1.3 ←同上
!
line con 0
transport input none
line aux 0
line vty 0 4
login
!
end
RouterBのコンフィグ
!
version 12.2
no service single-slot-reload-enable
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname RouterB
!
interface Ethernet0
ip address 192.168.2.2 255.255.255.0
!
interface Serial0
ip address 192.168.1.5 255.255.255.0
no fair-queue
!
line con 0
transport input none
line aux 0
line vty 0 4
login
!
end
確認
アドレス変換といえばこいつ,PAT(IPマスカレード)です。
LANのユーザーが,1個のIPアドレスを同時に使うことができます。
今のインターネット接続には欠かせない機能ですね。

RouterAの設定で,ダイナミックNATのときの設定と違う部分はたった二つ。
一つは,アドレス変換用にプールしたアドレスが1個(始点アドレスと終点アドレスが同じ)であること。
もう一つは,overloadオプションが付いていることです。

ip nat pool globalpool 192.168.1.1 192.168.1.1 netmask 255.255.255.0
ip nat inside source list 1 pool globalpool overload

これでPATがオンになっているはずです。
pingコマンドで送信元を指定して,10.1.1.1から192.168.2.1へpingを打ってみます。

RouterA#ping ←pingとだけ入力する
Protocol [ip]:
Target IP address: 192.168.2.1←あて先アドレスを入力する
Repeat count [5]:
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y ←yを入力すると送信元アドレスを指定できるようになる
Source address or interface: 10.1.1.1 ←送信元アドレスを指定する
Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.2.1, timeout is 2 seconds:
!!!!! ←ping成功
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/20/32 ms


これでpingが送信されました。
同様に,10.1.1.2から192.168.2.1にもpingを打ちます。
送信した後に,NATテーブルを見てみましょう。
(ちなみにPATの場合,エントリ保存時間はデフォルトで60秒なので,この作業は60秒以内に!)

RouterA#show ip nat translations
Pro  Inside global    Inside local   Outside local   Outside global
icmp 192.168.1.1:5798 10.1.1.2:5798 192.168.2.1:5798 192.168.2.1:5798
icmp 192.168.1.1:5799 10.1.1.2:5799 192.168.2.1:5799 192.168.2.1:5799
icmp 192.168.1.1:5800 10.1.1.2:5800 192.168.2.1:5800 192.168.2.1:5800
icmp 192.168.1.1:5801 10.1.1.2:5801 192.168.2.1:5801 192.168.2.1:5801
icmp 192.168.1.1:5802 10.1.1.2:5802 192.168.2.1:5802 192.168.2.1:5802
icmp 192.168.1.1:4061 10.1.1.1:4061 192.168.2.1:4061 192.168.2.1:4061
icmp 192.168.1.1:4062 10.1.1.1:4062 192.168.2.1:4062 192.168.2.1:4062
icmp 192.168.1.1:4063 10.1.1.1:4063 192.168.2.1:4063 192.168.2.1:4063
icmp 192.168.1.1:4064 10.1.1.1:4064 192.168.2.1:4064 192.168.2.1:4064
icmp 192.168.1.1:4065 10.1.1.1:4065 192.168.2.1:4065 192.168.2.1:4065


10.0.0.1(青字)10.1.1.2(緑字)が,すべて192.168.1.1(赤字)に変換されています。
変換後の通信は「192.168.1.1:ポート番号」という形で記録しておいて,個々の通信をポート番号で区別できるようにしています。
この例では同時に通信しているのが10.1.1.1と10.1.1.2だけですが,どのアドレスから通信があっても192.168.1.1の1個のアドレスを使います。
グレイト!

この例では,アドレス変換に使う192.168.1.1というアドレスをプールしましたが,インタフェースに割り当てたアドレスを使うこともできます。
実際は,こっちの方が一般的かもしれません。
コマンドは,以下になります。

RouterA(config)#ip nat inside source list 1 interface Serial 0 overload

すると,送信元アドレスは,すべてSerial0に割り当てた192.168.1.4に変換されます。
そうなるか見てみましょう。
上のコマンドを入力した後に,再び10.1.1.1から192.168.2.1にpingを打ちます。
(その前に,no ip nat inside source list 1 pool globalpool overloadと入力して,前に入れたコマンドを消すことを忘れずに。)
pingを打った後に,NATテーブルを見てみます。

RouterA#show ip nat translations
Pro  Inside global    Inside local   Outside local   Outside global
icmp 192.168.1.4:2196 10.1.1.1:2196 192.168.2.1:2196 192.168.2.1:2196
icmp 192.168.1.4:2197 10.1.1.1:2197 192.168.2.1:2197 192.168.2.1:2197
icmp 192.168.1.4:2198 10.1.1.1:2198 192.168.2.1:2198 192.168.2.1:2198
icmp 192.168.1.4:2199 10.1.1.1:2199 192.168.2.1:2199 192.168.2.1:2199
icmp 192.168.1.4:2200 10.1.1.1:2200 192.168.2.1:2200 192.168.2.1:2200

10.1.1.1のアドレスが,192.168.1.4(Serial0のアドレス)に変換されたことがわかります。
この方法だとわざわざアドレスをプールしなくてよいので,この方が楽ですね。


NATラボ
スタティックNAT
ダイナミックNAT
PAT(IPマスカレード)
重複アドレスの変換
あて先アドレスの分散変換