我使用 ISP 的路由器和 TP-Link 的 WiFi 接入点运行网络。接入点有一个静态 IP 地址 (192.168.0.100),其 DHCP 服务器已禁用。
我的计算机运行dnsmasq
启用了 Linux 的计算机,并将其用作主名称服务器。我预计该服务器会将所有无法解析的请求转发到我的 ISP 路由器的 DNS 服务器,因此,应该指向 TP-Link 路由器 Web 界面的域将tplinkwifi.net
停止工作。
当我看到这个域名实际上仍然解析为 192.168.0.100 时,我感到非常惊讶。跟踪 DNS 查找并没有消除我的困惑:它似乎实际上是一个全局 DNS 服务器,它使用来自我本地网络的相应 IP 地址进行响应:
$ dig +trace tplinkwifi.net
; <<>> DiG 9.11.25-RedHat-9.11.25-2.fc33 <<>> +trace tplinkwifi.net
;; global options: +cmd
. 5693 IN NS h.root-servers.net.
. 5693 IN NS a.root-servers.net.
. 5693 IN NS l.root-servers.net.
. 5693 IN NS b.root-servers.net.
. 5693 IN NS f.root-servers.net.
. 5693 IN NS g.root-servers.net.
. 5693 IN NS i.root-servers.net.
. 5693 IN NS e.root-servers.net.
. 5693 IN NS k.root-servers.net.
. 5693 IN NS m.root-servers.net.
. 5693 IN NS d.root-servers.net.
. 5693 IN NS j.root-servers.net.
. 5693 IN NS c.root-servers.net.
;; Received 262 bytes from 127.0.0.53#53(127.0.0.53) in 0 ms
tplinkwifi.net. 0 IN A 192.168.0.100
;; Received 48 bytes from 192.36.148.17#53(i.root-servers.net) in 83 ms
这怎么可能?
答案1
Dig 认为响应来自根服务器。但根服务器不会产生这样的响应——它们不是递归的,而是仅有的对.
区域具有权威性,仅此而已。(如果您实际上正在与根服务器对话,那么您将获得对服务器处理的推荐.net
。)
由此看来,你的路由器实际上拦截了全部DNS 请求 - 无论您尝试联系哪个服务器 - 如果请求是“tplinkwifi.net”,那么路由器会向您发送它自己的欺骗响应,而不会真正让您联系服务器。