因此,我将 /etc/resolv.conf 中的名称服务器更改为我想要使用的 DNS 服务器,但无论出于何种原因,只要服务器重新启动,它就会恢复为默认 DNS 服务器。我该如何更改它以使其成为永久更改?谢谢。
答案1
您的 resolv.conf 可能被 dhcp 覆盖。
您使用 DHCP 吗?您可以通过手动编辑 resolv.conf 然后重新启动 dhcp 客户端来验证。
对于大多数操作系统而言,DHCP 提供的功能都有替代功能。
我注意到您标记为 Ubuntu。请尝试查看 /etc/dhcp3/dhclient.conf 以对您的域名服务器条目进行硬编码。
祝你好运。
答案2
在服务器环境中我可能会犯错误,但 Joel K 是正确的,resolv.conf 被 DCHP 覆盖。但是文件 /etc/network/interfaces 可以覆盖接口。如果您正在运行服务器,您可能应该以静态方式添加所有这些信息
这是一篇关于接口
答案3
更改 dns 条目的正确位置是在 /etc/network/interfaces 中创建一个条目。以下是示例:
auto eth0
iface eth0 inet static
address 10.10.0.70
network 10.10.0.0
netmask 255.255.255.0
gateway 10.10.0.254
dns-nameservers 10.10.0.52
当您重新启动时 /etc/resolv.conf 将为:
# Generated by resolvconf
nameserver 10.10.0.52
注意:在我的实验室中,仅重新启动服务网络服务无法正确设置网络掩码;我不得不重新启动系统。
答案4
要绕过覆盖 Ubuntu 上的 /etc/resolv.conf 文件的 DHCP 挂钩,您需要安装 resolvconf 包并使用适当的名称服务器或其他 DNS 选项手动编辑其基本配置文件,以便对系统范围的 resolv.conf 文件进行永久更改。您可以使用此简短教程,以便使用您的自定义 DNS 条目永久填充 Ubuntu 上的 resolv.conf 文件http://www.bytelinux.com/make-permanent-changes-to-resolv-conf-file-on-ubuntu/