- ベストアンサー
tracerouteの実行結果に"*"が表示されるのは?
- 仮想環境のネットワークの接続が「NAT」であることが関係している
- 仮想マシン上のCentOS 5.5からtracerouteを実行すると、"*"で表示される
- パケットがルーターとの往復に要した時間などがホストOSで表示される
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
NATは、一方通行です。 traceroute(UDP)をNATで送っても、その返信を受け取ったNATルータは、NAT下のどのホストに戻していいのか、分からないので、データを破棄されます。 (http/ftpなどのTCPは、セッションが確保されているので、NAT経由でも行って戻ることができます) NAT下でtracetrouteしたいなら、NATで 静的NATでも行って 外部から戻ったtracerouteのUDPのポートを、tracerouteを実行するホストにIP転送(ポートフォワード)してやる必要があります。 (F/Wであるルータを、ルータ超えするイメージです)
その他の回答 (2)
- superside0
- ベストアンサー率64% (461/711)
通信は、途中の関所がすべて開通していて、データの往復が可能になります。 2段目のルータが、tracerouteのポートをブロックしているので それより上位のホストとのtracerouteの通信は、そこでブロックされるので 不通になります。 そのWindows7からは、試したホストとの全ての関所では、たまたまtracerouteが開いていたということになります。 (当然、途中の関所(ルータ)でブロックされている相手とはtracerouteできません)
お礼
superside0さん なるほど、tracerouteのポートをブロックしているルーターが途中にあるということなのですね。 仮想ネットワークをBridgeで構成した場合、tracerouteは問題なく実行できました。 状況から考えると、NATで構成した現在の仮想環境では、 tracetouteのポートをブロックするルーターか何かが、どこかに存在しているのでしょうね。 どうもありがとうございました。
- superside0
- ベストアンサー率64% (461/711)
2番目のルータがICMP Time Exceededに対応してないため、 tracerouteの返信をしてくれないからです。
お礼
superside0さん 回答ありがとうございます。 状況を補足させて頂きます。 ※ゲストOSのCentOSでtracerouteを実行した場合、どのインターネット上のホストを指定しても同じ状況です(*が表示される)。 ※同じインターネット上のホストを指定して、ホストOSのWindows 7でtracertコマンドを実行した場合は、途中のルーターの応答時間が表示されます。 ※CentOS専用PCを用意できないため、仮想環境でしか確かめられない状況です。 >2番目のルータがICMP Time Exceededに対応してないため、 >tracerouteの返信をしてくれないからです。 すみません、わかりませんでした。 同じホストに対して、Windowsから実行した場合は応答時間が表示されるのに、 CentOSからtracerouteを実行した場合は*が表示されてしまうのは何故なのでしょうか? また、CentOSから外部のホストを指定してtracerouteした場合、すべて"*"表示されてしまうの何故なのでしょうか?
お礼
superside0さん ネットワークについて勉強不足な自分は、完全には理解できていないのですが(NAT下でtracerouteを可能にする方法について)、かなりすっきりできました。 親切、丁寧に回答してくださったことに感謝致します。 どうもありがとうございました。