MacBook 无法使用互联网,但 nslookup 和 ping 均可用

MacBook 无法使用互联网,但 nslookup 和 ping 均可用

我有一位用户拥有一台新的高端 MacBook Pro,但无法使用互联网。他可以连接到我们的有线或无线网络并执行浏览文件共享等操作,但无法进行其他操作。

当我将机器拿来测试时,我发现我可以顺利地执行 nslookup,而且我能够顺利地 ping nslookup 返回的地址。我甚至可以通过在地址栏中直接输入 IP 地址来打开网页。但是,当我尝试 ping 域名而不是 IP 地址时,它只是停留在那里。所以显然我可以进行名称解析或与地址通信,但不能同时进行这两项操作。

再次强调,这些症状在有线和无线网络上都会发生。我们网络上的其他机器(包括几台其他 Mac)没有出现此问题。

有任何想法吗?

答案1

正在mDNSResponder运行?即使正在运行,也请尝试执行sudo killall mDNSResponder并让其launchd自动重新启动。(如果您已经尝试重新启动系统但问题仍然存在,那么这可能不是原因。)

mDNSResponder 是当今 Mac OS X DNS 解析器基础架构的重要组成部分。一些工具(例如)nslookup包含自己的 DNS 解析器代码或调用避开 mDNSResponder 并使用更传统的 Unix DNS 解析器库的低级 API,但大多数仅调用普通 API 的应用程序和工具将依赖 mDNSResponder 进行名称解析。

您可能还想检查在系统偏好设置的网络面板中 DNS 的配置方式,并查看/etc/resolv.conf(注意:“resolv”中没有“e”)。ipconfig getpacket en0(将 en0 替换为您的主网络接口的 BSD 层标识符)有助于查看您的机器从 DHCP 获取的 DNS 服务器信息。另请参阅mDNSResponder(8)手册页的“LOGGING”部分,了解有关从 mDNSResponder 获取故障排除/调试信息的更多提示。

答案2

我发现,在我的许多 Mac(当然,是 Hackintoshes)上,这个问题的根本原因是休眠/挂起到磁盘。如果此操作失败,则下次启动时 mDNSResponder 将处于损坏状态,该sudo killall mDNSResponder命令会修复它。

答案3

也许您在 Mac 设置中手动指定了 DNS 服务器?请检查您的设置,如下所示这里,删除您可能拥有的任何 DNS 服务器,用您的接入点 IP 替换(或者甚至将其留空,DNS 应该通过 DHCP 设置)。

答案4

我真的为此苦苦挣扎,并尝试了所有的步骤。对我有用的是进入网络偏好设置并删除以太网和机场适配器,然后重新添加它们

相关内容