我知道它们是在 中定义的/etc/resolv.conf
,但如果它不在那里怎么办?更具体地说,如何找到 DHCP 返回的 DNS 服务器?
在 GNOME 中,您可以使用 NetworkManager 小程序查看任何连接的主 DNS,那么如何从命令行执行相同操作?
答案1
通常dhclient.leases文件位于/var/lib/dhcp3/dhclient.leases
,输入以下命令:
less /var/lib/dhcp3/dhclient.leases
或者
cat /var/lib/dhcp3/dhclient.leases
或者
您可以使用 grep 命令来获取 DHCP 服务器地址,输入:
grep dhcp-server-identifier /var/lib/dhcp3/dhclient.leases
或者
dhclient eth0
答案2
我最近遇到了这个问题,我的dhcpcd
配置有误,因为没有设置 DNS 服务器。我发现我可以使用以下命令查询哪些名称服务器可通过 DHCP 使用:
sudo dhcpcd -o domain_name_servers -T
该命令将输出一堆网络连接信息。查找以 开头的行new_domain_name_servers
。
从这里我可以手动设置名称服务器。
答案3
查询 DHCP 服务器的另一种解决方案:
sudo nmap --script broadcast-dhcp-discover
输出告诉您 DHCP 服务器提供的名称服务器:
Starting Nmap 7.60 ( https://nmap.org ) at 2019-12-12 23:50 UTC
Pre-scan script results:
| broadcast-dhcp-discover:
| Response 1 of 1:
| IP Offered: 144.123.211.44
| DHCP Message Type: DHCPOFFER
| Server Identifier: 144.123.99.200
| IP Address Lease Time: 5m00s
| Subnet Mask: 255.255.0.0
| Router: 144.123.99.200
| Domain Name Server: 144.123.99.200
|_ Domain Name: localdomain
答案4
那么,为什么不直接挖掘它呢?
marcus@marcus ~ $ dig google.de
; <<>> DiG 9.4.3-P3 <<>> google.de
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27579
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 6, ADDITIONAL: 0
;; QUESTION SECTION:
;google.de. IN A
;; ANSWER SECTION:
google.de. 1785 IN A 209.85.229.104
google.de. 1785 IN A 216.239.59.104
google.de. 1785 IN A 74.125.77.104
;; AUTHORITY SECTION:
de. 23431 IN NS L.DE.NET.
de. 23431 IN NS Z.NIC.de.
de. 23431 IN NS F.NIC.de.
de. 23431 IN NS C.DE.NET.
de. 23431 IN NS S.DE.NET.
de. 23431 IN NS A.NIC.de.
;; Query time: 1 msec
;; SERVER: 192.168.1.15#53(192.168.1.15)
;; WHEN: Thu Sep 17 19:33:39 2009
;; MSG SIZE rcvd: 181
看最后几行:;; SERVER: 192.168.1.15#53(192.168.1.15)