我的笔记本电脑上运行着 Ubuntu 18.04。我尝试使用主机名 ping 本地网络上的其他计算机,但没有成功。
$ ping ubuntudesktop
ping: ubuntudesktop: Name or service not known
我已将 WiFi 适配器的名称服务器设置如下: Wifi 适配器 DNS 设置
我使用 wireshark 监听 wifi 数据包,但运行 ping 命令时没有看到任何 DNS 查询。为什么这些名称服务器未被使用?
附注:例如,当我使用 nslookup 查找 google.com 时,我得到以下信息:
$ nslookup google.com
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: google.com
Address: 172.217.14.238
Name: google.com
Address: 2607:f8b0:400a:803::200e
我假设服务器是 DNS 服务器的地址?127.0.0.53 不是环回接口的地址吗?这是否意味着它本质上是在查询自身?
答案1
127.0.0.53 是使用的地址systemd-resolved.service
tcp 0 0 127.0.0.53:53 0.0.0.0:* 监听 1224/systemd-resolv udp 0 0 127.0.0.53:53 0.0.0.0:* 1224/systemd-resolv
其他计算机的主机名将不会通过 DNS 服务进行解析。
您需要/etc/hosts
静态地指定它们。
例子:
127.0.0.1 本地主机 127.0.1.1 mypc 192.168.1.100 ubuntudesktop
您可以通过 sudo 编辑此文件
sudo 编辑 /etc/hosts