如何解析链接本地主机而不输入 .local

如何解析链接本地主机而不输入 .local

因此,在 Windows 中,如果我输入ping familyroom,它会告诉我家庭房间中的 PC 是 192.168.1.61。(DHCP 分配的地址不在任何 DNS 中)

我正在运行新安装的 Ubuntu 14.04 Trusty Tahr LTS,如果我尝试ping familyroom,我会得到未知主机。但是,如果我尝试ping familyroom.local,我会从同一个 IP 地址获得成功响应。

现在我意识到我只能使用包含 .local 域的 FQDN,但我很懒,我想让 Ubuntu 14.04 像 Windows 7 一样为我工作,这只是另一个让我恼火的吹毛求疵的事情。

作为测试,我添加了一个search local到新的/etc/resolvconf/resolv.conf.d/tail文件和resolvconf -u,但我得到了相同的结果。我认为这是由于“zeroconf”对 .local 进行名称解析,但我不知道从哪里开始修复。


编辑:基于@heemal 的帮助,我现在意识到链接本地解析来自 Avahi,所以我专注于尝试让 Avahi 名称解析来查找短名称主机,或者找到 Avahi 的替代方案。

在 /etc/nsswitch.conf 文件中,我尝试为 DNS 未找到地址添加 Avahi 的完整 MDNS 功能。

Original hosts definition: `hosts: files mdns4_minimal [NOTFOUND=return] dns`
Unchanged results using: `hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4`

现在在 Windows 中,我看到此链接本地解析是通过 IPv6 进行的,我想知道 IPv6 规范中是否有改进可以帮助我。

答案1

如果在 上添加某些内容,/etc/resolvconf/resolve.conf.d/{head, base, tail}则名称解析将由 执行resolvconf,而不是由 执行avahi-daemon,因此仅添加search local并不能解析名称。

为了使其search domain正常工作,您需要设置一个 DNS 服务器,该服务器将在您的系统正确添加域名后对您的查询做出响应。

另一个选择是在文件中添加/etc/hosts如下条目:

familyroom    192.168.1.4

现在如果你ping familyroom就会得到回应。

迄今为止最懒惰的选择是添加这样的别名:

alias familyroom='ping familyroom.local'

~/.bashrc文件中。现在source ~/.bashrc您只需键入即可familyroom将 ICMP 回显请求发送到设备。

相关内容