在装有 OS X Snow Leopard 的 Mac 上,我在浏览各种网站时,网络浏览器 (Firefox) 不断出现“找不到服务器”错误。为了解决该问题,我尝试了以下方法(每种方法都尝试了多次):
- 重置我的路由器(切断电源)
- 重置我的电缆调制解调器(切断电源;康卡斯特)
- 通过刷新 DNSdscacheutil-刷新缓存
我找不到导致问题的原因,也找不到其他解决方法。路由器上有几台计算机,但我没有遇到这个问题。
在某些情况下,只有部分页面可以加载。图片可能缺失或广告无法加载。我几乎可以肯定这与 DNS 有关,但我不确定这是否是 Mac 的问题,或者是路由器的问题。
任何想法都会受到赞赏。我会尝试任何合理的建议...
更新:响应示例站点的请求:
- www.python.org - 我在这里经常看到它,但我关注了很多超链接
- Stackoverflow.com
- 谷歌
- 天气网
- Gmail.com
- 维基百科
- 我的研究生院网站
这种情况会间歇性地发生,我知道这不是网站的问题,因为我可以在其他电脑上快速访问该网站。此外,如果我刷新足够多次(3 到 4 次),它通常会打开该网站。
更新:根据迄今为止的反馈,我尝试了dig
。我在使用 Ubuntu.com 时遇到了问题,因此我对其进行了挖掘。结果如下:
frank-villasenors-macbook:Documents FrankV$ dig www.ubuntu.com
; <<>> DiG 9.6.0-APPLE-P2 <<>> www.ubuntu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60666
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.ubuntu.com. IN A
;; ANSWER SECTION:
www.ubuntu.com. 432 IN A 91.189.90.40
;; Query time: 24 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Tue Oct 27 18:31:33 2009
;; MSG SIZE rcvd: 48
然后我在一个正常运行的网站(我的博客)上运行了一个,结果如下:
frank-villasenors-macbook:mozilla-central-working FrankV$ dig www.theopensourceu.com
; <<>> DiG 9.6.0-APPLE-P2 <<>> www.theopensourceu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37084
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.theopensourceu.com. IN A
;; ANSWER SECTION:
www.theopensourceu.com. 3600 IN CNAME theopensourceu.com.
theopensourceu.com. 3148 IN A 68.178.232.55
;; Query time: 98 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Tue Oct 27 18:33:40 2009
;; MSG SIZE rcvd: 70
它们看起来很相似;我认为这并没有告诉我什么(现在)...就在提交之前,我刷新了我的Ubuntu.com窗口和网站出现了...也许dig
修复了它?
更新(2009 年 11 月 17 日):我仍然时不时遇到这个问题。我还注意到,有时 DNS 查找时间比我预期的要长。例如,如果我尝试访问 Superuser.com,Web 浏览器(我通常使用 FireFox)将显示 30 到 45 秒的加载屏幕。这个时间可能更长,也可能更短,但有时网站最终会加载,有时我会收到上述错误消息。
如果有疑问,我有一个宽带互联网连接(由芝加哥地区的康卡斯特提供),通常报告的速度约为 5mbps。同样,我只在 MacBook 上看到这个问题。我还有两台基于 Vista 的计算机和一台基于 Ubuntu 的计算机,它们没有出现这个问题。
答案1
在 Firefox 中,“未找到服务器”表示它不知道其 IP 地址†。因此,确实是 DNS 问题。
当您再次遇到此问题时,您可以立即地尝试看看其他 DNS 服务器是否会给出不同的结果。因此,不要刷新浏览器,不要刷新缓存,而是运行以下命令(就像您已经做过的那样)来告诉您什么您当前的 DNS 服务器知道麻烦的域。当您得到以下答案时,测试失败了,但也许以下答案确实不是给你一个有用的答复:
访问 www.python.org [...] ;; 答案部分: www.python.org.33592 82.94.164.162 [...] ;; 查询时间:168 毫秒 [...] ;; 时间:2009 年 11 月 14 日星期六 12:56:54
上述结果可能已被您的路由器/调制解调器缓存,或被委托给 ISP 的 DNS 服务器,用于路由器尚不知道的任何内容。 的值Query time
可能是一些指示结果是否缓存在调制解调器/路由器中。因此,再次运行相同的命令(在终端中按向上箭头并返回):
;; 查询时间:33 毫秒 [...] ;; 时间:2009 年 11 月 14 日星期六 12:57:14
上面,我们看到 168 毫秒与 33 毫秒,我们可以假设第一个命令的结果dig
未缓存在调制解调器/路由器中,并且询问提供商的 DNS 服务器需要一些额外的时间。第二个请求大概已被缓存。
如果查询时间也相差很大,那么出于某种原因,即使浏览器试图显示该页面,您的浏览器或操作系统也尚未从 DNS 请求该域。这可能说明计算机的 DNS 有问题(这很合理,因为使用相同调制解调器/路由器的其他计算机不会遇到同样的问题)。
接下来,检查是否开放DNS产生其他结果:
挖@208.67.222.222 www.python.org [...] ;; 答案部分: www.python.org.83166 位于 82.94.164.162
以上结果相同,但您的情况可能会有所不同。(您只需比较 IP 地址;当明确使用某些 DNS 服务器时,例如通过使用@208.67.222.222
,则重复请求的查询时间不会有太大差异。)
因此,如果再次发生这种情况,请告知我们上述结果?或者,只需设置你的 Mac使用 OpenDNS 服务器一段时间,然后看看问题是否还会出现?
† 无响应的服务器会显示“连接已超时”,并且可能需要更长时间才能显示该错误。
答案2
我通过将 network.dns.disablePrefetch 设置为 true 来解决此问题
http://kb.mozillazine.org/Error_loading_websites#DNS_prefetching
答案3
这是一个已知问题,mDNSResponder 中有一个错误(discussions.apple.com 上有很多帖子),其他人已经在 Apple 中发现了一个错误,我们不知道他们是否会在 10.6.3 中提供它,因为这个错误并不严重,但取决于 ISP 的 DNS 服务器(即使您设置了 OpenDNS 服务器,也不会改变这种情况,因为 mDNSResponder 中的第二个错误会打乱其列表中的 DNS 服务器顺序,即使您“强制”它使用 OpenDNS,它也会获得默认网关“提供”的 DNS 服务器,也就是您的 ISP 提供的 DNS 服务器,与第一个错误相匹配)。我遇到了一些问题,目前没有解决方案,降级到 Leopard 或等待 10.6.3(...或要求您的 ISP 更改/更新他们的 DNS 服务器)...
另一种选择是在“局域网”中创建代理……这样它应该可以工作(对于某些人来说似乎如此,正如您将从讨论中的帖子中看到的那样……)。我会等待 10.6.3,即使我不确定他们是否会 100% 修复它,因为有几个棘手的错误并且不容易复制和解决。
再见gpy
答案4
不管正确与否,我最终更换了无线路由器。似乎问题已经解决了。