想定するネットワーク構成図
ISP から 200.10.10.8/29 のグローバルアドレスを与えられ、これを次のように使用するものとする。
- RT-A で、sh ip nat translations を実行後、clear ip nat translation * を実行しなさい。
< RT-A >
RT-A# sh ip nat translations
Pro Inside global Inside local Outside local Outside global
--- 200.10.10.9 192.168.1.10 --- --- ← スタティック NAT によるアドレス変換エントリ
--- 200.10.10.10 192.168.1.11 --- --- ← スタティック NAT によるアドレス変換エントリ
--- 200.10.10.11 192.168.1.128 --- --- ← ダイナミック NAT によるアドレス変換エントリ
RT-A# clear ip nat translation *
RT-A# sh ip nat translations
Pro Inside global Inside local Outside local Outside global
--- 200.10.10.9 192.168.1.10 --- ---
--- 200.10.10.10 192.168.1.11 --- ---
RT-A#
ダイナミック NAT によるアドレス変換エントリがあると、設定を PAT に変更できないため、NAT テーブルをクリアしておきます。
- RT-A の設定をダイナミック NAT から PAT に変更しなさい。
< RT-A >
RT-A# sh run | include ip nat inside source list
ip nat inside source list 1 pool INET
RT-A# conf t
Enter configuration commands, one per line. End with CNTL/Z.
RT-A(config)# ip nat inside source list 1 pool INET overload
RT-A(config)# ^Z
RT-A# sh run | include ip nat inside source list
ip nat inside source list 1 pool INET overload
RT-A#
設定は上書きされます。
- PC-A (192.168.1.128) から 161.14.1.10 へ ping を実行しなさい。
< PC-A >
C:\> ping -S 192.168.1.128 161.14.1.10 ← インターネット上の FTP サーバー
161.14.1.10 に ping を送信しています 192.168.1.128 から 32 バイトのデータ:
161.14.1.10 からの応答: バイト数 =32 時間 =3ms TTL=126
161.14.1.10 からの応答: バイト数 =32 時間 =2ms TTL=126
161.14.1.10 からの応答: バイト数 =32 時間 =3ms TTL=126
161.14.1.10 からの応答: バイト数 =32 時間 =2ms TTL=126
161.14.1.10 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 2ms、最大 = 3ms、平均 = 2ms
C:\>
- RT-A で、sh ip nat translations コマンドを実行しなさい。
< RT-A >
RT-A# sh ip nat translations
Pro Inside global Inside local Outside local Outside global
--- 200.10.10.9 192.168.1.10 --- ---
--- 200.10.10.10 192.168.1.11 --- ---
icmp 200.10.10.11:1 192.168.1.128:1 161.14.1.10:1 161.14.1.10:1
RT-A#
ダイナミック NAT の時は、保持時間が 24 時間のアドレスだけを変換するエントリがありましたが PAT にはありません。
- 60 秒待って再度 RT-A で、sh ip nat translations コマンドを実行しなさい。
< RT-A >
RT-A# sh ip nat translations
Pro Inside global Inside local Outside local Outside global
--- 200.10.10.9 192.168.1.10 --- ---
--- 200.10.10.10 192.168.1.11 --- ---
RT-A#
PAT によるアドレス変換エントリが NAT テーブルから削除されました。
- PC-C (161.14.1.128) から 200.10.10.11 宛てに ping を実行しなさい。
< PC-C >
C:\> ping -S 161.14.1.128 200.10.10.11 ← PAT のアドレス
200.10.10.11 に ping を送信しています 161.14.1.128 から 32 バイトのデータ:
10.10.10.1 からの応答: 転送中に TTL が期限切れになりました。
10.10.10.1 からの応答: 転送中に TTL が期限切れになりました。
10.10.10.1 からの応答: 転送中に TTL が期限切れになりました。
10.10.10.1 からの応答: 転送中に TTL が期限切れになりました。
200.10.10.11 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
C:\>
NAT テーブルに 200.10.10.11 のアドレス変換エントリがないので、アドレス変換できず ping は失敗しました。
PAT では、NAT テーブルのアドレスだけでなくポート番号も知っていないと外部から内部へのアクセスはできませんし、使用済みの変換エントリが 24 時間も保持されることもないので、PAT の場合は外部から内部にアクセスされる可能性は極めて低くなります。