修改 resolv.conf.d/head 后无法 ping 本地主机

修改 resolv.conf.d/head 后无法 ping 本地主机

我从大约一周前就开始观察到这种行为,并且我认为我没有更改任何相关配置。

问题是,当我运行时ping localhost,出现以下错误:

ping: unknown host localhost

当我通过机器主机名 ping 时也会发生同样的情况。这也导致了另一个问题:每当我使用 运行命令时sudo,我都会得到sudo: unable to resolve host [myhostname]

后来我看了一下我的/etc/resolvconf/resolv.conf.d/head。之前(很久以前)我nameserver 8.8.8.8在上面添加了一行。注释掉这行后,ping就可以按预期正常工作。

另请注意,此行为仅当通过 Wi-Fi 连接到互联网时才会发生。不过,我没有机会通过以太网测试连接。但如果我断开连接,则一切都会正常进行。

这是什么原因造成的?我该如何防止这种行为并保留 8.8.8.8 作为我的名称服务器?

答案1

事实证明我的不知何故etc/nsswitch.conf失踪了(但不知道为什么)。

已使用 修复了此问题echo 'hosts:files dns' | sudo tee /etc/nsswitch.conf,但更好的选择可能是获取默认nsswitch.conf文件。

相关内容