QPT*_*PTR 8 virtualbox networking dns 14.04
在尝试 ping www.google.com 时,我收到错误消息:
;; 连接超时; 无法访问任何服务器
我既无法运行 sudo apt-get update 也无法访问任何网页。所以我编辑了我的 /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
Run Code Online (Sandbox Code Playgroud)
但是,我仍然遇到相同的错误:
~$ host -v www.google.com 尝试“www.google.com”;; 连接超时; 无法访问任何服务器
我也用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)
Run Code Online (Sandbox Code Playgroud)
ip路由的输出:
~$ 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
Run Code Online (Sandbox Code Playgroud)
小智 15
一旦我遇到相同的情况并且重新启动并没有解决问题,这里是我可以帮助找到问题的简单步骤:
ping 8.8.8.8
Run Code Online (Sandbox Code Playgroud)
如果目标不可达,请检查您的网关 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
Run Code Online (Sandbox Code Playgroud)
sudo tcpdump -n -i en0 host 8.8.8.8
Run Code Online (Sandbox Code Playgroud)
同时从同一台机器的另一个控制台
dig @8.8.8.8 www.google.com
Run Code Online (Sandbox Code Playgroud)
您将得到类似于以下内容的响应:
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)
Run Code Online (Sandbox Code Playgroud)
这意味着请求已传递到外部网络但没有返回......
您可以通过分析防火墙规则的输出来检查防火墙的功能:
iptables -n -L
Run Code Online (Sandbox Code Playgroud)
问题可能来自您和 208.67.222.222 或 208.67.220.220 或 8.8.8.8 之间的任何防火墙
在我的情况下,提供商的防火墙恰巧阻止了来自 53 端口的传入 UDP 数据包。
从而更正提供商防火墙规则解决了这个问题。
希望这个分析对某人有帮助。
| 归档时间: |
|
| 查看次数: |
100104 次 |
| 最近记录: |