我有一个域名,由 Cloudflare 托管。其中一个 A 记录(test.lan.my_domain.com)指向部署在内网里的一个服务,IP 地址 10.0.0.235 。我在家里的某台机器上部署了一个本地 DNS 解析服务器用于去广告,DNS IP 为 10.0.0.230 。我在路由器上设置 DHCP 分配的 DNS 为 10.0.0.230, 8.8.8.8, 8.8.4.4 。
我本地的最终 DNS 如下:
resolver #1
search domain[0] : hsd1.xx.comcast.net
nameserver[0] : fe80::6a1:xxxx:xxxx:xxxx%11d <<<=== IPv6 分配来的
nameserver[1] : 10.0.0.230
nameserver[2] : 8.8.8.8
nameserver[3] : 8.8.4.4
以上为背景。最近我发现在启用 IPv6 之后我无法在 MacOS 里ping这个域名了,具体错误为unknown host,并且网页也打不开。但是通过nslookup test.lan.my_domain.com是可以得到正确的解析。在ping的时候我的 DNS 服务器上没有这条请求记录,但是可以看到经由nslookup发出的解析请求。究其原因应该是nslookup绕过系统直接向 DNS 发请求查询吧。
所以问题很奇怪,为什么系统拒绝向本地 DNS 查询一个域名呢?