我的DNS服务器是192.168.1.152
。
这个DNS由DHCP提供给客户端。我的局域网上的Windows客户端可以正确解析使用该DNS的名称,但我的Ubuntu虚拟机不能。
虚拟机已经设置为桥接网络,并且已经正确地提供了DNS服务器,但是我的本地主机名无法通过nslookup或浏览器解析。
这是我一个本地域名的nslookup
:
# nslookup unraid.local
Server: 127.0.0.53
Address: 127.0.0.53#53
** server can't find unraid.local: SERVFAIL
这是通过使用我的DNS服务器应该解析的内容。
# nslookup unraid.local 192.168.1.152
Server: 192.168.1.152
Address: 192.168.1.152#53
Name: unraid.local
Address: 192.168.1.152
/etc/resolv.conf
的nameserver设置有误:
# 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
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.
nameserver 127.0.0.53
我运行了那个命令。在DNS服务器下面,令人困惑的是,它指定了正确的服务器(以及我的默认网关)。
root@ubuntu:~# systemd-resolve --status
Global
DNSSEC NTA: 10.in-addr.arpa
16.172.in-addr.arpa
168.192.in-addr.arpa
17.172.in-addr.arpa
18.172.in-addr.arpa
19.172.in-addr.arpa
20.172.in-addr.arpa
21.172.in-addr.arpa
22.172.in-addr.arpa
23.172.in-addr.arpa
24.172.in-addr.arpa
25.172.in-addr.arpa
26.172.in-addr.arpa
27.172.in-addr.arpa
28.172.in-addr.arpa
29.172.in-addr.arpa
30.172.in-addr.arpa
31.172.in-addr.arpa
corp
d.f.ip6.arpa
home
internal
intranet
lan
local
private
test
Link 2 (ens33)
Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNS Servers: 192.168.1.152
192.168.1.1
我不想在配置文件中“硬编码”DNS服务器的IP地址,因为当我更改网络时,我将无法解析。
如何让resolvconf和NetworkManager自动设置DHCP服务器的IP地址在/etc/resolv.conf中?
/etc/resolv.conf
链接来自/run/systemd/resolve/stub-resolv.conf
,这是个错误,它应该是/run/systemd/resolve/resolv.conf
。请注意,无论哪种情况下都不存在/etc/resolv.conf
文件。 - Mr Heelisping
可以工作吗?host
和nslookup
在解析主机名时与ping
或wget
有所不同。你可能需要查看/etc/nsswitch.conf
来找到解决方案。 - HongboZhu