![Linux 中奇怪的网络问题](https://linux22.com/image/1449876/Linux%20%E4%B8%AD%E5%A5%87%E6%80%AA%E7%9A%84%E7%BD%91%E7%BB%9C%E9%97%AE%E9%A2%98.png)
我的问题很难解释。我无法打开一些网站。例如,一些由 Google 提供的网站。我可以打开 Google 搜索引擎,但无法打开 YouTube,即 Chrome(浏览器)的下载页面。另一个例子是 Microsoft,我可以打开该网站,但无法打开http://iso.esd.microsoft.com/
我应该能够下载 Windows 10 Insider Preview 的地方。我在 Firefox 中收到“未找到服务器”错误,在 Chromium 中收到“未找到网页”错误。我可以从网站看到这些网站已启动为所有人或仅我而下。我还可以从我的 Android 设备和另一台运行 Windows 8.1 的笔记本电脑上打开它们;有问题的机器是 Ubuntu。
我目前所做的是:禁用ufw
(简单的防火墙),将我的 ISP 提供的 DNS 服务器更改为 Google DNS 服务器(8.8.8.8
和8.8.4.4
)。
知道我的问题是什么吗?
nslookup
请iso.esd.microsoft.com
注意,downforeveryoneorjustme.com 表示该网站已启动。
$ nslookup
> set debug
> iso.esd.microsoft.com
;; Truncated, retrying in TCP mode.
Server: 127.0.1.1
Address: 127.0.1.1#53
------------
QUESTIONS:
iso.esd.microsoft.com, type = A, class = IN
ANSWERS:
AUTHORITY RECORDS:
ADDITIONAL RECORDS:
------------
** server can't find iso.esd.microsoft.com: REFUSED
nslookup
使用不同的 DNS
$ nslookup
> server
Default server: 89.233.43.71
Address: 89.233.43.71#53
> iso.esd.microsoft.com/
;; connection timed out; no servers could be reached
当我更改 DNS 服务器设置时,我做了以下操作:我打开一个终端,输入 network-admin,然后转到 DNS 选项卡,删除默认配置 (127.0.1.1) 并添加,8.8.8.8
之后8.8.4.4
我发现无法连接到网站,并将内容移回原位,所以现在我127.0.1.1
又开始使用了。我想说的是,我能够连接到 Youtube,听一些音乐,然后 YouTube 又停止了(可能只对我而言,因为我的 Android 运行良好),现在它又恢复了。
输出来自dig
:
# dig @8.8.8.8 iso.esd.microsoft.com
; <<>> DiG 9.9.5-3ubuntu0.2-Ubuntu <<>> @8.8.8.8 iso.esd.microsoft.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56357
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 13, ADDITIONAL: 16
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;iso.esd.microsoft.com. IN A
;; ANSWER SECTION:
iso.esd.microsoft.com. 2026 IN CNAME iso.esd.microsoft.com.nsatc.net.
iso.esd.microsoft.com.nsatc.net. 482 IN CNAME main.esd.microsoft.com.nsatc.net.
main.esd.microsoft.com.nsatc.net. 482 IN CNAME esd.microsoft.com.edgesuite.net.
esd.microsoft.com.edgesuite.net. 20386 IN CNAME a2047.ms.akamai.net.
a2047.ms.akamai.net. 19 IN A 92.122.51.80
a2047.ms.akamai.net. 19 IN A 92.122.51.74
a2047.ms.akamai.net. 19 IN A 92.122.51.75
a2047.ms.akamai.net. 19 IN A 92.122.51.73
a2047.ms.akamai.net. 19 IN A 92.122.51.59
a2047.ms.akamai.net. 19 IN A 92.122.51.67
a2047.ms.akamai.net. 19 IN A 92.122.51.66
a2047.ms.akamai.net. 19 IN A 92.122.51.81
a2047.ms.akamai.net. 19 IN A 92.122.51.64
;; AUTHORITY SECTION:
net. 172561 IN NS d.gtld-servers.net.
net. 172561 IN NS l.gtld-servers.net.
net. 172561 IN NS k.gtld-servers.net.
net. 172561 IN NS i.gtld-servers.net.
net. 172561 IN NS f.gtld-servers.net.
net. 172561 IN NS h.gtld-servers.net.
net. 172561 IN NS m.gtld-servers.net.
net. 172561 IN NS g.gtld-servers.net.
net. 172561 IN NS b.gtld-servers.net.
net. 172561 IN NS e.gtld-servers.net.
net. 172561 IN NS j.gtld-servers.net.
net. 172561 IN NS c.gtld-servers.net.
net. 172561 IN NS a.gtld-servers.net.
;; ADDITIONAL SECTION:
a.gtld-servers.net. 172561 IN A 192.5.6.30
a.gtld-servers.net. 172561 IN AAAA 2001:503:a83e::2:30
b.gtld-servers.net. 172561 IN A 192.33.14.30
b.gtld-servers.net. 172561 IN AAAA 2001:503:231d::2:30
c.gtld-servers.net. 172561 IN A 192.26.92.30
d.gtld-servers.net. 172561 IN A 192.31.80.30
e.gtld-servers.net. 172561 IN A 192.12.94.30
f.gtld-servers.net. 172561 IN A 192.35.51.30
g.gtld-servers.net. 172561 IN A 192.42.93.30
h.gtld-servers.net. 172561 IN A 192.54.112.30
i.gtld-servers.net. 172561 IN A 192.43.172.30
j.gtld-servers.net. 172561 IN A 192.48.79.30
k.gtld-servers.net. 172561 IN A 192.52.178.30
l.gtld-servers.net. 172561 IN A 192.41.162.30
m.gtld-servers.net. 172561 IN A 192.55.83.30
;; Query time: 60 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun May 10 17:33:02 EEST 2015
;; MSG SIZE rcvd: 815
ping
到microsoft.com
:
# ping microsoft.com
PING microsoft.com (134.170.185.46) 56(84) bytes of data.
--- microsoft.com ping statistics ---
6 packets transmitted, 0 received, 100% packet loss, time 5040ms
注意:我能够通过 Firefox 连接到 microsoft.com。
ping
到google.com
:
# ping google.com
PING google.com (178.132.81.53) 56(84) bytes of data.
64 bytes from 178.132.81.53: icmp_seq=1 ttl=61 time=17.4 ms
64 bytes from 178.132.81.53: icmp_seq=2 ttl=61 time=16.5 ms
64 bytes from 178.132.81.53: icmp_seq=3 ttl=61 time=2.62 ms
64 bytes from 178.132.81.53: icmp_seq=4 ttl=61 time=2.86 ms
64 bytes from 178.132.81.53: icmp_seq=5 ttl=61 time=15.9 ms
64 bytes from 178.132.81.53: icmp_seq=6 ttl=61 time=2.60 ms
64 bytes from 178.132.81.53: icmp_seq=7 ttl=61 time=2.69 ms
64 bytes from 178.132.81.53: icmp_seq=8 ttl=61 time=2.67 ms
64 bytes from 178.132.81.53: icmp_seq=9 ttl=61 time=2.75 ms
64 bytes from 178.132.81.53: icmp_seq=10 ttl=61 time=602 ms
^C
--- google.com ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9013ms
rtt min/avg/max/mdev = 2.606/66.902/602.814/178.746 ms
traceroute
到google.com
:
# traceroute google.com
traceroute to google.com (178.132.81.57), 30 hops max, 60 byte packets
1 192.168.0.1 (192.168.0.1) 3.228 ms 3.156 ms 3.104 ms
2 ip-160-129.powernet.bg (91.148.160.129) 3.919 ms 8.229 ms 8.220 ms
3 178.132.84.98 (178.132.84.98) 8.196 ms 8.185 ms 8.164 ms
4 TH-BG2.telehouse.bg (178.132.80.1) 8.651 ms 8.529 ms 8.530 ms
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
到microsoft.com
:
# traceroute microsoft.com
traceroute to microsoft.com (134.170.185.46), 30 hops max, 60 byte packets
1 192.168.0.1 (192.168.0.1) 8.400 ms 162.040 ms 161.921 ms
2 ip-160-129.powernet.bg (91.148.160.129) 162.067 ms 161.853 ms 161.732 ms
3 * * *
4 TH-R03.telehouse.bg (178.132.83.49) 161.028 ms 160.906 ms 160.808 ms
5 msft-decix-01-fra.ntwk.msn.net (80.81.194.52) 163.506 ms 163.393 ms 163.480 ms
6 ae6-0.pra-96cbe-1a.ntwk.msn.net (191.234.82.51) 163.395 ms ae12-0.fra-96cbe-1b.ntwk.msn.net (191.234.84.121) 32.869 ms ae6-0.pra-96cbe-1a.ntwk.msn.net (191.234.82.51) 44.238 ms
7 ae14-0.lon04-96cbe-1b.ntwk.msn.net (191.234.84.118) 49.290 ms 51.251 ms ae6-0.ams-96c-1b.ntwk.msn.net (207.46.42.52) 41.917 ms
8 ae11-0.amb-96cbe-1b.ntwk.msn.net (191.234.81.179) 42.028 ms * *
9 ae4-0.lts-96cbe-1a.ntwk.msn.net (204.152.141.123) 47.703 ms 47.681 ms ae0-0.nyc-96cbe-1b.ntwk.msn.net (207.46.38.113) 118.306 ms
10 ae12-0.was02-96cbe-1c.ntwk.msn.net (191.234.84.144) 123.888 ms 123.974 ms ae4-0.lon04-96cbe-1a.ntwk.msn.net (191.234.81.154) 49.392 ms
11 ae12-0.lon04-96cbe-1b.ntwk.msn.net (207.46.44.163) 46.454 ms 191.234.85.32 (191.234.85.32) 121.871 ms 121.938 ms
12 * * *
13 * ae0-0.nyc-96cbe-1b.ntwk.msn.net (207.46.38.113) 115.177 ms 113.239 ms
14 ae12-0.was02-96cbe-1c.ntwk.msn.net (191.234.84.144) 119.999 ms * *
15 191.234.85.32 (191.234.85.32) 120.358 ms * 121.587 ms
16 * ae3-0.den01-96cbe-1a.ntwk.msn.net (191.234.80.193) 163.156 ms 162.673 ms
17 * * ae9-0.cys01-96cbe-1a.ntwk.msn.net (191.234.84.176) 169.562 ms
18 * * *
19 * ae9-0.co2-96c-1a.ntwk.msn.net (191.234.82.236) 188.094 ms 190.180 ms
20 * * *
21 ae9-0.cys01-96cbe-1a.ntwk.msn.net (191.234.84.176) 164.271 ms * *
22 * * *
23 * * ae10-0.co2-96c-1b.ntwk.msn.net (191.234.82.239) 185.713 ms
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *
traceroute
到youtube.com
:
$ traceroute youtube.com
traceroute to youtube.com (178.132.81.46), 30 hops max, 60 byte packets
1 192.168.0.1 (192.168.0.1) 1.822 ms 2.075 ms 2.391 ms
2 ip-160-129.powernet.bg (91.148.160.129) 7.068 ms 6.949 ms 6.841 ms
3 178.132.84.98 (178.132.84.98) 6.988 ms 7.146 ms 7.052 ms
4 TH-BG2.telehouse.bg (178.132.80.1) 7.163 ms 7.071 ms 8.168 ms
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
到iso.esd.microsoft.com
:
# traceroute iso.esd.microsoft.com
iso.esd.microsoft.com: Name or service not known
Cannot handle "host" cmdline arg `iso.esd.microsoft.com' on position 1 (argc 1)
我已经刷新了iptables
,但是所有策略都默认设置为接受。
另外,我可以iso.esd.microsoft.com
通过代理( )连接到 YouTube(虽然它们对我来说不起作用)kproxy.com
。
答案1
可能是奇怪的网络问题¹,但是......不要使用 nslookup. 根本原因是它使用不同的查找路径,具有较少的故障排除信息,并且该工具已实现不一致地. 备选方案包括dig
和host
。
跳过本地解析器 (127.0.0.1) 并确认这些 DNS应该使用以下任一方式在系统上工作:
$ dig @8.8.8.8 iso.esd.microsoft.com
$ host iso.esd.microsoft.com 8.8.8.8
在dig
响应中,消息大小 > 512 会导致从 UDP 切换到 TCP,但我尝试了几个,它们都低于这个值:
www.microsoft.com
...response...
;; MSG SIZE rcvd: 226
iso.esd.microsoft.com ;; MSG SIZE rcvd: 352
www.youtube.com ;; MSG SIZE rcvd: 243
Ubuntu 显然为了保持一致性而127.0.0.1
改为/etc/resolv.conf
前一段时间。本文讨论它,使用它resolvconf
来保证resolv.conf
更改不会丢失,并介绍dnsmasq
(本地解析器)。总结一下,您可以排除故障:
- 使用 nm-tool(网络管理工具)并确认 DNS:行符合预期。
- 检查 dnsmasq 是否正在运行。如果没有,请启动它。
- 如果正在运行,请检查
/run/nm-dns-dnsmasq.conf
其解析器。 - 如果不需要 dnsmasq,请注释掉
dns=dnsmasq
,/etc/NetworkManager/NetworkManager.conf
然后sudo restart network-manager
。 - 另外使用
resolvconf
及其挂钩文件(base
、、head
和original
)tail
来/etc/resolvconf/resolv.conf.d/
配置 DNS。
如果iptables
可能正在运行,您可以检查它是否没有干扰:
$ sudo iptables -Z # Zero all counters
$ nslookup iso.esd.microsoft.com # assuming it fails...
$ sudo iptables -L -v # ...are any REJECT/DROP counters > 0?
如果是的话,而您不关心iptables
(因为您正在使用另一个防火墙),您可以清除所有规则或单独修改/删除有问题的规则。
¹ 我考虑了一段时间的网络边缘情况,但决定回到 Ubuntu 的 DNS;我使用的是另一个发行版,所以希望这不会相差太远。
答案2
您说您将 DNS 更改为 Google 服务器,但您的服务器正在返回127.0.1.1
为您的 DNS 服务器。
Ubuntu 官方网站上的此页面可能会指引我们理解的方向;特别是在“网络”部分:
为了提高与其他本地名称服务器软件包的兼容性,NetworkManager 现在将 IP 地址分配
127.0.1.1
给它控制的本地名称服务器进程,而不是127.0.0.1
。如果系统的/etc/resolv.conf
不存在或是一个静态文件,而不是../run/resolvconf/resolv.conf
默认安装的符号链接,则管理员必须更新此静态文件才能继续使用 NetworkManager 控制的名称服务器。
同时,在 nslookup 中将您的 DNS 服务器设置为:
server=8.8.8.8
然后再试一次。
或者更好的办法是,将其设置为不受审查的 DNS,例如www.censurfridns.dk像这样:
server=89.233.43.71