无法通过主机名 ping 到另一台 Linux 机器

无法通过主机名 ping 到另一台 Linux 机器

当我尝试 ping 到本地网络中的另一台 Linux 机器时,当我在 ping 命令中插入主机名时,我没有工作。

sudo ping Raspberry2

仅当我在命令中插入 IP 地址时它才有效

sudo ping 192.168.1.15

有没有人有办法解决吗?

答案1

长话短说

如果您无法控制网络的 DHCP 服务器和名称查找服务,那么您能做的事情就会受到限制。典型的选项是 /etc/hosts 和动态 DNS 服务,但如果您在这两个机器上都没有 root 权限,那么您只需直接使用 IP 地址即可。

解析名称

您无法通过名称查找主机,除非您能够解决它。这Debian手册解释:

8.3.1.名称解析 Linux 中的名称解析机制是模块化的,可以使用 /etc/nsswitch.conf 文件中声明的各种信息源。涉及主机名解析的条目是hosts。默认情况下,它包含files dns,这意味着系统首先查询 /etc/hosts 文件,然后查询 DNS 服务器。 NIS/NIS+ 或 LDAP 服务器是其他可能的来源。

自从你的评论表示目标主机有一个动态 IP 地址,如果 Raspberry2 在获取其 IP 地址时不更新 DNS(或其他数据源之一),那么您必须通过 /etc/hosts 文件中的静态条目来解析它或者像您已经做的那样简单地传递一个 IP 地址。

如果您的 Raspberry Pi 设备位于专用网络内,并且您可以在其上安装必要的软件,动态域名解析服务如果客户端支持查找分配给主机网络接口的 IP,而不仅仅是可公开解析的 IP 地址,则可能仍然有帮助。您使用动态 DNS 的效果肯定会有所不同。

答案2

您需要将适当的条目添加到您的主机文件中。否则,您需要将正确的 A 记录添加到您的 DNS。

答案3

如果您使用公共 DNS,则不需要 A 记录或主机文件条目,您可能会发现看不到内部网络上的主机名,但是如果您没有更改计算机以及路由器或内部 dns 的 DNS 设置服务器是主要或辅助 DNS 查找服务器,那么您不应该遇到此问题。

我建议检查您的 DNS 设置,并且 a) 如果您使用公共 DNS,则添加主机条目,或者如果您使用路由器 DNS,请确保它允许通过网络解析本地主机名

答案4

您的 DNS 服务器似乎没有 Raspberry2 的记录。如果您没有 DNS 服务器,请将以下行添加到 /etc/hosts 文件中

192.168.1.15 树莓2

相关内容