/etc/resolv.conf 覆盖本地绑定

/etc/resolv.conf 覆盖本地绑定

我已经设置了/etc/bind以下内容:

dig @127.0.0.1 +noall +answer SRV _my-sub._tcp.example.com

_my-sub._tcp.example.com. 300 IN SRV 0 0 12379 a0.example.com.
_my-sub._tcp.example.com. 300 IN SRV 0 0 22379 a1.example.com.
_my-sub._tcp.example.com. 300 IN SRV 0 0 32379 a2.example.com.


dig @127.0.0.1 +noall +answer a0.example.com a1.example.com a2.example.com

a0.example.com. 300 IN  A   127.0.0.1
a1.example.com. 300 IN  A   127.0.0.1
a2.example.com. 300 IN  A   127.0.0.1

现在我想编辑我的/etc/resolv.conf以获得相同的结果,而无需@127.0.0.1。我该如何覆盖resolv.conf才能实现这一点?

谢谢!

dig +noall +answer a0.example.com a1.example.com a2.example.com

应该返回:

a0.example.com. 300 IN  A   127.0.0.1
a1.example.com. 300 IN  A   127.0.0.1
a2.example.com. 300 IN  A   127.0.0.1

答案1

您可以nameserver从 resolv.conf 中删除所有引用,也可以添加特定的

nameserver 127.0.0.1 

到您的文件中。请注意,如果您添加多个名称服务器条目,则将按照它们定义的顺序进行尝试。另请注意,目前最多为三个。

你可能应该读一下文档,解析.conf(5)

答案2

请记住,BIND(以及中的区域文件等/etc/bind)充当着某种目录的作用:它列出了 example.com 中存在的主机、它们的 IP 地址等等。

/etc/resolv.conf另一方面,它会告诉您的机器在 DNS 中查找信息的位置。仅仅因为一台机器正在运行名称服务器并不意味着它必须使用它(有时您可能不想使用您提供给其他人的相同 DNS 数据)。

因此,当您询问如何避免使用 时@127.0.0.1,您实际上是在问“如何将 127.0.0.1 设置为默认名称服务器?”。正如 Iain 所说,将 添加 nameserver 127.0.0.1 到您的/etc/resolv.conf

相关内容