如何覆盖DHCP提供的名称服务器?
我(想)我在/etc/network/interfaces
配置了一个静态IP地址:
# The primary network interface auto eth0 iface eth0 inet static address 10.1.1.2 netmask 255.255.255.0 network 10.1.1.0 broadcast 10.1.1.255 gateway 10.1.1.1
我将文件/etc/resolv.conf
更改为包含所需的名称服务器。
然后我重启网络sudo /etc/init.d/networking restart
但几个小时后,resolv.conf总是恢复为DHCP名称服务器。
我还应该说这是Ubuntu Server只有l0
和eth0
接口。
如果要覆盖或附加到DHCP服务器建议的名称服务器,可以在/etc/dhcp/dhclient.conf
进行配置,例如:
interface "eth0" { prepend domain-name-servers 10.0.0.2; }
您也可以从Unity或GNOME中的网络指示器中的“编辑连接”控件执行此操作。
解决问题的解决方案是配置resolvconf
包。 这将优先考虑您的首选名称服务器以及任何其他所需的设置resolv.conf设置,例如搜索和域首选项。
编辑文件: /etc/resolvconf/resolv.conf.d/head
当您的网络发生变化时,请放置您想要的名称服务器以及您想要优先选择的任何其他配置。 当对网络进行任何更改时,配置始终优先。
/etc/resolvconf/resolv.conf.d/head
文件的示例:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver 8.8.8.8 search mydomain.com
看看类似问题的答案:
覆盖dns名称服务器
注意:
确保在最后一次输入后有换行符。 保存文件时,大多数编辑器会自动提供换行。
我找到了删除dhcp客户端的参考,我认为那是主要的罪魁祸首。 我已经这样做了,还没有看到问题。 将等待’直到早上确认,但似乎dhcp客户端仍在运行,必须停止并卸载。
apt-get remove isc-dhcp-client dhcp3-client dhcpcd
根据经验,您应该始终使用apt-get --purge remove
卸载所有网络服务。 这样,所有配置文件也将被删除。
在这种情况下,命令将是:
apt-get --purge remove isc-dhcp-client isc-dhcp-common
此命令将完全删除isc-dhcp-client
。