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