謎事象でハマった あるリモートのサーバーがIPv4とIPv6(ULA)の両方のIPアドレスを持っているとする。 hoge.dom.labnet IPv4 Address (Private): 10.10.0.1 IPv6 Address (ULA): fdaa:abcd:aaaa:bbbb:cccc:dddd:eeee:0001 またプライベートIPv4アドレスとIPv6 ULAを持つWindows機があり、 このOSからリモートサーバーに対する ping コマンドは正しく応答が返る状態になっている ping -4 10.10.0.1 ping -6 fdaa:abcd:aaaa:bbbb:cccc:dddd:eeee:0001 Windows機の%windir%\system32\drivers\etc\hostsに以下のようにIPv4アドレスとホスト名を登録している 。(** IPv6アドレスについては書いてない **) 10.10.0.1 hoge.dom.labnet さらにWindowsOSが参照しているDNSではdom.labnetゾーンに以下のようなAとQuad Aレコードを持っている。 hoge IN A 10.10.0.1 hoge IN AAAA fdaa:abcd:aaaa:bbbb:cccc:dddd:eeee:0001 そのため このWindows機から nslookup -type=A hoge.dom.labnet では 10.10.0.1が得られる nslookup -type=AAAA hoge.dom.labnet では fdaa:abcd:aaaa:bbbb:cccc:dddd:eeee:0001が得られる ここまでは想定通り。 この時 ping -4 hoge.dom.labnet は(おそらくhostsによる)名前解決されて正しく応答を得られる ping -6 hoge.dom.labnet は ホスト名が見つかりません。といわれて失敗する WindowsOSにおける名前解決の順序としては 1) DNS resolver cache, 2)hosts, 3) DNS...