私がする時:
$ traceroute 8.8.8.8
Google.com(8.8.8.8)へのpingが機能しているように見えますが、出力に星だけが表示されています。
$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=46 time=73.4 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=46 time=69.6 ms
$ traceroute 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 Hops max, 60 byte packets
1 * * *
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *
見つけた traceroute -I
より完全な結果が得られました。
-I, --icmp
Use ICMP ECHO for probes
表示されているアスタリスクは、パケットがルーティングされているサーバーで、タイムアウトしている(5.0秒以上)ため、traceroute
はデフォルトで*を出力します。
[〜#〜]注[〜#〜]:traceroute
のマニュアルページに、これに関する警告さえあります。
抜粋
現代のネットワーク環境では、ファイアウォールが広く使用されているため、従来のtraceroute方式を常に適用できるとは限りません。このようなファイアウォールは、「ありそうにない」UDPポート、またはICMPエコーさえもフィルタリングします。これを解決するために、いくつかの追加のトレースルーティングメソッド(tcpを含む)が実装されています。以下の利用可能なメソッドのリストを参照してください。このような方法は、ファイアウォールをバイパスするために、特定のプロトコルと送信元/宛先ポートを使用しようとします(ファイアウォールからは、許可されたタイプのネットワークセッションの開始と見なされます)。
ほとんどのファイアウォールは、WebトラフィックのデフォルトのIPポートであるTCP/80以外のポートで送信されるトラフィックをブロックします。 Linuxのデフォルトではtraceroute
がUDP
を使用し、pingがICMP
を使用するため、出力として、ICMP
パケットがファイアウォールで許可されているようですが、UDP
パケットはファイアウォールによってブロックされます。
traceroute and ping from school network というタイトルの私の質問に対する回答を確認できます。
コメントのとおり、これが別のRHELマシンで機能していて、このRHELマシンで機能していない場合は、以下の手順を実行することをお勧めします。
稼働中のRHELマシン(マシンA)から、/etc/sysconfig/iptables
ファイルをコピーします。障害のあるRHELマシン(マシンB)で、元の/etc/sysconfig/iptables
ファイルを/etc/sysconfig/iptables.original
などにコピーします。
$ cp /etc/sysconfig/iptables /etc/sysconfig/iptables.original
この手順は、設定に問題が発生した場合に、元に戻すことができるようにするためのものです。次に、/etc/sysconfig/iptables
をマシンAからマシンBにコピーします。
テストを実行しているマシン、またはローカルゲートウェイ(ルーター)がUDPまたはICMPをブロックしています。これらがファイアウォールで許可されていることを確認してください/ NATルール設定。