Ubuntu Bind9 设置和 resolv.conf

Ubuntu Bind9 设置和 resolv.conf

我发现这个教程是我见过的最好的教程,而且它很实用!做得好,尽管由于我的网站权限,我暂时还不能投票和评论。

如何使用主机名完成完整的 BIND9 DNS 服务器配置?

我的问题是,我不确定 resolv.conf 文件,教程中指出要在其中插入名称服务器、域和搜索。我的 resolv.conf 文件上面有一条注释,上面写着“请勿手动编辑此文件 - 您的更改将被覆盖”。有人能帮我解释一下吗?

提前谢谢你,马里奥。

答案1

您参考的教程已经过时了,因为它告诉您手动编辑 /etc/resolv.conf。在 Ubuntu 12.04 及更高版本中,您无需手动编辑 /etc/resolv.conf,而是配置 resolvconf 以将正确的内容放入该文件中。如果您已按照本教程中的其他步骤操作,并希望使用本地运行的 BIND 9 命名来解析 DNS 名称,那么正确的做法是 (1) 确保 /etc/resolv.conf(仍然)是符号链接,../run/resolvconf/resolv.conf并且 (2) 在 /etc/default/bind9 中设置RESOLVCONF=yes以使 BIND 9 命名在启动时向 resolvconf 注册其本地监听地址 127.0.0.1;(3) 执行/etc/init.d/bind9 restart

如果您想将搜索域名添加到解析器配置中,请在 /etc/network/interfaces 中的节dns-search中添加一行。iface lo

iface lo inet loopback
    dns-search name1 name2

完成此操作后,您必须ifdown loifup lo信息添加到 resolv.conf。

答案2

编辑 resolv.conf 时显示:

glibc 解析器 (3) 的动态 resolv.conf(5) 文件由 resolvconf(8) 生成

请勿手动编辑此文件——您的更改将被覆盖

这不是关于 resolv.conf 的问题,而是关于 resolvconf 的问题。这两个文件名除了少了一个点之外几乎一模一样。执行 resolvconf 时,它会提供更多信息。好的,让我们查看手册:

要使 ifup 在配置接口时将名称服务器信息推送到 resolvconf,请在 /etc/network/interfaces 中的相关 iface 节中添加 dns- 行。要添加名称服务器地址,请添加以 dns-nameservers 开头的行。

dns-nameservers 11.22.33.44 55.66.77.88

换句话说,您在 resolvconf 中写入的内容将被添加到 resolv.conf 中,因此如果您在那里添加了行,它将在您重新启动时被删除并被 resolvconf 覆盖。

您还可以在 /etc/network/interfaces 中指定您的 dns 服务器

这就是答案!

相关内容