有没有办法看到我真实的域名系统服务器?
我不是指 127.0.0.53 或路由器(192.168.0.1),而是 bash 中真正的外部服务器?
我说的是 ISP DNS,或者 VPN DNS 服务器......
答案1
答案2
127.0.0.53 提示systemd-resolved
(参见为什么/etc/resolv.conf指向127.0.0.53?);您可以通过systemd-resolve --status
(或)查看它当前使用的名称服务器resolvectl status
,它显示如下内容:
Link 3 (eno1)
Current Scopes: DNS
DefaultRoute setting: yes
...
Current DNS Server: 8.8.8.8
DNS Servers: 8.8.4.4
DNS Domain: ...
现在,如果这些指向您所在场所的外部路由器,可能是因为它执行 NAT 并充当 DHCP 服务器并提供自己的地址作为名称服务器,那么您需要从路由器自己的配置或状态信息中找出它转发查询。
当然,最终请求会发送到正在访问的站点的名称服务器之一。不过,这些都与 Bash 或其他 shell 无关。
答案3
假设您在 Linux 上使用 systemd-resolved。要验证显示的信息systemd-resolve --status
并查看计算机实际发出的信息,您可以设置一个 shell 来运行数据包捕获,sudo tcpdump -i any udp port 53 -nn
同时测试来自另一个 shell 的 DNS 查询。
您可能需要安装 tcpdump 工具,该工具应该在您的存储库中可用。
通过路由器的查询与通过 VPN 的查询的区别如下所示:
nslookup google.com
19:12:26.749153 IP 127.0.0.1.53404 > 127.0.0.53.53: 24079+ A? google.com. (28)
19:12:26.749310 IP 192.168.0.108.57422 > 192.168.0.1.53: 34613+ [1au] A? google.com. (39)
19:12:26.754334 IP 192.168.0.1.53 > 192.168.0.108.57422: 34613 1/0/1 A 216.58.211.14 (55)
19:12:26.754483 IP 127.0.0.53.53 > 127.0.0.1.53404: 24079 1/0/0 A 216.58.211.14 (44)
19:12:26.754839 IP 127.0.0.1.48040 > 127.0.0.53.53: 54901+ AAAA? google.com. (28)
19:12:26.755037 IP 192.168.0.108.57637 > 192.168.0.1.53: 64355+ [1au] AAAA? google.com. (39)
19:12:26.760094 IP 192.168.0.1.53 > 192.168.0.108.57637: 64355 1/0/1 AAAA 2a00:1450:400f:80d::200e (67)
19:12:26.760356 IP 127.0.0.53.53 > 127.0.0.1.48040: 54901 1/0/0 AAAA 2a00:1450:400f:80d::200e (56)
nslookup companyname.com
19:12:48.423115 IP 127.0.0.1.46052 > 127.0.0.53.53: 3203+ A? companyname.com. (40)
19:12:48.423377 IP <vpndns-IP>.46258 > <vpn-IP>: 19523+ [1au] A? companyname.com. (51)
19:12:48.463179 IP <my-vpn-IP> > <vpndns-IP>.46258: 19523 1/0/1 A <reply-IP> (67)
19:12:48.463461 IP 127.0.0.53.53 > 127.0.0.1.46052: 3203 1/0/0 A <reply-IP> (56)
19:12:48.463977 IP 127.0.0.1.35173 > 127.0.0.53.53: 30803+ AAAA? companyname.com. (40)
19:12:48.464224 IP <vpndns-IP>.44227 > <vpn-IP>: 41970+ [1au] AAAA? companyname.com. (51)
19:12:48.503799 IP <my-vpn-IP> > <vpndns-IP>.44227: 41970 0/1/1 (103)
19:12:48.504027 IP 127.0.0.53.53 > 127.0.0.1.35173: 30803 0/0/0 (40)
您会看到我的本地 192.168 地址与 192.168.0.1 路由器通信以查找 google。对于通过 VPN 查询公司域,您会看到我的 VPN IP 与公司 DNS IP(屏蔽)对话。这是拆分 DNS 配置。
如果你有 cli 访问权限,你的路由器也可能会做同样的事情,这会让你在这个方向上更进一步。但是,当检查您的 VPN 时,主要关心的问题是在您的本地计算机上查看应该就足够了。