web-dev-qa-db-ja.com

Windows10はデフォルトで私のIPv6アドレスを使用していません

Sixxs.netからIPv6アドレスを取得していますが、IPv4アドレスとIPv6アドレスの両方を持つホスト(www.google.comまたはwww.facebook.comなど)にpingを実行すると、Windows 10でIPv4アドレスを取得しますが、すべてのWindows7と同じネットワーク内のWindows8.1マシンは、IPv6アドレスを取得します。 -6を使用してIPv6にpingを強制する必要があります。

ここに記載されているショートカットを試しました https://support.Microsoft.com/en-us/kb/929852 IPv4よりもIPv6を優先しますが、問題は解決しません。 IPv4とIPv6のWebサイトにアクセスすると、常にIPv4ページが表示されます。

test-ipv6.comは、私のブラウザには実際に機能するIPv6アドレスがあると言っていますが、それを使用することは避けています。 http://test-ipv6.com/faq_avoids_ipv6.html

 h:\> ping www.facebook.com 
 
 ping star.c10r.facebook.com [31.13.66.1] 32バイトのデータ:
返信31.13.66.1から:bytes = 32 time = 8ms TTL = 87 
 
 h:\> ping -6 www.facebook.com 
 
 ping star.c10r .facebook.com [2a03:2880:f013:1:face:b00c:0:1] 32バイトの
データ:
 2a03:2880:f013:1:face:b00cからの返信:0:1:時間= 145ms 
 netsh interface ipv6 show prefixpolicies 
 Querying active state ... 
 
 Precedence Label Prefix 
 ----------- ---- -------------------------------- 
 50 0 :: 1/128 
 40 1 ::/0 
 35 4 :: ffff:0:0/96 
 30 2 2002 ::/16 
 5 5 2001 ::/32 
 3 13 fc00 ::/7 
 1 11 fec0 ::/10 
 1 12 3ffe ::/16 
 1 3 ::/96 

[〜#〜]更新[〜#〜]

私のルーターに問題があると思った。 Shibby Tomato v131からv132にアップグレードすると、問題が修正されたように見えましたが、再び戻ってきました。 Windows 7および8.1では引き続き機能しますが、Windows 10では機能しません。固定ワイヤレスを使用しているため、インターネット接続にすでにある程度の遅延があります。 IPv6トンネルを使用すると、かなりの遅延(59〜100ミリ秒)が追加されることがあります。 IPv6が大幅に遅い場合にIPv4を優先するWindows10の機能があると思いますが、制限が何であるかはわかりません。

2回目の更新

IPv4を無効にすると、IPv6は正しく機能します。 IPv4とIPv6の両方を持つホスト名にpingを実行すると、IPv6アドレスにpingが実行されます。

> ping facebook.com 
 
 32バイトのda [.____を使用してfacebook.com [2a03:2880:2130:7f20:face:b00c:0:25de]にpingを実行します。 ] a:
 2a03:2880:2130:7f20:face:b00c:0:25deからの返信:time = 161ms 
 2a03:2880:2130:7f20:face:b00c:0からの返信: 25de:time = 317ms 
 2a03:2880:2130:7f20:face:b00c:0:25de:time = 215ms 
 2a03:2880:2130:7f20:face:b00cからの返信: 0:25de:time = 154ms 
 
 2a03:2880:2130:7f20:face:b00c:0:25de:
のping統計パケット:送信= 4、受信= 4 、損失= 0(0%損失)、
ミリ秒単位の概算往復時間:
最小= 154ms、最大= 317ms、平均= 211ms 
5
Lee Ballard

同じ問題がありました。ipv4とipv6はどちらも機能しますが、IPv4 Aレコードを使用して任意の名前にping(または参照など)しようとすると、Windowsは常にv6(AAAA)アドレスよりも優先します。ネットワークスタック内には、DNSクエリからアドレスを並べ替えて優先するものを選択するロジックがあります。私の場合、Wifiインターフェースがwake-on-LAN(always-on-always-connected(AOAC))をサポートしているため、v4アドレスを優先していましたが、明らかにIPv4のみでした。

アドレスを並べ替えるときに何が起こっているかを正確に調べるために有効にできるETWトレースポイントがあります。組み込みのnetshツールを使用してこれを行う方法の例を次に示します。例としてwww.google.comを使用していますが、AレコードとAAAAレコードの両方を持つすべてのホストが機能するはずです。

netsh trace start provider=Microsoft-Windows-TCPIP level=5 keywords=ut:TcpipRoute
ping -n 1 www.google.com
netsh trace stop
netsh trace convert %TEMP%\NetTraces\NetTrace.etl

さて、それが書いたnettrace.txtファイルを見てください、そしてうまくいけばあなたは手がかりを見つけるでしょう。私の場合、それは次のとおりでした。

[Microsoft-Windows-TCPIP]IP: Address pair (::ffff:192.168.1.100, ::ffff:74.125.28.99) is preferred over (2601:XXX:XXX:XXX:XXX:XXX:XXX:XXX, 2607:f8b0:400e:c04::67) by SortOptions: 0, Reason: Prefer Aoac Interface  (Rule D 1.1).

(ここで、XXXは私が編集したパブリックIPv6アドレスです)。

この特定のルールを上書きする方法があるかどうかはわかりません(なぜそれがその選択をしているのかがわかりました。そのままにしておくのは十分快適です)。

3
ab.