如何覆盖 DHCP 提供的名称服务器?

如何覆盖 DHCP 提供的名称服务器?

我(认为)我已经在中配置了静态 IP 地址/etc/network/interfaces

# 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 名称服务器。


我还应该说,这是仅具有l0eth0接口的 Ubuntu 服务器。

答案1

如果您想要覆盖或附加 DHCP 服务器建议的名称服务器,您可以在中进行配置/etc/dhcp/dhclient.conf,例如:

interface "eth0" {
    prepend domain-name-servers 10.0.0.2;
}

您也可以从 Unity 或 GNOME 中的网络指示器中的“编辑连接”控件执行此操作。

答案2

解决您问题的一种方法是配置您的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 名称服务器

注意:
确保最后一个条目后有换行符。大多数编辑器会在保存文件时自动提供换行符。

答案3

我找到了删除 dhcp 客户端的参考,我认为这是罪魁祸首。我已经这样做了,但还没有发现问题。要等到早上才能确认,但看来 dhcp 客户端仍在运行,必须停止并卸载。

apt-get remove isc-dhcp-client dhcp3-client dhcpcd

答案4

根据经验,您应该始终使用 卸载所有网络服务apt-get --purge remove <package-name>。这样,所有配置文件也将被删除。

在这种情况下,命令将是:

apt-get --purge remove isc-dhcp-client isc-dhcp-common

此命令将彻底删除isc-dhcp-client

相关内容