特定のケース
ISPがトラフィックの過負荷状態になったときにルーティングできない「最も近い」固定IPに対してpingを実行します。私のシステムでは、ADSL認証に失敗することでこの状況をエミュレートできます。その場合、traceroute -n
正常な状態と異常な状態の結果を比較すると、応答しない8.8.8.8(または確実に外部サイト)への最初のホップは151.6.68.45であり、これはISPのインフラストラクチャの一部です。
使用している(念のそれがあることを、テストを繰り返した後、「チェック・アライブ」ホストとしてIPをされる固定)、私はADSLがOKである場合には偽陽性を得ることなく、異常ISPを検出することができますが、ISPのルーティングが悩みを持っています。
もちろん、意図的に8.8.8.8 を使用することもできます。Googleのインフラストラクチャにアクセスできない場合、理由を気にしないので、バックアップルーターを試すこともできます。
一般的なケース
「インターネットが利用可能」は、単に「8.8.8.8(または他のIP)が到達可能」というよりもはるかに複雑なものです。
迅速で汚れた、常に信頼できるチェックではない場合、8.8.8.8のpingが良いです。しかし、ドメイン名の代わりに数字のIPを使用する方法を見れば、IP接続があり、DNSの問題のために「インターネットが接続されていない」という事実に既に気付きました。
完全な診断は、PCの近くで開始する必要があります。
- ローカルネットワーク構成を照会し、ゲートウェイとDNSサーバーを取得します。
- ゲートウェイをpingします。到達可能でなければなりません。そうでない場合は、ローカルに問題があります。
- 確実に外部アドレスのTTLが短い(実際には、hpingが提供するようなTCP tracerouteの方が良い)tracerouteを実行します。8.8.8.8は問題ありません。
- ゲートウェイの後に、いくつかの余分なノードが応答していることを確認する必要があります。
たとえば、自宅のWindows XPには次のものがあります。
1 <1 ms <1 ms <1 ms 192.168.4.200 -- (constant) Home Linux box (gateway)
2 <1 ms <1 ms <1 ms 192.168.0.1 -- (constant) ADSL modem
3 * * * * -- WAN interface, always fails; expected
4 * 6 ms 6 ms 151.6.64.30 -- (varies) ISP gateway
DNSにpingを試してください。到達可能でなければなりません。さらに良いことに、簡単なDNSチェックを実行します。DNSキャッシュを回避するために、何に関係なくすべてのクエリに応答するドメインを時々使用します。例えば
$ host randomasdfdsasdqwerty987667.godaddy.com
randomasdfdsasdqwerty987667.godaddy.com has address 97.74.104.201
一方、DNSサーバーが信頼できない場合、同じクエリがwifiのキャプティブポータルのアドレスを返す可能性があります
$ host randomasdfdsasdqwerty987667.godaddy.com
captiveportal.homenet has address 192.168.4.200
または127.0.0.1、さらにはエラー。
DNSに障害が発生した場合、DNS IPアドレス(またはOpenDNSのDNSなどの別のDNS)のtracerouteを試すことができます。これにより、問題がDNSであるかISPであるかがわかりますが、多くの場合、中断を回避できます。
この時点ですべてがうまくいけば、一般に接続が正常に機能していることがわかります。一部のサイトではまだ失敗する可能性があります。私が今必要なのは、isup.me
起きていることです:-)、その後チェック
http://www.isup.me/www.google.com
http://www.isup.me/mail.google.com
または、Down Detectorなどのサイトで「インターネット天気」に関する情報を常に入手できます。
実際、ホームサーバーにはSquidキャッシュがあり、エラーページにはダウンサイトの統計から正常に取得された最後のデータが含まれているため、
Google.com is not reachable
STORM ALERT: 12 out of 14 sites are unreachable!
同じように、この前金曜日に起こったイタリアで、ここ。