FirewallでTracerouteのUDPポート番号を穴空け

Tracerouteと言えばWindowsではICMPであるが、
Linuxのデフォルトやネットワーク機器はUDPであることが多い。
なので、Cisco機器からTracerouteを打っても
ファイアウォールで弾かれることが多かった。

UDPのTracerouteを簡単に通す方法はないのかと調べていたら、
どうやら使用するUDPのポートはある程度決まっているらしい。

そのポートの範囲をファイアウォールで空けてあげれば
Tracerouteも拒否せず通せるというもの。

忘れないうちにメモしておく。


TracerouteのUDPポートを穴空け


TracerouteのWikipediaによると下記のように書かれている。

On Unix-like operating systems, traceroute employs User Datagram Protocol (UDP) datagrams by default, with destination port numbers ranging from 33434 to 33534.

※なぜか日本語のWikipediaには載っていなかった。

要するに、UNIXライクなOSが使用するTracerouteであれば
デフォルトでUDPのポート番号33434から33534の範囲で使用するらしい。

開始番号33434から100ポート分ということであるが、
Tracerouteが1回につき3発打つので、MAX30ホップで90ポート使用か。
細かいところは不明だが、100ポートあればだいたい事足りそうだ。

該当ポート番号を穴空けしてみたところ、確かにTracerouteが通るようになった。
ただ、すべての機器で試してわけではないので、これですべてがOKとは言えないが・・・。
少なくともLinuxはOKだったので、UNIXライクであれば大丈夫そうな感じはするな。

ファイアウォールでデフォルトで用意されているTracerouteのオブジェクトも
指定しても通らなかったりもするので、念の為覚えておいたほうが無難かも?

以上。



Palo Alto Networks 構築実践ガイド
次世代ファイアウォールの機能を徹底活用


この記事へのコメント