Dns

列出所有 DNS 伺服器,包括那些由 VPN 推送的伺服器

  • December 14, 2021

我想知道當我執行 nslookup、dig、host、ping 等命令時哪些 DNS 伺服器有效。

一般的答案是cat /etc/resolv.conf,或查看 NetworkManager,但這只會顯示我通常使用的伺服器列表。當我連接到 VPN 時,它不會顯示任何推送給我的 DNS 伺服器。

有沒有辦法獲取 nslookup、dig、host、ping 等命令將嘗試使用的 DNS 伺服器的有序列表?

如果您正在使用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

引用自:https://unix.stackexchange.com/questions/83502