私の家のすべてのコンピュータが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を有効にするには、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
答え2
バラよりhttp://0pointer.de/lennart/projects/nss-mdns/
では、IPV4、.localドメイン、およびリンクローカルアドレス(169.254.mDNS)に対してのみmDNS解決が有効になります/etc/nsswitch.conf
。mdns4_minimal
。IPv4でのみ可能です。
mdns6_minimal
対応するIPv6専用解像度とmdns_minimal
IPv4および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の前に解決されます。