无法通过 nslookup 根据 IP 地址解析主机名

无法通过 nslookup 根据 IP 地址解析主机名

我的局域网上有一台 Ubuntu 服务器。我可以通过它的 IP 地址充分使用它(samba、ssh、apache2、xmpp……)。但我想使用主机名进行连接(例如 ssh)。当我使用服务器的 IP 地址执行 nslookup 时,答案是:name = noname(这不是服务器的主机名 ;-) 局域网上的其他主机都使用正确的主机名进行响应。

nslookup 10.0.0.24 的输出(这是我的 ubuntu 服务器):没有显示主机名

Server:     127.0.1.1
Address:    127.0.1.1#53
24.0.0.10.in-addr.arpa  name = noname.

nslookup 10.0.0.21 的输出(这是我的 raspberryPi):显示正确的主机名。

Server:     127.0.1.1
Address:    127.0.1.1#53
21.0.0.10.in-addr.arpa  name = retropie.

所有主机都通过 DHCP 获取其 IP 地址。因此,正确显示其主机名的主机从未单独配置过。

答案1

对于如此小的网络,并且不假设该网络上有 DNS 服务器,您只需将 IP 地址添加到每台机器上的本地主机文件中即可。我知道这有点“老派”,但它将 100% 稳定并且永远不会失败。

dns 可能失败的原因是您的 dhcp 服务器可能正在为您无法控制的 dns 服务器提供 dns 设置,或者该 dns 服务器无法从 dhcp 系统自动更新。如果您将静态条目添加到您的(您控制的 dns 服务器,其 ip 地址通过 dhcp 提供)中,那么您将从网络上的任何机器的 cli 获得正确的 nslookup。

答案2

没有自动系统可以让网络的其余部分知道您的主机名。如果您有 DHCP 服务器(通常在家庭设置中的路由器上),它可能会知道它(我知道我的路由器知道,但我对 DHCP 协议不够了解,不知道它是如何完成的)。如果您想让其他人知道某个名称对应的 IP 地址,您(通常)必须设置 DNS。

相关内容