スタティックNAPT

この記事は約4分で読めます。

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宛に変換されていることが確認できる。

以上

コメント

タイトルとURLをコピーしました