如何知道DNSMasq使用的是哪个DNS服务器?


31

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

Answers:


17

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

nmcli dev show | grep DNS
IP4.DNS[1]:                             172.22.216.251
IP6.DNS[1]:                             2a01:4f0:400c:1::1

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

不是nmcli dev show
einpoklum-恢复莫妮卡

@einpoklum:不。在我的14.04盒子上,nmcli dev show给出:Error: 'dev' command 'show' is not valid.
Peter V.Mørch'16

在我的Lubuntu 15.10上,情况恰恰相反。
einpoklum-恢复莫妮卡

20

有关使用不带网络管理器和多个上游DNS的dnsmasq的更通用的答案:

sh# kill -USR1 <PID OF DNSMASQ>
sh# tail /var/log/syslog

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


4
另外,当对连接进行任何更改(例如,连接到VPN)时,dnsmasq会将其记录到/ var / log / syslog中:dnsmasq[xxx]: setting upstream servers from DBus dnsmasq[xxx]: using nameserver 10.xx.xx.xx#53(via tun0) dnsmasq[xxx]: using nameserver 192.xx.xx.x#53(via wlp2s0)
Mike Demenok

这是一个更好的答案,因为它告诉您实际使用了哪些服务器,而不是仅配置了要使用的服务器。
乔纳·布劳恩

谢谢,您的回答给了我提示,让我仔细研究一下日志sudo journalctl -b -u dnsmasq | grep nameserver
selurvedu

2

通常,对于使用的系统systemddnsmasq可以通过以下方式找到正在使用的DNS服务器

journalctl -u dnsmasq


dnsmasq由NetwokrManager启动(并且通过dbus传递配置)时,此方法不起作用
Taha Jahangir

0

在Ubuntu 15.04上,命令为:

$ nmcli dev show | grep DNS
IP4.DNS[1]:                             8.8.8.8

0

包装内:

network-manager 0.9.8.8-0ubuntu7.2 amd64 

该命令是:

root@D-MIS-001:~# nmcli dev list | grep DNS
IP4.DNS[1]:                             172.16.10.173
IP4.DNS[2]:                             172.16.10.133

这似乎是Ubuntu 14.04 LTS的当前软件包版本。15. *的正确命令可能已更改。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.