| 確認 |
アドレス変換といえばこいつ,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のアドレス)に変換されたことがわかります。
この方法だとわざわざアドレスをプールしなくてよいので,この方が楽ですね。
|
|