在 Ubuntu 12.04 中,/etc/resolv.conf 和 /etc/network/interfaces 中列出的名称服务器有什么区别?

在 Ubuntu 12.04 中,/etc/resolv.conf 和 /etc/network/interfaces 中列出的名称服务器有什么区别?

我正在使用 vCenter 5.5 从模板部署 Ubuntu 12.04 VM。当我尝试使用自定义规范添加名称服务器时,它们被添加到 resolv.conf 文件中。VM 将不会使用这些名称服务器,并且无法解析名称。但是,我可以使用 dig 命令手动指定相同的名称服务器并成功解析名称。如果我手动将名称服务器添加到 /etc/network/interfaces,VM 将使用它们并能够解析名称。这种行为的原因是什么?

答案1

如果您已resolvconf在系统上安装,它将/etc/resolv.conf为您管理。您手动输入的任何内容最终都会被替换,这就是为什么需要在目录resolv.conf中定义名称服务器的原因。/etc/network/interfacesinterfaces.d

如果您想resolv.conf手动控制,请删除该resolvconf包。

注意:通常最好根据您的发行版或供应商定义的最佳实践来配置和管理系统。如果您删除,resolvconf请确保您没有破坏任何其他需要它的东西。

相关内容