我有这样的条目/etc/hosts
:
fe80::XXXX:XXff:feXX:XXXX%enp0s25 test-ipv6
这是一个链接本地地址。我在这篇文章中屏蔽了我的 MAC 地址(第七个最高有效位被翻转)。
我可以 ping 该地址,但 pingtest-ipv6
给出
ping: test-ipv6: Name or service not known
- 为什么不起作用?
- 是否有其他方法将 IPv6 链路本地地址分配给主机名?
我使用的是内核版本为 4.17.2 的 Arch Linux。
编辑:这主要是重复的/etc/hosts 中的 IPv6 范围 ID。
答案1
systemd-resolved
在网络上使用链路本地多播名称解析 (LLMNR) 或多播 DNS (mDNS)(由 实现)。使用 LLMNR 或 mDNS,本地网络上的主机会使用自己的主机名进行响应。在现代 Linux 发行版上,解析器返回链路本地 IPv6 地址的作用域 ID,即使使用链路本地 IPv6 地址,一切也应该正常工作。
根据您的 Linux 发行版,您可能已经启用了 LLMNR:尝试
ping -6 somehost
(或ping6
)somehost
您尝试访问的同一 LAN 上的主机在哪里。