DNS 服务器上的 DNS 查找有效,但客户端上的 IP 错误

DNS 服务器上的 DNS 查找有效,但客户端上的 IP 错误

我正在尝试设置 DNS 服务器来更改本地网络中的几个域 - 首先使用 bind9,然后使用 dnsmasq。使用这两种软件,我都遇到了同样的问题:在 dns 服务器本身上执行 nslookup / dig 时,我得到了正确更改的 ip 匹配。

但是,当使用 DNS 服务器在机器上进行查找时,它会返回错误的(原始)主机 IP,而不是修改后的 IP。

在 DNS 本身上

nslookup mydomain.com
Server:     127.0.0.1
Address:    127.0.0.1#53

Name:   mydomain.com
Address: <correctly modified host ip>

在已刷新缓存的设备上 (mac / android):

nslookup mydomain.com
Server:     <dns server ip>
Address:    <dns server ip>#53

Non-authoritative answer:
Name:   mydomain.com
Address: <original host ip>

问题是,为什么服务器上的输入是正确的,但客户端上的输入却有错误?

答案1

将修改后的 DNS 条目传播到互联网需要一些时间。当旧记录(如 TTL 中定义)过期时,新记录将自动替换。您必须等待一段时间,直到 TTL 过期。

答案2

这个问题非常愚蠢而且明显:我的主机在机器上激活了一个 UDP 块。

我猜 Mac 和 Android 会使用备用 DNS 服务器,以防无法访问一组 DNS 服务器?这就能解释错误(正确)的结果了。

然而,在 Linux 机器上,使用新 DNS 服务器的 nslookup/dig 导致超时。

相关内容