回答:
ping
外部ホストへの送信は、さまざまな理由で失敗する可能性がありますが、実際には、ご自身のネットワークの状態に関して有用なことを言っているのはごくわずかです。
最初のステップとして、ターミナルウィンドウを開き、次のように入力します。
ip route ls
次の行に沿って出力が表示されます。
shadur@equinox:~$ ip route ls
192.168.15.0/24 dev eth0 proto kernel scope link src 192.168.15.102
default via 192.168.15.1 dev eth0
これはあなたのローカルネットワークがeth0
アドレスのイーサネット接続()で192.168.15.0
あり、インターネットの残りにアクセスするデフォルトゲートウェイがで見つけられることを示し192.168.15.1
ます。
次に、ping
そのアドレスに試すことができます:
shadur@equinox:~$ ping 192.168.15.1
PING 192.168.15.1 (192.168.15.1) 56(84) bytes of data.
64 bytes from 192.168.15.1: icmp_req=1 ttl=255 time=0.352 ms
64 bytes from 192.168.15.1: icmp_req=2 ttl=255 time=0.269 ms
^C
--- 192.168.15.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.269/0.310/0.352/0.045 ms
上記に似たものが表示された場合、少なくともローカルネットワークは問題ありません。この時点でtraceroute
、宛先への接続が失敗している可能性がある場所を確認するなど、より高度なツールで検索を開始できます。
しかし、growl
実際に何が行われるのかをグーグルで簡単にチェックした後、何か他の問題があると感じています。質問を展開して、何をしようとしているのか、どのようにしようとしているのか、完全なエラー出力の詳細を教えてください。現在提供している回線は突然切断されます...
ip route get 1.2.3.4
ただやるよりも信頼できるip route ls
。前者は、ルートに加えて設定されているすべてのルールを有効にします。また、ルーティングテーブルを誤読する可能性も排除します。
非常に簡単で迅速な方法は、ping
コマンドを使用することです。
単純に入力できます
$ ping yahoo.com
(またはcnn.comまたはその他のホスト)、出力が返されるかどうかを確認します。これは、ホスト名を解決できることを前提としています(つまり、dnsは機能しています)。そうでない場合は、リモートシステムの有効なIPアドレス/番号を提供し、到達できるかどうかを確認できます。
これがpingのmanページです。
更新:
簡単な例として、戻り値(たとえば、"echo $?"
)をチェックしてping
、コマンドが成功したかどうかを確認できます(コマンドの出力をいつでもにパイプできます> /dev/nul
)。ここでは使用し-c 1
ていますが、もっと使用することもできます。
$ ping -c 1 yahoo.com
PING yahoo.com (72.30.38.140) 56(84) bytes of data.
64 bytes from ir1.fp.vip.sp2.yahoo.com (72.30.38.140): icmp_seq=1 ttl=52 time=83.5 ms
--- yahoo.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 83.593/83.593/83.593/0.000 ms
echo $?
0
$ ping -c 1 unicorns.are.here
ping: unknown host unicorns.are.here
$ echo $?
2
ping -c 2 -n <other host's IP>
、リターンコードを実行して操作します。true(0)の場合、接続性があります。false(1)の場合、そのマシンと通信できません。
mtrはpingに似たツールですが、パケット損失、パケット移動時間の統計などの詳細情報を提供します...
ping -c 1 www.yourtrustedserver.com | grep " 0% packet loss"
。これは、1つのパケットでサーバーにpingを実行し、文字列「0%packet loss」の出力を取得します。(0%の前のスペースが重要です)コマンドが行を返す場合は接続されていますが、そうでない場合は接続されていません。