当网络配置为静态 IP 时,resolv.conf 不会在重启时设置

当网络配置为静态 IP 时,resolv.conf 不会在重启时设置

当我将我的计算机配置为使用静态 IP 时,我在 Ubuntu 12.04 Server 版本中遇到了名称解析问题。

在 /etc/network/interfaces 中:

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.28
netmask 255.255.255.0
gateway 192.168.1.1

正在运行$ sudo apt-get upgrade,结果出现“无法获取...”:

. . . W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/precise-backports/universe/i18n/Translation-en_US Something wicked happened resolving 'us.archive.ubuntu.com:http' (-5 - No address associated with hostname)
[...]

当我将 /etc/network/interfaces 更改为:

auto eth0
iface eth0 inet dhcp

一切正常。

查看 /etc/resolv.conf 可以获得更多提示。

当我遇到解析问题时,resolv.conf 是空的;没有指定名称服务器。然后我从静态更改为 DHCP 并重新启动网络;/etc/resolv.conf 更改为:“名称服务器 192.168.1.1”。

从 DHCP 切换回静态并重新启动不会删除名称服务器条目。但是当我重新启动设置了静态的系统时,resolv.conf 为空。当我重新启动设置了 DHCP 的系统时,resolv.conf 的名称服务器为 192.168.1.1。因此,问题似乎是 resolve.conf 未正确写入?哪个包/代码负责写入 resolv.conf?是否有一个特定的包可以让我查看未解决的问题?

更新:istream 发布了一篇很好的文章,讨论了 12.04 中 resolve.conf 的变化。 http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/

答案1

按照resolvconf 手册页(手册页中提供了示例),将以下内容添加到静态配置下的 /etc/network/interfaces 中:

dns-nameservers [IP address(es) of your DNS]     
dns-search      [your dns-search strings (optional)]

答案2

您确定192.168.1.1在设置静态 IP 时提供了 DNS 的值吗?

我不知道如何从命令行执行此操作,但使用 GUISystem Settings -> Network应该也可以,不是吗?我所想的只是您想要类似下面的屏幕截图的东西?还是我不明白您想要做什么?

具有静态 IP、默认路由、DNS 服务器的网络配置

注意:忽略左侧窗口中的值。这些只是我从 DHCP 获取的值。我没有保存静态配置,因为我只是想说明我的想法。

顺便说一句,我之所以使用是192.168.1.1因为您正在使用这个。但您也可以使用任何有效 DNS 服务器的 IP。例如,8.8.8.8和/或208.67.222.222也应该有效。

答案3

如果你不想(或不能)使用网络管理器小程序来设置你的网络设置,我找到了正确的方法来设置“静止的”当您没有可用的 DHCP 服务器时,IP 配置是拥有静态租约。您应该在那里指定当 dhclient 回退到静态时dhclient.conf将写入文件的名称服务器。resolv.conf

但是,如果你不想亲自动手,我仍然建议使用 GUI 在连接的 IP 设置中指定 DNS 服务器地址,如下所示https://askubuntu.com/a/127537/33305

答案4

OP 正在使用服务器版。NetworkManager 不适用……但谁知道也许它会被添加只是为了增加服务器的复杂性。

那就好了,为什么要将 resolvconf 添加到服务器版中...为什么!!?!?!

无论如何回答你的问题添加:

/etc/网络/接口

像这样:

auto eth0 inet static
     dns-nameservers ns1.mydnsservers.com ns2.mydnsservers.com

重要的选项是“dns-nameservers”。

相关内容