解决错误的 BIND9 DNS 地址输入

解决错误的 BIND9 DNS 地址输入

我在 LAN 中设置了一个 BIND9 DNS 服务器作为 Samba4 服务的后端。我的 LAN 的网络地址是 192.168.2.0/24,我将 DNS 服务器的 IP 地址静态指定为 192.168.2.144。

不幸的是,我的 DNS 服务器上还有另外一个 MIC(其实 DNS 服务器就是一个虚拟盒子,多余的 MIC 就是虚拟网桥),它们在不同的网络中,虚拟网桥的网络地址是 192.168.122.0/24。

我在/etc/named.conf中将一个域名dc.foo.bar绑定到静态地址192.168.2.144,但是当我使用host -t A dc.foo.bar查询DNS信息时,返回两个条目,一个是192.168.2.144,另一个是192.168.122.1。

我不希望 dc.foo.bar 绑定到 192.168.122.1,也不知道如何将其添加到 DNS 服务中。我该如何解决问题并删除错误的 DNS 地址条目?


更新

我粘贴了 dig 的结果以供参考

[root@dc ~]# dig A dc.foo.bar

; <<>> DiG 9.8.2rc2 <<>> A dc.foo.bar
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62496
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;dc.foo.bar.        IN  A

;; ANSWER SECTION:
dc.foo.bar. 900 IN  A   192.168.122.1
dc.foo.bar. 900 IN  A   192.168.2.144

;; Query time: 1 msec
;; SERVER: 192.168.2.144#53(192.168.2.144)
;; WHEN: Sun Aug 11 22:12:03 2013
;; MSG SIZE  rcvd: 72

再次更新

我仔细检查了 samba 日志和绑定配置。我很确定问题是由 samba 引起的。在 samba 配置文件中,interfaces全局部分有一个参数。最初,我保留其默认值,我发现地址 192.168.122.1 由 samba 日志中的内部绑定解析。然后我指定了它的接口 = eth0,即只应解析物理 NIC。现在从 samba 日志中,192.168.122.1 从未加载过。但是,dig 仍然返回 dc.foo.bar 的两个地址。因此,问题可能是ldb数据库中已弃用的条目。有什么想法可以让我重建数据库ldb吗?

提前谢谢您!

答案1

您可以尝试使用实用程序 dig 进行调试,它将显示它查询哪个解析器以及得到什么答案。dig A dc.foo.bar。

答案2

问题是因为我没有interfacesglobal部分中指定参数smb.conf。看来 Samba 会自动为每个 NIC 生成条目。我重新配置了域(因为我不知道如何更新数据库ldb),问题就解决了。

相关内容