| 確認 |
変換するIPアドレスを手動で対応付ける「静的アドレス変換」に対して,変換するIPアドレスをルーターが自動的に対応付けてくれる「ダイナミック変換」があります
変換用にプールしたIPアドレスの中から,利用中でないものを自動的に使ってくれます。
今回は,変換用に192.168.1.1〜3の3個のアドレスをプールしました。
変換対象となるアドレスは10.1.1.1〜3で,これは,RouterAのEthernet0に作ったセカンダリ・アドレスを使います。
こうやってセカンダリ・アドレスを使うと,パソコンを何台も用意しなくてもいいので便利です。
また,今回はアドレス変換の対象となるアドレスを,
access-list 1 permit 10.1.1.1
access-list 1 permit 10.1.1.2
access-list 1 permit 10.1.1.3
と指定しましたが,これは,ワイルドカード・マスクを使って
access-list 1 permit 10.1.1.0 0.0.0.255
とやってもできます。
では,ダイナミックNATの検証を始めましょう。
RouterAでNATのデバックをオンにします。
RouterA#debug ip nat
IP NAT debugging is on
オンになりました。
ここで,送信元のIPアドレスを指定してpingを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/16/16 ms
これでpingが送信されました。
すると,NATのデバッグがオンになっているので,以下のような表示が出ます。
00:25:57: NAT: s=10.1.1.1->192.168.1.1, d=192.168.2.1 [25]
00:25:57: NAT*: s=192.168.2.1, d=192.168.1.1->10.1.1.1
[608]
00:25:57: NAT: s=10.1.1.1->192.168.1.1, d=192.168.2.1 [26]
00:25:57: NAT*: s=192.168.2.1, d=192.168.1.1->10.1.1.1
[609]
00:25:57: NAT: s=10.1.1.1->192.168.1.1, d=192.168.2.1 [27]
00:25:58: NAT*: s=192.168.2.1, d=192.168.1.1->10.1.1.1
[610]
00:25:58: NAT: s=10.1.1.1->192.168.1.1, d=192.168.2.1 [28]
00:25:58: NAT*: s=192.168.2.1, d=192.168.1.1->10.1.1.1
[611]
00:25:58: NAT: s=10.1.1.1->192.168.1.1, d=192.168.2.1 [29]
00:25:58: NAT*: s=192.168.2.1, d=192.168.1.1->10.1.1.1
[612]
pingの送受信を5回ずつやっています。
送信元アドレス(S=x.x.x.xの部分)が,10.1.1.1から192.168.1.1に変換されているのがわかります。
同じように,10.1.1.2と10.1.1.3を送信元にして,192.168.2.1にpingを送信してみます。
10.1.1.2から送信すると,
00:27:03: NAT: s=10.1.1.2->192.168.1.2, d=192.168.2.1 [30]
00:27:03: NAT*: s=192.168.2.1, d=192.168.1.2->10.1.1.2
[613]
と表示されます。
送信元アドレスが,10.1.1.2から192.168.1.2に変換されました。
10.1.1.3から送信すると,
00:27:52: NAT: s=10.1.1.3->192.168.1.3, d=192.168.2.1 [35]
00:27:52: NAT*: s=192.168.2.1, d=192.168.1.3->10.1.1.3
[619]
と表示されます。
送信元アドレスが,10.1.1.3から192.168.1.3に変換されました。
ここで,RouterAのNATテーブルを見てみましょう。
RouterA#show ip nat translations
Pro Inside global Inside local Outside local
Outside global
--- 192.168.1.1 10.1.1.1 --- ---
--- 192.168.1.2 10.1.1.2 ---
---
--- 192.168.1.3 10.1.1.3 ---
---
10.1.1.1が192.168.1.1に,10.1.1.2が192.168.1.2に,10.1.1.3が192.168.1.3に対応付けられているのがわかります。
show ip nat translationsコマンドにverboseオプションをつけると,エントリの作成時間,経過時間,消去までの残り時間などがわかります。
RouterA#show ip nat translations verbose
Pro Inside global Inside local Outside local
Outside global
--- 192.168.1.1 10.1.1.1 ---
---
create 00:01:41, use 00:01:41, left 23:58:18,
flags:
none, use_count: 0
--- 192.168.1.2 10.1.1.2 ---
---
create 00:01:17, use 00:01:17, left 23:58:42,
flags:
none, use_count: 0
--- 192.168.1.3 10.1.1.3 ---
---
create 00:00:06, use 00:00:06, left 23:59:53,
flags:
none, use_count: 0
left(赤字の部分)がエントリが消えるまでの時間です。
ダイナミックNATでは,デフォルトでエントリの保持時間が24時間と,とても長くなっています。
エントリが消えるまでの時間を1分(60秒)に変更するには,
RouterA(config)#ip nat translation timeout 60
と入力します。
NATテーブルのエントリを消去するには,以下のコマンドを入力します。
RouterA#clear ip nat translation *
再び10.1.1.1から192.168.2.1へpingを送信した後に,NATテーブルを見てみましょう。
RouterA#show ip nat translations verbose
Pro Inside global Inside local Outside local
Outside global
--- 192.168.1.1 10.1.1.1 ---
---
create 00:00:08, use 00:00:08, left 00:00:51,
flags:
none, use_count: 0
このエントリは,残り51秒で消去されると表示されました。
LAN上にユーザーが多いときは,この方がプールした3個のアドレスを有効に使い回せるので,よさそうです。
|
|