我如何知道 DNSMasq 正在使用哪些 DNS 服务器?

Jef*_*eff 39 dns dnsmasq

如何知道 DNSMasq 使用哪些 DNS 服务器将名称解析为 IP 地址?我想不通。这里所有现有的问题似乎只是告诉用户他们正在使用 DNSMasq。

Pet*_*rch 24

您可以使用 NetworkManagerCLI ( nmcli) 工具找到 DNS 服务器:

nmcli dev show | grep DNS
IP4.DNS[1]:                             172.22.216.251
IP6.DNS[1]:                             2a01:4f0:400c:1::1
Run Code Online (Sandbox Code Playgroud)

Ubuntu 14.04 及更早版本

该命令在较旧(<15.04)版本的 Ubuntu 中略有不同:

> nmcli dev list | grep DNS
IP4.DNS[1]:                             172.22.216.251
IP6.DNS[1]:                             2a01:4f0:400c:1::1
Run Code Online (Sandbox Code Playgroud)


小智 24

当您在没有网络管理器和多个上游 DNS 的情况下使用 dnsmasq 时,要获得更通用的答案:

sh# kill -USR1 <PID OF DNSMASQ>
sh# tail /var/log/syslog
Run Code Online (Sandbox Code Playgroud)

收到 SIGUSR1 后,dnsmasq 将记录各种统计信息,包括发送到每个上游服务器的 DNS 请求的数量。基于此,您可以轻松确定系统上最常用的 DNS 服务器。

  • 此外,当对连接进行任何更改(例如连接到 VPN)时,dnsmasq 会将这些记录到 /var/log/syslog:`dnsmasq[xxx]:从 DBus dnsmasq[xxx] 设置上游服务器:使用名称服务器 10.xx。 xx.xx#53(via tun0) dnsmasq[xxx]: 使用名称服务器 192.xx.xx.x#53(via wlp2s0)` (4认同)