/etc/hosts 中的 IPv6 链路本地地址

/etc/hosts 中的 IPv6 链路本地地址

我有这样的条目/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

(或ping6somehost您尝试访问的同一 LAN 上的主机在哪里。

相关内容