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


13

我(认为)我在中配置了静态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 Server 。


是否resolvconf安装了软件包?
吉尔斯(Gillles)“所以别再作恶了”,

您是要在另一个网络接口(例如wifi或拨号接口)上使用dhclient,还是dhclient即使应该是静态的,也无法在eth0上正确运行?
poolie 2011年

只有eth0和lo0,我手动设置的IP与我将获得的DHCP IP相同(DHCP服务器将始终提供相同的静态IP)。但是我不想使用DHCP服务器提供的名称服务器,所以我想自己设置IP,就不会有任何DHCP,但是我不明白为什么resolv.conf会不断更新。
大卫·帕克斯

Gilles-不,我运行:dpkg -L resolvconf,并得到:未安装软件包“ resolvconf”。
大卫·帕克斯

Answers:


35

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

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

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


4
我发布了另一个选择,这是最好的解决方案,但是意识到在AWS EC2环境中设置静态IP不是一个好主意。:)
David Parks

如果要添加多个域名服务器该怎么办?
dangonfast

前置域名服务器127.0.0.1似乎会丢弃dhcp提供的名称服务器(在其他域名服务器之前不会发生)
dangonfast

2
替换prependsupersede以完全覆盖DHCP值。
Sqerstet

谢谢。我是否还可以说为所有接口添加DNS服务器(也许会有例外)?还是接口列表?
ctrl-alt-delor

1

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

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


-2

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

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

如果解决方案是prepend命令还是实际上正在删除DHCP客户端,我会有些困惑。
尤金·范德默

@EugenevanderMerwe这是前置命令。张贴者说:“这是最好的解决方案,我发布了另一个选择,但是意识到在AWS EC2环境中设置静态IP不是一个好主意。:)”
Grammargeek 2016年

-3

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

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

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

此命令将完全删除isc-dhcp-client


4
这有何关联,为什么您认为这是一个很好的一般规则?他不想停止使用DHCP?
poolie
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.