LoginSignup
2
2

More than 5 years have passed since last update.

Ciscoルータ PAT(NAT NAPT)環境でのNTPのポート変換について

Posted at

概要

CiscoルータでのPAT(NAT)環境で配下のPCからNTPを使おうとしたらハマったのでそのメモです。
PAT(NAT NAPT)環境でのポート変換でなぜかウェルノウンポートにして外に通信してしまう事象が発生しました。

NTPに限らずこの仕様で動くようなので気をつけておかないといけません。

構成

NTPサーバ(NICTやmfeedなど) ――― インターネット ――― Ciscoルーター ――― クライアント(PCなど)複数台

  • NTPサーバのIP : 1.1.1.1(仮)
  • GlobalIP(NAT後のIP) : 2.2.2.2(仮)
  • クライアントのIP : 10.0.0.1-100

グローバルIPは1つしかないのでクライアントからNTPサーバ宛のアクセスは全てマスカレードしています。

普通のPAT(NAPT)の挙動

show ip nat translationsで確認

Inside global Inside local 備考
1.1.1.1:47289 10.0.0.1:47289 ポートが空いていれば内部ローカルと同じポート番号で外に出ていく
1.1.1.1:47290 10.0.0.2:47289 ポートが埋まっている場合は別のポート番号(ウェルノウンポート以外)で出ていく

NTPアクセス時の挙動

show ip nat translationsで確認

Inside global Inside local 備考
1.1.1.1:123 10.0.0.1:123 ポートが空いていれば内部ローカルと同じポート番号で外に出ていく
1.1.1.1:20 10.0.0.2:123 ポートが埋まっている場合は別のポート番号(ウェルノウンポート)で出ていってしまう

※IPは例えです。

問題点

クライアントの送信元ポートが123(NTP)の場合なぜかウェルノウンポートに変換されます。

この123以外のウェルノウンポートを使って出ていくのが結構やっかいで、NTPサーバによっては時間を取得させてくれません。
今回の例で20番ポートに変換されてしまったクライアントは123番ポートが空くまでひたすらエラーを繰り返しました。

結論

Ciscoルータの動作仕様だそうです。

これの対策はstatic natを使用するしかないとのことできちんとした対処ができません。

詳細はCisco社のFAQを参照ください。
Network Address Translation(NAT; ネットワーク アドレス変換)に関する FAQ

ワークアラウンド

NATテーブルの保持時間がデフォルトで10分(6000秒)なので、これを10秒など極端に短くすることでクライアント同士のNTP取得タイミングがかぶる確率を減らすくらいしかなさそうです。

まとめ

NTPなどSource Portがウェルノウンポートになる可能性が高い通信はこの仕様を理解した上で設計しないとトラブります。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2