我想知道当我运行 nslookup、dig、host、ping 等命令时哪些 DNS 服务器有效。
一般答案是cat /etc/resolv.conf
或查看 NetworkManager,但这只会显示我通常使用的服务器列表。当我连接到 VPN 时,它不会向我显示推送给我的任何 DNS 服务器。
有没有办法获取 nslookup、dig、host、ping 等命令将尝试使用的 DNS 服务器的有序列表?
答案1
如果您正在使用,NetworkManager
则可以使用其中的命令行工具nmcli
来获取此列表:
$ nmcli dev list iface wlan0 | grep IP4
IP4-SETTINGS.ADDRESS: 192.168.1.110
IP4-SETTINGS.PREFIX: 24 (255.255.255.0)
IP4-SETTINGS.GATEWAY: 192.168.1.1
IP4-DNS1.DNS: 192.168.1.8
IP4-DNS2.DNS: 192.168.1.5
IP4-DNS3.DNS: 24.92.226.11
您必须将该位更改wlan0
为您的网络接口。您可以使用以下命令使其更加动态iwgetid
:
$ nmcli dev list iface $(iwgetid | awk '{print $1}') | grep IP4
您还可以使用以下nm-tool
方法获取完整报告:
$ nm-tool
...
IPv4 Settings:
Address: 192.168.1.110
Prefix: 24 (255.255.255.0)
Gateway: 192.168.1.1
DNS: 192.168.1.8
DNS: 192.168.1.5
DNS: 24.92.226.11
答案2
resolvectl status vpn0
resolvectl status wlan0
resolvectl status ...