如何在 Ubuntu 和 Debian 上启用 IPv6 mDNS?

如何在 Ubuntu 和 Debian 上启用 IPv6 mDNS?

我注意到我所有的家用计算机都无法解析.localIPv6 地址。这看起来很奇怪,因为他们可以将它们解析为 IPv4,并且我所有的家用计算机都有链路本地fe80::地址和公共2a00::地址。

到目前为止,我一直无法弄清楚这些功能缺少什么。

IPv4

# ping neptune.local
PING neptune.local (192.168.1.223) 56(84) bytes of data.
64 bytes from neptune (192.168.1.223): icmp_seq=1 ttl=64 time=275 ms
64 bytes from neptune (192.168.1.223): icmp_seq=2 ttl=64 time=197 ms

IPv6

# ping -6 neptune.local
ping: neptune.local: Name or service not known

# ping -6 2a00:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
PING 2a00:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx(2a00:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx) 56 data bytes
64 bytes from 2a00:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx: icmp_seq=2 ttl=64 time=2.21 ms
64 bytes from 2a00:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx: icmp_seq=3 ttl=64 time=3.13 ms

主办条目来自/etc/nsswitch.conf

hosts:          files mdns4_minimal [NOTFOUND=return] dns

如何在 Ubuntu 和/或 Debian 上启用 IPv6 mDNS?

答案1

要为 mDNS 启用 IPv6,avahi需要更改 Linux VM 的客户端和服务器端配置。步骤是:

1) 为 IPv6 配置 avahi(如果尚未完成)(Debian 10 已将其作为默认配置):

/etc/avahi/avahi-daemon.conf

[server]
use-ipv6=yes

2) 更改 mDNS 行中的行条目/etc/nsswitch.conf

hosts:          files mdns4_minimal [NOTFOUND=return] dns

到:

hosts:          files mdns_minimal [NOTFOUND=return] dns

3) 然后重新启动 avahi 服务,可以使用以下命令:

sudo service avahi-daemon restart

或者:

sudo systemctl restart avahi-daemon.service

在 Avahi (Zeroconf/Bonjour) 中启用 IPv6 支持

答案2

http://0pointer.de/lennart/projects/nss-mdns/

在 中/etc/nsswitch.confmdns4_minimal仅对 IPV4 以及 .local 域和链接本地地址 (169.254.mDNS) 启用 mDNS 解析。仅在 IPv4 中)。

有一个对应mdns6_minimal的仅 IPv6 解析,以及mdns_minimalIPv4 和 IPv6 解析。如果您希望 mDNS 也解析非链接本地地址,也有相应的不带后缀的版本_minimal

/usr/share/doc/libnss-mdns/README.Debian在您的系统上描述了为什么默认配置是您的

hosts:          files mdns4_minimal [NOTFOUND=return] dns

而不是上游的

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4

基本上,后一种形式被发现在尝试解析实际不存在的非本地 DNS 信息时经常导致 5 秒的延迟。事实证明,快速检测不存在的 DNS 记录对于用户体验非常重要。

这也是为什么默认情况下仅在 IPv4 上启用 mDNS:在实际未使用 IPv6 的环境中启用 IPv6(单独或与 IPv4 一起)可能会导致名称解析长时间超时,因为解析器库通常会尝试除非另有明确说明,否则 IPv6 优先于 IPv4 解析。

相关内容