如何知道我在Ubuntu 12.04中使用什么DNS


28

我们过去通过以下方式获取当前的DNS设置:

  cat /etc/resolv.conf

但是Ubuntu 12.04已更改为使用resolvconf框架。上面的共同点只会给我这个:

  # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
  #     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
  nameserver 127.0.0.1

那不是我机器的当前DNS设置。

那么,有没有我可以参考的文件或命令?


2
是台式机还是服务器?
mikewhatever,2012年

我们可以为非桌面环境提供解决方案吗?
皮埃尔·锡伯

您可能喜欢[NetworkManager-社区帮助Wiki] [1] [1]:askubuntu.com/questions/152593/command-line-to-list-dns-servers
Pierre Thibault

对于Ubuntu 14.04及更高版本,存在类似的问题:askubuntu.com/questions/637893/…–
Koala Yeung,

Answers:


28

假设NetworkManager正在管理您的网络配置。

在终端中运行

nm-tool | tail -n 8

(这里的尾部是可选的,只是为了您的方便。)这将告诉您连接信息,类似于ipconfig


3
这可行!我得到了当前连接的前缀,网关和DNS信息。我曾经通过各种命令(route -ncat /etc/resolv.conf)来获取所有这些信息。现在,nm-tools就是这样。大!谢谢!
考拉杨

1
你为什么要用尾巴?如果启用了IPv6,几乎在所有现代发行版中都启用了IPv6,这将剥夺OP明确寻找的DNS信息...
Cerin

1
夸张的说,如果您使用的是家庭办公室,则dns-server的IP地址可能与默认网关的IP地址相同,默认网关通常是诸如belkin路由器之类的路由器。
JohnMerlino 2014年

1
而不是tail我将其通过grep DNStail如果您有多个网络接口,而仅使用其中一个,则将不起作用。例如,如果您有wlan0和eth0,但仅使用wlan0
user12205 2015年

3
nm-tool似乎在15.04中不存在。nmcli dev show提供类似的信息。
itsadok

16

转到任务栏中音量图标旁边的网络连接,然后单击“连接信息”

连接信息截图


2

在12.04中,默认情况下,NetworkManager是网络连接的管理器。

这就是为什么您在中只有回送地址的原因resolv.conf

不用查看此文件,而是检查以下文件夹中的每个网络连接详细信息:

ls /etc/NetworkManager/system-connections/

然后选择要配置的连接。例如,我在该文件夹中有“无线”连接

sudo vi /etc/NetworkManager/system-connections/Wireless

1
这仅显示有关网络的配置。不是从DHCP获得的租用IP和运行DNS设置。
考拉杨

1
回送地址位于resolv.conf中的原因不仅是使用了NetworkManager。原因是使用了本地名称服务器。在Ubuntu 12.04中,默认情况下,NetworkManager启动dnsmasq进程,该进程侦听127.0.0.1来处理DNS查询。(在Ubuntu 12.10中,地址为127.0.1.1。)因此问题不在于glibc解析器使用的地址。问题是:dnsmasq进程将其查询转发到哪个地址?这是idgar正确回答的问题。
jdthood 2012年
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.