如何查看DHCP分配的DNS地址?

Vic*_*r S 41 dns dhcp

如何查看DHCP分配的DNS地址?

ifconfig 不能显示它。

$ ifconfig -a
eth0      Link encap:Ethernet  HWaddr 90:e6:ba:22:6a:f2  
          inet addr:192.168.1.111  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::92e6:baff:fe22:6af2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:224856 errors:0 dropped:0 overruns:0 frame:0
          TX packets:220040 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:166848627 (166.8 MB)  TX bytes:20256333 (20.2 MB)
          Interrupt:46 Base address:0x4000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:5889 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5889 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:468885 (468.8 KB)  TX bytes:468885 (468.8 KB)

wlan0     Link encap:Ethernet  HWaddr 00:26:5e:e8:4f:8e  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
Run Code Online (Sandbox Code Playgroud)

Mar*_*ied 49

对于至少 Ubuntu 15.10 以后的版本(也可能是早期版本)在终端中运行:

nmcli dev show eth0 | grep IP4
Run Code Online (Sandbox Code Playgroud)

eth0是最常见的IFACE,但它可能是eth1eth2

对于旧版本,请使用nmcli dev list iface eth0 | grep IP4.

  • 从 15.04 开始,命令是 `nmcli dev show` (7认同)
  • 使用 `nmcli dev show eth0`(如 15.04)它也适用于 Debian Buster。谢谢! (3认同)

dix*_*ncx 13

$ nm-tool 
Run Code Online (Sandbox Code Playgroud)

还将列出 DNS 服务器。


dev*_*av2 8

要获取DNS地址打开终端(Ctrl+ Alt+ T),然后键入:

cat /var/lib/dhcp/dhclient.leases | grep dhcp-server-identifier
Run Code Online (Sandbox Code Playgroud)

  • 那是[无用的`cat`使用](http://porkmail.org/era/unix/award.html)。您可能指的是“grep 域名服务器 /var/lib/dh​​cp/dhclient.leases”(“域名”,而不是“dhcp 服务器”)。 (3认同)
  • /var/lib/dh​​cp/dhclient.leases 中没有任何内容,它是空的。 (2认同)

小智 6

这里是:

cat /etc/resolv.conf
Run Code Online (Sandbox Code Playgroud)

但不要编辑这个文件

  • 在最近的 Ubuntu 版本中(我认为是 2012 年之后),它不会有用,因为它将包含 `nameserver 127.0.1.1`,指的是 localhost dnsmasq 安装。最好查询 @anwar-shah 和 @marty-fried 编写的 NetworkManager (2认同)
  • 正如您所提到的,该文件可以编辑,因此不一定是 DHCP 分配的地址。现在,如果您自己编辑它,显然,情况会有所不同 - 但如果您使用公司 VPN 呢?或者有其他因素影响该文件?这就是为什么我认为这不是一个好的答案,即使简单且通用。这是一个不错的第一选择,但它本身并不是真正的答案。 (2认同)

Pab*_*chi 6

既然 Ubuntu(以及 Debian 和几乎所有发行版)都使用systemd(检查file /sbin/init),也许获取此信息的更优雅的方法是:

systemd-resolve --status
Run Code Online (Sandbox Code Playgroud)
  • freedesktop.org 文档
  • Arch Wiki:使用systemd-resolve --status它说的地方resolvectl
  • 如果 DNS 子系统有问题,我建议删除resolvconfpackage.json 。可能systemd-resolve.

  • 在巴斯特中不起作用。我收到“无法获取全局数据:未找到单位 dbus-org.freedesktop.resolve1.service”。 (2认同)