スタティック NAT が内部ネットワークのホスト (Web サーバーや Mail サーバー) をインターネットに公開させる (インターネット上のホストからアクセスさせる) ために使われるのに対して、ダイナミック NAT や PAT は内部ネットワークのホスト (PC) がインターネット上にあるホスト (Web サーバーや Mail サーバー) にアクセスするために使われます。
NAT ルータで、予め以下のグローバルアドレスをプール (登録) しておき、社内 PC がインターネットにアクセスする時に、プールしているグローバルアドレスに変換します。
PC-A から Web サーバー宛のパケットの送信元IPアドレスは、192.168.1.10 から 200.10.10.9 に変換されて、Web サーバーに届きます。この時、NAT ルータではこの変換を NAT テーブルに一時記憶します。
Web サーバーが 200.10.10.9 宛にパケットを返すと、NAT ルータは NAT テーブルの情報を基に、パケットの宛先IPアドレスを 192.168.1.10 に変換して社内 LAN にパケットを送出します。
同様に、PC-B から Web サーバー宛のパケットは、NAT ルータで送信元IPアドレスを 192.168.1.11 から 200.10.10.10 に変換して、インターネットに向けてパケットを送出します。
次に PC-C が Web サーバーにアクセスしようとした時に、NAT ルータにパケットを送りますが、NAT ルータにプールしている2つのグローバルアドレスは PC-A と PC-B が使用中のため、PC-C からのパケットの送信元IPアドレスはグローバルアドレスに変換されず、インターネット上の Web サーバーとは通信することができません。
しかしもし、PC-A が Web サーバーとの通信を完了していれば (一時記憶している NAT テーブルから消えていれば)、PC-C から Web サーバー宛のパケットは、NAT ルータで送信元IPアドレスを 192.168.1.12 から 200.10.10.9 に変換して、インターネットに向けてパケットを送出します。
このようにダイナミック NAT では、プールしているグローバルアドレスを社内 PC で共用して使用します。しかし、プールしているグローバルアドレスの数だけしかインターネットと同時通信することができません。
- RT-A をネットワーク構成図に示す通り設定し、RT-B へのデフォルトルートを構成しなさい。
< RT-A >
Router# conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# host RT-A
RT-A(config)# int f0/0
RT-A(config-if)# ip add 192.168.1.1 255.255.255.0
RT-A(config-if)# no shut
RT-A(config-if)# int f0/1
RT-A(config-if)# ip add 10.10.10.1 255.255.255.0
RT-A(config-if)# no shut
RT-A(config-if)# ip route 0.0.0.0 0.0.0.0 10.10.10.2
RT-A(config)# ^Z
RT-A#
デフォルトルートは、RT-A がローカルネットワークから受信したパケットをインターネット側へ転送するために設定します。
- RT-B をネットワーク構成図に示す通り設定し、200.10.10.8/29 のネットワークへ行くためのスタティックルートを構成しなさい。
< RT-B >
Router# conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# host RT-B
RT-B(config)# int f0/0
RT-B(config-if)# ip add 10.10.10.2 255.255.255.0
RT-B(config-if)# no shut
RT-B(config-if)# int f0/1
RT-B(config-if)# ip add 161.14.1.2 255.255.255.0
RT-B(config-if)# no shut
RT-B(config-if)# ip route 200.10.10.8 255.255.255.248 10.10.10.1
RT-B(config)# ^Z
RT-B#
200.10.10.8/29 は ISP から割り当てられたグローバルアドレスで、この中の 200.10.10.9 と 200.10.10.10 をダイナミック NAT で使用します。インターネット側の ISP ルータ (RT-B) は、固定でIPアドレスを割り当てた顧客向けには通常スタティックルートで設定します。
- 次の情報を基に RT-A でダイナミック NAT を設定しなさい。
< RT-A >
RT-A(config)# access-list 1 permit 192.168.1.0 0.0.0.255 ← NAT 変換するアドレス範囲をアクセスリストにて設定
RT-A(config)# ip nat pool INET 200.10.10.9 200.10.10.10 netmask 255.255.255.248 ← ダイナミック NAT の設定
RT-A(config)# ip nat inside source list 1 pool INET ← ダイナミック NAT の設定
RT-A(config)# int f0/0
RT-A(config-if)# ip nat inside ← F0/0 側を内部ネットワークに指定
RT-A(config-if)# int f0/1
RT-A(config-if)# ip nat outside ← F0/1 側を外部ネットワークに指定
RT-A(config-if)# ^Z
RT-A#
[ダイナミック NAT の設定手順]
- ダイナミック NAT で使用する内部グローバルアドレスの範囲を指定しプール名 (任意) で登録
ip nat pool [プール名] [開始IPアドレス] [終了IPアドレス] netmask [サブネットマスク]
または
ip nat pool [プール名] [開始IPアドレス] [終了IPアドレス] prefix-length [プレフィックス長]
ここで指定したグローバルアドレスだけがダイナミック NAT で使用される
- 内部グローバルアドレスへの変換を許可する内部ローカルアドレスを指定するためのアクセスリストの設定
access-list [アクセスリスト番号] permit [送信元IPアドレス] [ワイルドカードマスク]
ここで指定したローカルアドレスだけがグローバルアドレスに変換してインターネットに接続できる
- ダイナミック NAT による変換で使用するアクセスリストとプールを指定
ip nat inside source list [アクセスリスト番号] pool [プール名]
- 内部ネットワークの指定
ip nat inside
- 外部ネットワークの指定
ip nat outside
- RT-A で、sh ip nat translations コマンドを実行しなさい。
< RT-A >
RT-A# sh ip nat translations
RT-A#
ダイナミック NAT の場合は、実際にパケットを受信し、アドレス変換が行われるまでエントリはリストされません。
- PC-A、PC-B、PC-C、Web サーバーをネットワーク構成図に示す通り設定しなさい。
< PC-A >
C:\> netsh interface ipv4 set address "イーサネット" static 192.168.1.10 255.255.255.0 192.168.1.1
C:\> ipconfig
Windows IP 構成
イーサネット アダプター ローカル エリア接続:
接続固有の DNS サフィックス . . . . .:
IPv4 アドレス . . . . . . . . . . . .: 192.168.1.10
サブネット マスク . . . . . . . . . .: 255.255.255.0
デフォルト ゲートウェイ . . . . . . .: 192.168.1.1
C:\>
< PC-B >
C:\> netsh interface ipv4 set address "イーサネット" static 192.168.1.11 255.255.255.0 192.168.1.1
C:\> ipconfig
Windows IP 構成
イーサネット アダプター ローカル エリア接続:
接続固有の DNS サフィックス . . . . .:
IPv4 アドレス . . . . . . . . . . . .: 192.168.1.11
サブネット マスク . . . . . . . . . .: 255.255.255.0
デフォルト ゲートウェイ . . . . . . .: 192.168.1.1
C:\>
< PC-C >
C:\> netsh interface ipv4 set address "イーサネット" static 192.168.1.12 255.255.255.0 192.168.1.1
C:\> ipconfig
Windows IP 構成
イーサネット アダプター ローカル エリア接続:
接続固有の DNS サフィックス . . . . .:
IPv4 アドレス . . . . . . . . . . . .: 192.168.1.12
サブネット マスク . . . . . . . . . .: 255.255.255.0
デフォルト ゲートウェイ . . . . . . .: 192.168.1.1
C:\>
< Web サーバー >
C:\> netsh interface ipv4 set address "イーサネット" static 161.14.1.10 255.255.255.0 161.14.1.2
C:\> ipconfig
Windows IP 構成
イーサネット アダプター ローカル エリア接続:
接続固有の DNS サフィックス . . . . .:
IPv4 アドレス . . . . . . . . . . . .: 161.14.1.10
サブネット マスク . . . . . . . . . .: 255.255.255.0
デフォルト ゲートウェイ . . . . . . .: 161.14.1.2
C:\>
- RT-A で、debug ip nat コマンドを実行しなさい。
< RT-A >
RT-A# debug ip nat
IP NAT debugging is on
RT-A#
debug コマンドで、NAT 変換の動作を確認することができます。
- PC-A からインターネット上の Web サーバーへ ping を実行しなさい。
< PC-A >
C:\> ping 161.14.1.10 ← Web サーバーのIPアドレス
161.14.1.10 に ping を送信しています 32 バイトのデータ:
161.14.1.10 からの応答: バイト数 =32 時間 =5ms TTL=126
161.14.1.10 からの応答: バイト数 =32 時間 =2ms TTL=126
161.14.1.10 からの応答: バイト数 =32 時間 =2ms TTL=126
161.14.1.10 からの応答: バイト数 =32 時間 =2ms TTL=126
161.14.1.10 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 2ms、最大 = 5ms、平均 = 2ms
C:\>
- RT-A で、debug の結果を確認しなさい。(自動で表示されます)
< RT-A >
RT-A#
*Nov 25 00:48:55.723: NAT*: s=192.168.1.10->200.10.10.9, d=161.14.1.10 [5595] ← エコー要求
*Nov 25 00:48:55.723: NAT*: s=161.14.1.10, d=200.10.10.9->192.168.1.10 [18850] ← エコー応答
PC-A からのエコー要求パケットの送信元IPアドレスは、RT-A で、192.168.1.10 からダイナミック NAT でプールされているグローバルアドレスの中で一番小さな値の 200.10.10.9 に変更されて、Web サーバーに届きます。Web サーバーからのエコー応答パケットの宛先IPアドレスは、RT-A で、200.10.10.9 から 192.168.1.10 に変更されて、PC-A に届きます。
- RT-A で、sh ip nat translations コマンドを実行しなさい。
< RT-A >
RT-A# sh ip nat translations
Pro Inside global Inside local Outside local Outside global
icmp 200.10.10.9:1 192.168.1.10:1 161.14.1.10:1 161.14.1.10:1
--- 200.10.10.9 192.168.1.10 --- ---
RT-A#
ダイナミックNATではパケットを受け取って、アドレス変換が行われた時に、そのアドレス変換を行ったエントリが追加されます。このエントリはデフォルトで 24 時間、NAT テーブルから消えることはありません。
--- 200.10.10.9 192.168.1.10 --- ---
ping 実行による以下のエントリは、60 秒後に NAT テーブルから消えます。
(IOS のバージョンによって表示されない場合あり)
icmp 200.10.10.9:1 192.168.1.10:1 161.14.1.10:1 161.14.1.10:1
- PC-B からインターネット上の Web サーバーへ ping を実行しなさい。
< PC-B >
C:\> ping 161.14.1.10 ← Web サーバーのIPアドレス
161.14.1.10 に ping を送信しています 32 バイトのデータ:
161.14.1.10 からの応答: バイト数 =32 時間 =5ms TTL=126
161.14.1.10 からの応答: バイト数 =32 時間 =2ms TTL=126
161.14.1.10 からの応答: バイト数 =32 時間 =2ms TTL=126
161.14.1.10 からの応答: バイト数 =32 時間 =2ms TTL=126
161.14.1.10 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 2ms、最大 = 5ms、平均 = 2ms
C:\>
- RT-A で、debug の結果を確認しなさい。(自動で表示されます)
< RT-A >
RT-A#
*Nov 25 00:52:38.335: NAT*: s=192.168.1.11->200.10.10.10, d=161.14.1.10 [27225] ← エコー要求
*Nov 25 00:52:38.339: NAT*: s=161.14.1.10, d=200.10.10.10->192.168.1.11 [13045] ← エコー応答
PC-B からのエコー要求パケットの送信元IPアドレスは、RT-A で、192.168.1.11 から 200.10.10.10 に変更 (200.10.10.9 は使用中なので次のアドレスを使用する) されて、Web サーバーに届きます。Web サーバーからのエコー応答パケットの宛先IPアドレスは、RT-A で、200.10.10.10 から 192.168.1.11 に変更されて、PC-B に届きます。
- RT-A で、sh ip nat translations コマンドを実行しなさい。
< RT-A >
RT-A# sh ip nat translations
Pro Inside global Inside local Outside local Outside global
icmp 200.10.10.9:1 192.168.1.10:1 161.14.1.10:1 161.14.1.10:1
--- 200.10.10.9 192.168.1.10 --- ---
icmp 200.10.10.10:1 192.168.1.11:1 161.14.1.10:1 161.14.1.10:1
--- 200.10.10.10 192.168.1.11 ---
RT-A#
200.10.10.10 と192.168.1.11 のアドレス変換エントリが追加されています。
icmp 200.10.10.9:1 … の方は既に消えている場合があります。(60 秒でリストから消滅)
- PC-A で telnet クライアントが使用できるようにしなさい。
Windows 8.1 の場合
[スタート] ボタンを右クリック → [コントロールパネル] → [プログラム] → [Windows の機能の有効化または無効化] の順にクリックし、[Windows の機能] ダイアログボックスで、[Telnet クライアント] のチェックボックスをオンにする。
- PC-A から Web サーバー宛てに telnet を実行しなさい。
< PC-C >
C:\> telnet 161.14.1.10
接続中: 161.14.1.10...ホストへ接続できませんでした。 ポート番号 23: 接続に失敗しました
C:\>
Web サーバーでは、Telnet サーバーは起動していませんので接続は失敗しますが、接続を試みたことによるアドレス変換は行われています。 (ただし、60 秒以上経ってリストから消えている場合あり)
- RT-A で、sh ip nat translations コマンドを実行しなさい。
< RT-A >
RT-A# sh ip nat translations
Pro Inside global Inside local Outside local Outside global
tcp 200.10.10.9:49159 192.168.1.10:49159 161.14.1.10:23 161.14.1.10:23
--- 200.10.10.9 192.168.1.10 --- ---
--- 200.10.10.10 192.168.1.11 --- ---
RT-A#
icmp が出力結果に残っている場合もあり。
PC-A (192.168.1.10) は、ping の時と同じグローバルアドレス (200.10.10.9) にアドレス変換を行っています。
次の変換エントリが NAT テーブルに残っている間 (デフォルトで 24 時間) は、相互にこの変換を行います。
--- 200.10.10.9 192.168.1.10 --- ---
ポート番号 49159 は、telnet クライアント側の機器 (PC-A) が勝手に決めた番号です。
- PC-C からインターネット上の Web サーバーへ ping を実行しなさい。
< PC-C >
C:\> ping 161.14.1.10 ← Web サーバーのIPアドレス
161.14.1.10 に ping を送信しています 32 バイトのデータ:
192.168.1.1 からの応答: 宛先ホストに到達できません。
192.168.1.1 からの応答: 宛先ホストに到達できません。
192.168.1.1 からの応答: 宛先ホストに到達できません。
192.168.1.1 からの応答: 宛先ホストに到達できません。
161.14.1.10 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
C:\>
ping が失敗しました。
- RT-A で、debug の結果を確認しなさい。(自動で表示されます)
< RT-A >
RT-A#
*Nov 25 02:01:16.375: NAT: translation failed (A), dropping packet s=192.168.1.12 d=161.14.1.10
*Nov 25 02:01:17.399: NAT: translation failed (A), dropping packet s=192.168.1.12 d=161.14.1.10
「translation failed」になっており、「dropping packet」のとおり、パケットは捨てられています。
- 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#
NAT テーブルに、ダイナミック NAT によるアドレス変換したエントリがリストされています。
このエントリはデフォルトで NAT テーブルから 24 時間消えることがなく、このエントリが NAT テーブルにある間は、これらのアドレス間でのみアドレス変換が行われます。
つまり、以下のエントリにより、グローバルアドレス 200.10.10.9 は、ローカルアドレス 192.168.1.10 とのみアドレス変換を行います。
--- 200.10.10.9 192.168.1.10 --- ---
以下のエントリにより、グローバルアドレス 200.10.10.10 は、ローカルアドレス 192.168.1.11 とのみアドレス変換を行います。
--- 200.10.10.10 192.168.1.3 --- ---
そして、ダイナミック NAT で使えるグローバルアドレス (プールしているグローバルアドレス) は、200.10.10.9 と 200.10.10.10 のみであるため、空いている (他のローカルアドレスとアドレス変換可能な) グローバルアドレスがありません。そのため PC-C からの ping に失敗したのです。
- RT-A で、clear ip nat translation * を実行後、sh ip nat translations を実行しなさい。
< RT-A >
RT-A# clear ip nat translation *
RT-A# sh ip nat translations
RT-A#
clear ip nat translation * コマンドは、NAT テーブルに動的に作られたエントリを削除します。
- PC-C からインターネット上の Web サーバーへ ping を実行しなさい。
< PC-C >
C:\> ping 161.14.1.10 ← Web サーバーのIPアドレス
161.14.1.10 に ping を送信しています 32 バイトのデータ:
161.14.1.10 からの応答: バイト数 =32 時間 =4ms TTL=126
161.14.1.10 からの応答: バイト数 =32 時間 =2ms TTL=126
161.14.1.10 からの応答: バイト数 =32 時間 =2ms TTL=126
161.14.1.10 からの応答: バイト数 =32 時間 =3ms TTL=126
161.14.1.10 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 2ms、最大 = 4ms、平均 = 2ms
C:\>
ping は成功しました。
- RT-A で、sh ip nat translations を実行しなさい。
< RT-A >
RT-A# sh ip nat translations
Pro Inside global Inside local Outside local Outside global
icmp 200.10.10.9:1 192.168.1.12:1 161.14.1.10:1 161.14.1.10:1
--- 200.10.10.9 192.168.1.12 --- ---
RT-A#
NAT テーブルが消去されたので、ダイナミック NAT でプールされているグローバルアドレスが使えるようになりました。
- PC-A からインターネット上の Web サーバーへ ping を実行しなさい。
< PC-A >
C:\> ping 161.14.1.10 ← Web サーバーのIPアドレス
161.14.1.10 に ping を送信しています 32 バイトのデータ:
161.14.1.10 からの応答: バイト数 =32 時間 =5ms TTL=126
161.14.1.10 からの応答: バイト数 =32 時間 =2ms TTL=126
161.14.1.10 からの応答: バイト数 =32 時間 =2ms TTL=126
161.14.1.10 からの応答: バイト数 =32 時間 =2ms TTL=126
161.14.1.10 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 2ms、最大 = 5ms、平均 = 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
icmp 200.10.10.10:1 192.168.1.10:1 161.14.1.10:1 161.14.1.10:1
--- 200.10.10.10 192.168.1.10 --- ---
icmp 200.10.10.9:1 192.168.1.12:1 161.14.1.10:1 161.14.1.10:1
--- 200.10.10.9 192.168.1.12 --- ---
RT-A#
前回、ローカルアドレス 192.168.1.10 は、グローバルアドレス 200.10.10.9 とアドレス変換を行っていましたが、今回は 200.10.10.10 とアドレス変換を行っています。スタティック NAT では、変換するローカルアドレスとグローバルアドレスが必ず一致するのに対して、ダイナミック NAT ではこのようにパケットの受信時によって変わってきます。
ただし、このままでは PC-B は、PC-A または PC-C がインターネットに接続しなくなって、24 時間経たないとインターネットを利用することができません。内部ローカルアドレスと同じだけの数の内部グローバルアドレスがあればこのままでもいいのですが、通常、内部グローバルアドレスは内部ローカルアドレスの数よりずっと少ない数しかありません。そのため、少ない数の内部グローバルアドレスを内部ローカルアドレスで共有する必要があります。
- RT-A のグローバルコンフィグレーションモードで、ip nat translation timeout 60 を実行しなさい。
< RT-A >
RT-A# conf t
Enter configuration commands, one per line. End with CNTL/Z.
RT-A(config)# ip nat translation timeout 60
RT-A(config)# ^Z
RT-A#
このコマンドは、NAT テーブルに動的に作成されたエントリの保持時間をデフォルトの 24 時間から 60 秒 (1分) に変更するコマンドです。時間を 60 秒以下にすることもできますが、使用するプロトコル毎に異なるタイムアウト値を持っていますので、60 秒以下に設定しても意味がありません。もしするのであれば、プロトコル毎のタイムアウト値も変更する必要があります。 (古い IOS では、ダイナミック NAT でプロトコル毎のタイムアウト値は効果がありませんでした。)
プロトコル | デフォルト値 | 設定コマンド |
tcp | 24時間 | ip nat translation tcp-timeout [秒] |
tcp (fin/rst) | 1分 | ip nat translation finrst-timeout [秒] |
udp | 5分 | ip nat translation udp-timeout [秒] |
icmp | 1分 | ip nat translation icmp-timeout [秒] |
このプロトコル毎のタイムアウト値は PAT でも使用します。
- RT-A で、clear ip nat translation * を実行後、sh ip nat translations を実行しなさい。
< RT-A >
RT-A# clear ip nat translation *
RT-A# sh ip nat translations
RT-A#
- PC-A からインターネット上の Web サーバーへ ping を実行しなさい。
< PC-A >
C:\> ping 161.14.1.10 ← Web サーバーのIPアドレス
161.14.1.10 に ping を送信しています 32 バイトのデータ:
161.14.1.10 からの応答: バイト数 =32 時間 =5ms TTL=126
161.14.1.10 からの応答: バイト数 =32 時間 =2ms TTL=126
161.14.1.10 からの応答: バイト数 =32 時間 =2ms TTL=126
161.14.1.10 からの応答: バイト数 =32 時間 =2ms TTL=126
161.14.1.10 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 2ms、最大 = 5ms、平均 = 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
icmp 200.10.10.9:1 192.168.1.10:1 161.14.1.10:1 161.14.1.10:1
--- 200.10.10.9 192.168.1.10 --- ---
RT-A#
192.168.1.10 <-> 200.10.10.9 のアドレス変換を行っています。
- 60 秒後、再度 RT-A で、sh ip nat translations を実行しなさい。
< RT-A >
RT-A# sh ip nat translations
RT-A#
変換エントリが全て消えています。
debug ip nat を実行したままであれば、以下のような debug メッセージが表示されますので、このメッセージが表示されてから show ip nat translations コマンドを実行してみてください。
*Nov 25 02:12:09.991: NAT: expiring 200.10.10.9 (192.168.1.10)
*Nov 25 02:12:13.099: NAT: expiring 200.10.10.9 (192.168.1.10) icmp 1 (1)
- PC-C からインターネット上の Web サーバーへ ping を実行しなさい。
< PC-C >
C:\> ping 161.14.1.10 ← Web サーバーのIPアドレス
161.14.1.10 に ping を送信しています 32 バイトのデータ:
161.14.1.10 からの応答: バイト数 =32 時間 =5ms TTL=126
161.14.1.10 からの応答: バイト数 =32 時間 =2ms TTL=126
161.14.1.10 からの応答: バイト数 =32 時間 =2ms TTL=126
161.14.1.10 からの応答: バイト数 =32 時間 =2ms TTL=126
161.14.1.10 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 2ms、最大 = 5ms、平均 = 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
icmp 200.10.10.9:1 192.168.1.12:1 161.14.1.10:1 161.14.1.10:1
--- 200.10.10.9 192.168.1.12 --- ---
RT-A#
192.168.1.12 <-> 200.10.10.9 のアドレス変換を行っています。
PC-A が使ったのと同じグローバルアドレス 200.10.10.9 を使っています。
このように timeout の時間を短くすれば、ダイナミック NAT で少数のグローバルアドレスを共用して、複数の内部ネットワークの PC がインターネットへアクセスできるようになります。ただし、timeout の時間を短くしすぎると問題も発生しますので注意が必要です。