IPアドレスとポート番号をセットで変換するNATの検証を行う。名称に違和感があるが、翔泳社のCCNP ENCOR白本によるとスタティックNAPTと呼ぶらしい。
構成
検証にはCisco CMLを使用。R1~R2は15.9(3)M4、PC1は5.10.3-tinycoreを使用。
コンフィグ
スタティックNAPTのポイント
スタティックNAPTのポイントは以下の部分。この1行で20.0.10.1:443宛の通信を10.0.10.1:80宛に宛先NATする。
R2(config)#ip nat inside source static tcp 10.0.10.1 80 20.0.10.1 443 extendable
R1ではHTTPサーバを起動しておく。
R1(config)#ip http server
動作確認
NATの動作確認はdebugするのが一番確実だが、本番環境ではdebugコマンドは使用できないため、show ip nat translationsとshow ip nat statisticsを使用するのが一般的と思われる。
■ debug ip natコマンドを実行し、PC1からR1宛にHTTPS通信を発生させた際のdebugログ
(TCPポート番号を変換してから、IPアドレスを変換していることがわかる)
000129: *May 7 2023 11:45:52.002 UTC: NAT*: TCP s=38682, d=443->80
000130: *May 7 2023 11:45:52.002 UTC: NAT*: s=10.0.20.1, d=20.0.10.1->10.0.10.1 [15355]
000131: *May 7 2023 11:45:52.005 UTC: NAT*: TCP s=80->443, d=38682
000132: *May 7 2023 11:45:52.005 UTC: NAT*: s=10.0.10.1->20.0.10.1, d=10.0.20.1 [62679]
R2#show ip nat translations
Pro Inside global Inside local Outside local Outside global
tcp 20.0.10.1:443 10.0.10.1:80 10.0.20.1:38682 10.0.20.1:38682
tcp 20.0.10.1:443 10.0.10.1:80 --- ---
# 1行目で10.0.20.1:38682⇒20.0.10.1:443宛の通信を10.0.10.1:80宛に宛先NATしている。
# 2行目はスタティックNATの設定を入れると必ず表示されるもの(NATの設定情報が表示される)。
R2#show ip nat statistics
Total active translations: 2 (1 static, 1 dynamic; 2 extended)
Peak translations: 2, occurred 00:00:15 ago
Outside interfaces:
GigabitEthernet0/0
Inside interfaces:
GigabitEthernet0/1
Hits: 4 Misses: 0 ⇒NATエントリに合致するトラフィックを発生させた際にHitsが上昇することを確認する。
CEF Translated packets: 4, CEF Punted packets: 0
Expired translations: 0
Dynamic mappings:
Total doors: 0
Appl doors: 0
Normal doors: 0
Queued Packets: 0
パケットキャプチャ
以下はR1・R2間のリンクでパケットキャプチャを実行したもの。PC1⇒R1宛のTCP/443宛の通信が、R2のスタティックNAPTにより、TCP/80宛に変換されていることが確認できる。
以上
コメント