web-dev-qa-db-ja.com

接続がタイムアウトしました;サーバーに到達できませんでしたエラー

Www.google.comにpingしようとすると、エラーが発生しました。

;;接続がタイムアウトしました;サーバーに到達できませんでした

Sudo apt-get updateを実行することも、Webページにアクセスすることもできませんでした。そこで、/ etc/resolv.confファイルを編集してOpenDNSサーバーが含まれるようにし、次のようにしました。

~$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# OpenDNS IPv4 nameservers
nameserver 208.67.222.222
nameserver 208.67.220.220

しかし、私はまだ同じエラーを受け取っています:

〜$ Host -v www.google.com「www.google.com」を試す;;接続がタイムアウトしました;サーバーに到達できませんでした

Digでも試してみましたが、結果は次のとおりです。

:〜$ Dig @ 8.8.8.8 www.google.com

; << >> Dig 9.9.5-3ubuntu0.4-Ubuntu << >> @ 8.8.8.8 www.google.com; (1サーバーが見つかりました);;グローバルオプション:+ cmd ;;接続がタイムアウトしました;サーバーに到達できませんでした

誰でも私が問題を解決するのを手伝ってくれますか? VirtualBoxでUbuntu 14.04を実行しています。

編集:

ifconfigの出力:

eth0      Link encap:Ethernet  HWaddr 08:00:27:6a:81:38  
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe6a:8138/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8368 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5197 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:7814822 (7.8 MB)  TX bytes:467136 (467.1 KB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:409 errors:0 dropped:0 overruns:0 frame:0
          TX packets:409 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:42236 (42.2 KB)  TX bytes:42236 (42.2 KB)

ip routeの出力:

~$ ip route default via 10.0.2.2 dev eth0  proto static 
10.0.2.0/24 dev eth0  proto kernel  scope link  src 10.0.2.15  metric 1
5
QPTR

同じ状況になり、再起動しても問題が解決しなかった場合、問題を見つけるのに役立つ簡単な手順を次に示します。

  1. インターネット接続を確認する

    ping 8.8.8.8

宛先が到達不能である場合、ゲートウェイ10.0.2.2が到達可能かどうかを確認します。そして問題を修正します。

接続に問題がなければ、次のようなものが表示されます。

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=4.13 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=46 time=4.13 ms
  1. Host/Digがパケットを適切に送信するかどうかを確認します。

    Sudo tcpdump -n -i eth0 | grep 8.8.8.8.53

同じマシンの別のコンソールから同時に

Dig @8.8.8.8 www.google.com

次のような応答が得られます。

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
13:34:00.980550 IP 10.0.2.15.56570 > 8.8.8.8.53: 47059+ A? google.com. (27)
13:34:05.980541 IP 10.0.2.15.56570 > 8.8.8.8.53: 47059+ A? google.com. (27)

これは、リクエストが外部ネットワークに渡されたが、戻ってこなかったことを意味します...

ファイアウォールルールの出力を分析することにより、ファイアウォールの動作を確認できます。

iptables -n -L

問題は、あなたと208.67.222.222または208.67.220.220または8.8.8.8の間のファイアウォールにある可能性があります

私の場合、プロバイダーのファイアウォールは53ポートからの着信UDPパケットを同時にブロックします。

したがって、プロバイダーのファイアウォールルールを修正することで問題が解決します。

この分析が誰かに役立つことを願っています。

9
khe