我有一台运行 OS X Server 10.5 的服务器,它无法将 localhost 解析为 127.0.0.1。
当我尝试 ping 时,发生了以下情况:
> ping 本地主机 ping:无法解析本地主机:未知主机
SSH 和 Web 浏览器得到的结果类似(未知主机)。如果我尝试使用 127.0.0.1 或 LAN 上分配的 IP 地址,上述所有操作均有效。
这是我的 /etc/hosts 文件的内容:
> 猫/等/主机 ## # 主机数据库 # # localhost 用于配置环回接口 # 在系统启动时。请勿更改此条目。 ## 127.0.0.1 本地主机 255.255.255.255 广播主机 ::1 本地主机 fe80::1%lo0 本地主机
我没有运行本地 DNS 服务。
有谁知道为什么会发生这种情况或者我该如何解决它?
答案1
我在使用 Mountain Lion (10.8.2) 时也遇到了同样的问题。我通过在“安全和隐私”->“防火墙”->“防火墙选项”中禁用“隐身模式”解决了这个问题。
答案2
这可能与您的原始问题无关,但还有另一个问题可能会影响 Mac OS X Lion 中的 DNS 查找,具体来说localhost
或您可能拥有的任何其他条目/etc/hosts
。
显然,该/etc/hosts
文件不再支持每行多个域,因此每个记录都需要自己的行:
127.0.0.1 localhost
127.0.0.1 some.site.local
127.0.0.1 some.site.dev
发现此信息Justin Carmony 的博客。他继续描述了使用时的一些其他“有趣”的行为/etc/hosts
,因此如果您仍然遇到问题,请仔细阅读。
答案3
我知道有点晚了,但就我而言,将行尾更改为 UNIX,用空格替换制表符并将文件保存为 UTF-8 使其在 Mountain Lion (10.8.2) 上运行
希望这对其他人也有效。
答案4
在我的电脑上(同样的症状),我的/etc/hosts
文件被弄乱,使用 Macintosh 行尾(CR— 0x13
)而不是 Unix 行尾(LF— 0x10
)。除此之外,文件是正确的。
我的解决方案是:
brew install dos2unix
sudo dos2unix -c mac /etc/hosts