私のすべてのホームマシンで気付いたのは、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を有効にするにはどうすればよいですか?
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
参照 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解決。