列出所有 DNS 服务器,包括 VPN 推送的服务器

列出所有 DNS 服务器,包括 VPN 推送的服务器

我想知道当我运行 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 ...

相关内容