ダイナミック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」と通信できません。