web-dev-qa-db-ja.com

UbuntuとDebianでIPv6のmDNSを有効にする方法は?

私のすべてのホームマシンで気付いたのは、IPv6の.localアドレスを解決できないことです。 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を有効にするにはどうすればよいですか?

3
Philip Couling

avahiでmDNSのIPv6を有効にするには、Linux VMのクライアント側とサーバー側の両方で構成を変更する必要があります。手順は次のとおりです。

1)IPv6用のavahiをまだ構成していない場合は構成します(Debian 10はデフォルトでそれをすでに持っています):

/etc/avahi/avahi-daemon.conf

[server]
use-ipv6=yes

2)/etc/nsswitch.confのmDNS行エントリを次のように変更します:

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サポートを有効にする

5
Rui F Ribeiro

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

/etc/nsswitch.confでは、mdns4_minimalは、IPV4のみ、および.localドメインとリンクローカルアドレス(169.254。IPv4の場合のみ)。

IPv6のみに対応するmdns6_minimalがあり、IPv4とIPv6の両方の解決にmdns_minimalがあります。また、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と一緒に)と、名前解決でタイムアウトが長くなる可能性があります。特に明記されていない限り、IPv4より前のIPv6解決。

2
telcoM