我在使用 Linux Mint 17.2 时遇到问题。一些实验表明解析 URL 存在一些问题。
更新2015年12月2日:
也许了解这个问题的人可以评论一下是否存在联系。在网络管理器中:
- /var/log/暴发户/网络管理器.log
有以下错误:
(NetworkManager:1015): GLib-WARNING **: GError set over the top of a previous GError or uninitialized memory.
This indicates a bug in someone's code. You must ensure an error is NULL before it's set.
The overwriting error message was: Key file does not have group 'connectivity'
我想知道它是否已连接的原因是 LaunchPad 上的这个 Ubuntu 错误:
参考此错误,它似乎与各种网络问题有关。
我目前的困境似乎与 StackOverflow 问题的原因相同,但我认为该问题已得到解决。它不是:
那么问题可能出在网络管理器上? 更新2015-12-01:
起初,问题仅与 TLS SSL / HTTPS 查找相关一切时不时——不是一直。
通常是“主流”网站,例如 google.com、linkedin.com、yahoo.com、facebook、github 以及其他不时出现的网站(例如我的移动服务提供商客户服务网站)。这真的很烦人。
有评论说不可能是HTTPS。到目前为止,实验证据仅显示加密链接上的问题。不过从昨天开始
apt-get update
正在失败。大多数事情都运行良好,然后......
W: Failed to fetch http://dl.google.com/linux/chrome/deb/dists/stable/Release.gpg Cannot initiate the connection to dl.google.com:80 (2404:6800:4006:800::200e). - connect (101: Network is unreachable)
W: Failed to fetch http://dl.google.com/linux/chrome/deb/dists/stable/main/i18n/Translation-en_AU Cannot initiate the connection to dl.google.com:80 (2404:6800:4006:800::200e). - connect (101: Network is unreachable)
W: Failed to fetch http://dl.google.com/linux/chrome/deb/dists/stable/main/i18n/Translation-en Cannot initiate the connection to dl.google.com:80 (2404:6800:4006:800::200e). - connect (101: Network is unreachable)
W: Failed to fetch http://dl.google.com/linux/chrome/deb/dists/stable/main/binary-amd64/Packages Cannot initiate the connection to dl.google.com:80 (2404:6800:4006:800::200e). - connect (101: Network is unreachable)
W: Failed to fetch http://dl.google.com/linux/chrome/deb/dists/stable/main/binary-i386/Packages Cannot initiate the connection to dl.google.com:80 (2404:6800:4006:800::200e). - connect (101: Network is unreachable)
E: Some index files failed to download. They have been ignored, or old ones used instead.
此时,这是唯一失败的非 HTTPS/SSL 链接。但看起来这个问题实际上与一些本地中间服务器/集群有关。发生故障的站点都足够大,足以拥有多个本地节点。
实验结果还是准确的。而且,该问题与错误的 DNS 查找或过期的 DNS 地址有关。
重新启动 DNSmasq 没有效果。
- 有一些日志可以让我扫描查看吗???
[结束更新]
今晚的一个实际例子抵得上1000字。以 Chrome 或 Firefox 中的 GitHub 为例。
https://github.com
-- 失败-s
重新发送为:
https://www.github.com
- 将要工作
您可以通过 看到更多dig
。下面是一个简单的演示用例。
使用案例:
github.com(失败)
~ $ dig github.com ; <<>> DiG 9.9.5-3ubuntu0.5-Ubuntu <<>> github.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40526 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 13, ADDITIONAL: 0 ;; QUESTION SECTION: ;github.com. IN A ;; AUTHORITY SECTION: . 42044 IN NS e.root-servers.net. . 42044 IN NS d.root-servers.net. . 42044 IN NS h.root-servers.net. . 42044 IN NS m.root-servers.net. . 42044 IN NS l.root-servers.net. . 42044 IN NS c.root-servers.net. . 42044 IN NS b.root-servers.net. . 42044 IN NS a.root-servers.net. . 42044 IN NS j.root-servers.net. . 42044 IN NS i.root-servers.net. . 42044 IN NS g.root-servers.net. . 42044 IN NS f.root-servers.net. . 42044 IN NS k.root-servers.net. ;; Query time: 91 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Tue Nov 17 21:41:20 AEDT 2015 ;; MSG SIZE rcvd: 239
www.github.com(作品)
~ $ 挖 www.github.com
; <<>> DiG 9.9.5-3ubuntu0.5-Ubuntu <<>> www.github.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25458 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags: do; udp: 512 ;; QUESTION SECTION: ;www.github.com. IN A ;; ANSWER SECTION: www.github.com. 3599 IN CNAME github.com. github.com. 29 IN A 192.30.252.131 ;; Query time: 827 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Tue Nov 17 21:41:26 AEDT 2015 ;; MSG SIZE rcvd: 73
不幸的是,该www.
解决方案不适用于以下 URL:
并www.google.com
去搜索。所以我不能使用任何谷歌或YouTube等。
这是一个间歇性问题。通过松散耦合的有线连接,似乎可以持续大约 2 到 4 天。例如 USB 调制解调器或 USB 转 Wi-Fi 接入点;重新连接或系统重新启动/恢复通常需要获取新地址。至少这看起来是有道理的。
但这并不能解释我的 Gmail 会话在重新启动电脑后一两个小时就退出了,所以我必须使用 StackExchange。
我没有发现任何类似的提及。但话又说回来,我不知道该如何称呼这个问题。
系统信息:
Linux 3.16.0-38-generic #52~14.04.1-Ubuntu
SMP Fri May 8 09:43:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=17.2
DISTRIB_CODENAME=rafaela
DISTRIB_DESCRIPTION="Linux Mint 17.2 Rafaela"
更新 (2015-11-18)
经过我的实验强制使用 github.com 示例;今天的普通浏览器似乎可以令人满意地找到 github.com。大概直到下一次辍学。
我主要担心的是邮件.google.com 查找失败;我认为这个github
例子是一个很好的、易于理解的 URL。
挖和钻头给出或多或少相同的答案mail.google.com
- 我不确定如何理解返回的报告:
~ $ drill @8.8.8.8 dns-admin.google.com
;; ->>HEADER<<- opcode: QUERY, rcode: NXDOMAIN, id: 32352
;; flags: qr rd ra ; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;; dns-admin.google.com. IN A
;; ANSWER SECTION:
;; AUTHORITY SECTION:
google.com. 59 IN SOA ns2.google.com. dns-admin.google.com. 108125159 900 900 1800 60
;; ADDITIONAL SECTION:
;; Query time: 537 msec
;; EDNS: version 0; flags: do ; udp: 512
;; SERVER: 8.8.8.8
;; WHEN: Wed Nov 18 22:13:27 2015
;; MSG SIZE rcvd: 89
而搜索https://google.com
nslookup
尽管缺乏信息,但更具可交换性:
~ $ nslookup host 8.8.8.8 mail.google.com
;; connection timed out; no servers could be reached
~ $ ping 8.8.8.8
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=54 time=105 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=54 time=97.8 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=54 time=95.8 ms
^C
--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 95.899/99.745/105.446/4.120 ms
所以它到达 8.8.8.8 DNS 服务器就足够了。这是怎么回事。
文件...(编辑以添加配置内容。)仅注意积极的(未注释)选项粘贴在下面。任何其他选项都应遵循 Linux Mint 默认值和 DNSmasq 安装默认值。
/etc/dnsmasq.conf
# Configuration file for dnsmasq. # # Format is one option per line, legal options are the same # as the long options legal on the command line. See # "/usr/sbin/dnsmasq --help" or "man 8 dnsmasq" for details. # : # only showing active options from this file # : # Change this line if you want dns to get its upstream servers from # somewhere other that /etc/resolv.conf #resolv-file= ## use resolv # resolv-file=/etc/resolv.dnsmasq.conf # By default, dnsmasq will send queries to any of the upstream # servers it knows about and tries to favour servers to are known # to be up. Uncommenting this forces dnsmasq to try each query # with each server strictly in the order they appear in # /etc/resolv.conf strict-order
/etc/resolv.dnsmasq.con (解析文件)
## file: /etc/resolv.dnsmasq.conf #-- Google's nameservers: nameserver 8.8.8.8 nameserver 8.8.4.4 # ## [end] ##
/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 nameserver 127.0.0.1