我特指的是系统设置过程中出现的“域名”提示。据我了解,在此提示中输入的值/etc/resolv.conf
将按如下方式插入。
search mydomain.local
domain mydomain.local
这答案让我相信,同一非托管网络(假设连接到网络交换机或集线器)上的两个 debian 系统(假设deb1
和deb2
)将能够搜索彼此的主机名并能够互相 ping 通。尽管当我安装两个具有相同设置的 debian 虚拟机时,尽管主机名不同,但deb2
无论是通过 pingdeb1
还是deb1.mydomain.local
(或反之亦然)都无法进行通信。我也没有通过 IPv6 链路本地进行通信,我的印象是应该完全自动配置。
我的设置是否有问题,或者这种类型的通信无法通过非托管设置进行?
答案1
搜索域的作用是提供一个附加到名称解析查询的域名,.
其中包含的点 (a) 少于 ndots 选项设置的值/etc/resolv.conf
(默认为 1)。 (resolv.conf
手册页,参见search
章节。)
这意味着,如果 myresolv.conf
指定并且我有一个想要连接的search corp.org
主机,我可以使用该主机名进行连接,因为会自动附加到任何小于 1 的主机名。mailsvr.corp.org
mailsvr
corp.org
.
至于为什么尽管进行了 IPv6 自动配置,但如果您的虚拟机未配置为通过 DNS 或映射中的 DNS 将另一个设备的主机名解析为 IPv6 地址,您的两个设备之间仍无法进行通信。/etc/hosts
文件然后他们不知道将数据包发送到哪里。所以如果deb1
是::10,deb2
不知道这一点。如果您尝试ping deb1
,deb2
您将收到错误Unknown host deb1
。您可以在deb2
的文件中添加一行/etc/hosts
,其中的地址deb1
映射到其主机名,例如::10 deb1
。需要deb1
对deb2
映射到其 IP 地址的地址执行相同的操作,以便deb1
知道地址deb2
也有什么。