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

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を有効にする方法は?

答え1

mDNSでIPv6を有効にするには、avahiLinux 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でIPv6サポートを有効にする(Zeroconf / Bonjour)

答え2

バラよりhttp://0pointer.de/lennart/projects/nss-mdns/

では、IPV4、.localドメイン、およびリンクローカルアドレス(169.254.mDNS)に対してのみmDNS解決が有効になります/etc/nsswitch.confmdns4_minimalIPv4でのみ可能です。

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レコードをすばやく検出することは、ユーザーエクスペリエンスにとって非常に重要であることが証明されています。

これは、mDNSがデフォルトでIPv4でのみ有効になる理由です。 IPv6が実際に使用されていない環境でIPv6(単独またはIPv4と一緒に)を有効にすると、名前解決に長いタイムアウトが発生する可能性があります。これは通常、リゾルバライブラリが説明を試みるためです。 IPv6はIPv4の前に解決されます。

関連情報