Linux 设备可以 ping 通本地网络中的 IP 地址,但不能 ping 通主机名

Linux 设备可以 ping 通本地网络中的 IP 地址,但不能 ping 通主机名

我有一个包含两台 Linux 设备、一台路由器和一台 Windows 计算机的网络。Linux 计算机可以使用 IP 地址相互 ping 通,并且能够解析域名,例如www.google.com,但它们无法解析彼此的主机名。

Linux 机器 1 的 resolvectl status 输出

Linux 机器 2 的 resolvectl status 输出

我收到的错误是“名称解析暂时失败”。192.168.0.1 是路由器 IP

路由器 DHCP 设置

答案1

域名是使用 systemd-resolved 解析已注册名称所必需的。如果您没有自己的注册,请使用home.arpa域名。

但是同时使用提供给机器的 8.8.8.8 不会起作用,也不可靠。只有路由器知道本地名称,DNS.google 不知道。为了使它们工作,DHCP 只应提供一个 DNS 服务器 - 路由器的地址。首先使用路由器地址的常见技巧对于 systemd-resolved 或任何其他缓存来说都不可靠,除非它以相同的顺序尝试名称服务器。据我所知,只有 dnsmasq 有特殊选项。

替代解决方案是使用 mDNS 或 LLMNR 多播协议进行本地机器解析,使用 Google 服务器进行互联网名称解析。

相关内容