我在 Ubuntu 14.04.1 上使用 Firefox 31
我尝试在 Firefox 上打开 Google Drive,方法是在地址栏中输入“drive”,然后单击第一个 Google 结果(我知道,这样做很懒惰而且复杂)。
它显示连接错误:
怀疑是路由器问题,或者可能是我的 ISP 导致的 DNS 问题,我尝试 ping 不存在的地址,但只得到了来自 的回复127.0.53.53
。嗯?
ubuntu@ubuntu:~$ ping foobar
ping: unknown host foobar
ubuntu@ubuntu:~$ ping thisisnotavaliddomain
ping: unknown host thisisnotavaliddomain
ubuntu@ubuntu:~$ ping drive
PING drive (127.0.53.53) 56(84) bytes of data.
64 bytes from 127.0.53.53: icmp_seq=1 ttl=64 time=0.011 ms
64 bytes from 127.0.53.53: icmp_seq=2 ttl=64 time=0.022 ms
64 bytes from 127.0.53.53: icmp_seq=3 ttl=64 time=0.049 ms
^C
--- drive ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.011/0.027/0.049/0.016 ms
尝试 ping 其他无效域会得到预期结果(即,没有任何结果)。只有使用“drive”时似乎才会发生这种情况。
这里发生了什么?
答案1
正在发生的事情是名称冲突。
127.0.53.53 是一个特殊的 IPv4 地址,它将出现在系统日志中,提醒系统管理员存在潜在的名称冲突问题,以便快速诊断和补救。“53”用作助记符,表示由于使用网络端口 53 进行 DNS 服务而导致的 DNS 相关问题。
但这意味着什么?事实上,过去几年中,顶级域名 (顶级域名) 一直在扩展。除了原来的、、、.com
等,还有不断增长的.org
.net
.gov
通用顶级域名截至撰写本文时,目前超过一千个 gTLD。
猜猜 gTLD 的例子有哪些?例如“drive”、“google”、“microsoft”、“hotmail”、“youtube”和“android”。因此,当您在 Firefox 的地址栏中输入这些词时,它不会使用它在默认搜索引擎上执行搜索,而是首先检查它是否解析为域名。
感谢 ICANN 的朋友们,做解析为 127.0.53.53。这意味着localhost
。您的浏览器正在尝试连接到您自己计算机的 80 端口,除非您正在运行 Web 服务器,否则您将看到连接错误消息。
(注意:这似乎不会影响所有浏览器 - 至少,我能够测试 Android 版 Chrome 的最新版本,它不受此问题的影响)