Linux 中奇怪的网络问题

Linux 中奇怪的网络问题

我的问题很难解释。我无法打开一些网站。例如,一些由 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.88.8.4.4)。

知道我的问题是什么吗?

nslookupiso.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

pingmicrosoft.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。

pinggoogle.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

traceroutegoogle.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  * * *

traceroutemicrosoft.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  * * *

tracerouteyoutube.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  * * *

tracerouteiso.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. 根本原因它使用不同的查找路径,具有较少的故障排除信息,并且该工具已实现不一致地. 备选方案包括dighost

跳过本地解析器 (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、、headoriginaltail/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

相关内容