ダイナミックNAT設定

ダイナミックNAT設定

今回はダイナミックNATの設定手順を紹介します。
ダイナミックNATは、グローバルIPアドレスを複数用意し、その中から任意に選んだひとつのグローバルIPアドレスとプライベートIPアドレスを1対1で対応させる、アドレス変換方式です。

ネットワーク構成図

まずは、RouterA、RouterBそれぞれのインターフェイスを設定します。

RouterA設定
RouterA(config)#interface fastEthernet 0
RouterA(config-if)#ip address 10.0.0.1 255.255.255.0
RouterA(config-if)#exit
RouterA(config)#interface ethernet 0
RouterA(config-if)#ip address 192.168.0.100 255.255.255.0
RouterA(config-if)#exit
RouterA(config)#ip route 0.0.0.0 0.0.0.0 10.0.0.100

RouterB設定
RouterB(config)#interface fastEthernet 0
RouterB(config-if)#ip address 10.0.0.100 255.255.255.0
RouterB(config-if)#exit
RouterB(config)#interface ethernet 0
RouterB(config-if)#ip address 20.0.0.100 255.255.255.0


ダイナミックNATを定義

ダイナミックNATの設定は、グローバルIPアドレスのプール(変換用のアドレスプール)作成と、アドレス変換の対象となるパケットを指定するためのアクセスリスト作成の2つの準備工程から始まります。

ip nat poolコマンド書式
(config)# ip nat pool [プール名] [開始IPアドレス] [終了IPアドレス] netmask [サブネットマスク]
標準アクセスリスト書式
(config)#access-list [番号(1~99)] [許可のステートメント(permit or deny)] [送信元IPアドレス] [ワイルドカードマスク]

以下から、ダイナミックNATの設定手順となります。


グローバルIPアドレスのプールを定義
RouterA(config)#ip nat pool dnatpool 10.0.0.1 10.0.0.3 netmask 255.255.255.0

アクセスリストの設定
RouterA(config)#access-list 10 permit 192.168.0.0 0.0.0.255

アクセスリストを変換用のアドレスプールにマッピング
RouterA(config)#ip nat inside source list 10 pool dnatpool

内部ローカルの設定

ルータのいずれかのインターフェイスを内部ローカル側として設定します。
上図ではethernet0インターフェイスを内部ローカル側として設定しています。

RouterA(config)#interface ethernet 0
RouterA(config-if)#ip nat inside

内部グローバルの設定

ルータのいずれかのインターフェイスを内部グローバル側として設定します。
上図ではfastethernet0インターフェイスを内部グローバル側として設定しています。

RouterA(config)#interface fastEthernet 0
RouterA(config-if)#ip nat outside


以上で、ダイナミックNATの設定は完了です。

では、アドレス変換が正常に行われているかどうか、「PC A」「PC B」「PC C」から「PC Z」に対してPingを投げて確かめてみます。

C:\Users\gran>ping 20.0.0.1 -t

20.0.0.1 に ping を送信しています 32 バイトのデータ:
20.0.0.1 からの応答: バイト数 =32 時間 =1ms TTL=255
20.0.0.1 からの応答: バイト数 =32 時間 =1ms TTL=255
20.0.0.1 からの応答: バイト数 =32 時間 <1ms TTL=255
20.0.0.1 からの応答: バイト数 =32 時間 <1ms TTL=255

3台ともPing応答を正常に受け取れます。
次に、「PC C」からPingを送った場合、送信先となっている「PC Z」にはどのようなパケットが届いているのか、パケットキャプチャソフトを使って確認します。

パケットキャプチャ画像

「PC C」から送信したrequestパケットの送信元IPアドレスが「10.0.0.3」になっています。

では、ルータのNATテーブルはどうなっているでしょう。
現在のNATテーブルはshow ip nat translationsコマンドで確認できます。

RouterA#show ip nat translations
Pro Inside global      Inside local       Outside local      Outside global
--- 10.0.0.1           192.168.0.1        ---                ---
--- 10.0.0.2           192.168.0.2        ---                ---
--- 10.0.0.3           192.168.0.3        ---                ---

「192.168.0.3」は「10.0.0.3」に変換されています。
それらのことから、正常にアドレス変換されていることがわかります。

ただし、今の状態だと内部グローバルアドレスが3つとも全て使用されてしまっており「PC D」に割り当てられるアドレスが残っていません。

つまり、外部と接続できるのは同時に3台までとなり、「PC D」はこの時点では「PC Z」と通信できません。

タグ