通过 fqdn 连接同一网络中的主机

通过 fqdn 连接同一网络中的主机

假设我有 2 台服务器。它们位于同一网络、同一子网和同一域中。一切都相同。

server1.something.internal -> 10.0.0.1
server2.something.internal -> 10.0.0.2

所以我的问题是为什么我不能通过主机的 fqdn ping 主机?我不想使用 ips,而是想使用主机名和域名来连接主机

root@server1:~# ping server2.something.internal
ping: unknown host server2.something.internal

主机是 Debian 6.0。主机名和域名设置正确。网络上没有 dns 或 dhcp 服务器。Ips 设置为静态。

这是etc/resolv.conf两个服务器的

domain something.internal
search something.internal
nameserver 8.8.8.8

答案1

您的机器必须能够将这些 fqdn 解析为服务器的 ip 地址。

你说你没有 DNS(即使你有)谷歌的公共解析器不会/不应该归还非互联网 IP到国外网络)。这意味着必须通过/etc/hosts或进行解析也许指定的其他方法/etc/nsswitch.conf

底线:您无法通过 FQDN ping 主机,因为“其 FQDN”无法解析(正确?)。

答案2

搜索指令与解析 FQDN 无关,它只是将域(在您的情况下为 something.internal)附加到任何主机名查询(在您的示例中为 sever2)。

您需要在计算机上安装一些东西来将 FQDN 解析为 IP 地址。两个标准“东西”是 DNS 或 /etc/hosts

你说你没有(也不想要?)DNS服务器,所以基本上只剩下hosts文件了。编辑/etc/hosts并添加

10.0.0.1    server1.something.internal
10.0.0.2    server2.something.internal

答案3

听起来是个不错的案例域名系统. 使用你的包管理器来安装。

假设您有一台全天候运行的服务器,请在该机器上安装 dnsmasq。将其他机器的 IP 和主机名添加到该机器的 /etc/hosts 文件中。然后启动域名系统服务。在其他机器的 resolv.conf 中添加已安装该服务的机器的 IP。域名系统安装为 DNS 服务器并重新启动网络。

域名系统做许多其他事情。/etc/dnsmasq.conf 是自我记录的,是一个很好的起点。

相关内容