如何在 resolv.conf 中包含不会在重启时丢失的行?

如何在 resolv.conf 中包含不会在重启时丢失的行?

我终于从 7.10 迁移到了 12.04。还有最后一部分要完成,但我不知所措。我在每台服务器上都使用 Puppet,过去我在 resolv.conf 中为 puppetmaster 包含了一个名称服务器地址和一个搜索域名。

search puppetmaster.com
nameserver 192.168.1.XXX

在 12.04 中,resolv.conf 在重新启动时会被覆盖。我无法为这些使用静态 IP,因此使用 /etc/network/interfaces 来帮助我是毫无意义的。

# 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 127.0.0.1

有没有办法让 resolvconf 在头部、尾部或底部处理这个问题?如果有,是否有任何示例可用于在我的服务器上进行调整。

任何帮助深表感谢。

答案1

最好让您的 DNS 服务器能够将“puppet”解析为正确的地址,并且让您的 DHCP 服务器提供 DNS 名称服务器地址和搜索列表,或者(如果您有静态 IP 地址)在 /etc/network/interfaces 中包含以下内容。

iface eth0 inet static
    address 192.168.3.3
    netmask 255.255.255.0
    gateway 192.168.3.1
    dns-search example.com
    dns-nameservers 192.168.3.45 192.168.8.10

但是如果您确实想通过 resolvconf 配置文件执行此操作,您将需要编辑/etc/resolvconf/resolv.conf.d/base。在该文件中,输入您的信息,就像在中一样resolv.conf

nameserver 192.168.1.XXX

然后告诉 resolvconf 重新生成resolv.conf

sudo resolvconf -u

答案2

我认为答案是检查你的/etc/dhcp/dhclient.conf,即不要向dns-nameservers你的DHCP服务客户。

然后更新您的/etc/network/interfaces

auto eth0
iface eth0 inet dhcp
dns-search google.com
dns-nameservers dnsserverip

然后你resolv.conf就会按照你想要的方式自动配置。

添加到dns-search然后运行/etc/init.d/networking restart (即使这个脚本已被弃用,但它仍然有效)。

答案3

这可能是由您首次安装 Ubuntu 时的 DHCP 配置引起的。请尝试以下 3 步流程来处理此自动配置问题。

第一的

编辑您的接口配置,位于:/etc/network/interfaces

添加以下行iface lo inet loopback

dns-nameservers yourdns youraltdns

以 Google DNS 为例,您可能想要使用以下内容:

dns-nameservers 8.8.8.8 8.8.4.4

第二

编辑您的 DHCP 配置文件,位于:

/etc/dhcp/dhclient.conf

在每一行上使用 将语法标记为注释#,或者直接删除每个请求名称服务器。在 16.04 中,您可能不需要在此处进行任何更改。

第三

使用以下命令重新启动网络:

/etc/init.d/networking restart

在 16.04 中:

sudo ifdown -a
sudo ifup -a

答案4

请查看 的resolvconf手册页。您可以通过创建以下代码强制包含某些 DNS 设置/etc/resolvconf/resolv.conf.d/base

  /etc/resolvconf/resolv.conf.d/base
          File containing basic resolver information.  The lines  in  this
          file  are  included in the resolver configuration file even when
          no interfaces are configured.

还有其他特殊文件(头部和尾部),这些可能有助于您实现您想要的。

相关内容