私はハリケーン電気トンネルを通してIPv6接続を持っています。今年のIPv6の日以来、多くのサービス(google.com、facebook.comなど)がメインドメインでIPv6を有効にしていました。私のWindowsマシンでは、IPv4よりもIPv6が優先されます。つまり、Googleにアクセスするたびに、すべてのトラフィックが私のトンネルを通過してHurricane Electricに送信されるため、待ち時間が100%以上増加します。
C:\> ping www.google.com
Pinging www.l.google.com [2001:4860:8005::68] with 32 bytes of data:
Reply from 2001:4860:8005::68: time=85ms
Reply from 2001:4860:8005::68: time=84ms
Reply from 2001:4860:8005::68: time=112ms
Reply from 2001:4860:8005::68: time=86ms
Ping statistics for 2001:4860:8005::68:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 84ms, Maximum = 112ms, Average = 91ms
C:\> ping -4 www.google.com
Pinging www.l.google.com [173.194.79.103] with 32 bytes of data:
Reply from 173.194.79.103: bytes=32 time=28ms TTL=48
Reply from 173.194.79.103: bytes=32 time=28ms TTL=48
Reply from 173.194.79.103: bytes=32 time=55ms TTL=46
Reply from 173.194.79.103: bytes=32 time=29ms TTL=46
Ping statistics for 173.194.79.103:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 28ms, Maximum = 55ms, Average = 35ms
質問:IPv4とIPv6の両方のレコードが特定のドメイン名に使用できる場合、どのようにしてWindows 7が常にIPv4を優先するようにすることができますか?
プレフィックスポリシーテーブルはルーティングテーブルに似ており、接続時にどのIPアドレスが優先されるかを決定します。プレフィックスポリシーの優先順位が高いほど、ルーティングテーブルの「コスト」値とは正反対の、大きい「優先順位」値で表されます。
デフォルトのWindowsプレフィックスポリシーテーブル:
C:\>netsh interface ipv6 show prefixpolicies
Querying active state...
Precedence Label Prefix
---------- ----- --------------------------------
50 0 ::1/128
40 1 ::/0
30 2 2002::/16
20 3 ::/96
10 4 ::ffff:0:0/96
5 5 2001::/32
IPv6アドレス(::/0)がIPv4アドレス(::/96、:: ffff:0:0/96)よりも優先されることに注意してください。
ハリケーンエレクトリックIPv6トンネルをどのIPv4アドレスよりも有利にしないというポリシーを作成することができます:
netsh interface ipv6 add prefixpolicy 2001:470::/32 3 6
2001:470 ::/32はハリケーン電気の接頭辞、3は優先順位(非常に低い)、6はラベルです。
もっと一般的なプレフィックスを使用することもできましたが、ISPから直接IPv6接続を取得する場合、それがIPv4よりも優先されることを確認する必要がありました。
この解決策を採用する場合は、私のハリケーン電気の代わりに適切なIPv6プレフィックスを代用する必要があります。
このソリューションは、より一般的ですが、より侵襲的で標準に準拠していません。結局、Windowsはプレフィックスポリシーテーブルを変更します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\tcpip6\Parameters
に移動します。DisabledComponents
を作成し、その値を20(16進数)に設定します。このレジストリキーの詳細については、 Microsoft KB 929852 を参照してください。特にDisabledComponents
がすでにシステムに存在する場合は、この情報を参照してください。固定幅のテキストと奇妙な数字や記号の付いたテーブルがあなたを怖がらせるのであれば、あなたはあなたのために設定を変更するMicrosoftのFix-its、シンプルなインストーラでこれを行うことができます。
これらの修正は KB 2533454 に由来します。これは、IPv6接続が切断された場合にこれを実行することを望んでいることを説明しています。修正プログラムを実行するには管理者である必要があります。ダウンロード後、右クリックして[管理者として実行]を選択します。
最も単純な方法で、これらは常にとても単純なので見逃しています...
オープンネットワークと共有センター。
そこにアダプタの設定の変更をクリックしてください
[メニューバー]で[詳細設定]をクリックします。 **注:[整理]が表示されている場合はそれをクリックし、ドロップダウンから[レイアウト - メニューバー]を選択してください。
前の手順で[詳細設定]をクリックした後、この手順で[詳細設定]をクリックします(画面にボックスが表示されます)。
表示されるのは、アダプタと設定で、現在使用しているアダプタは上半分とその下の代表的な内訳ですでに強調表示されています(そのアダプタのバインディングが表示されます)。リスト内のいずれかのバインディングを強調表示すると、右側の矢印が点灯し、それらの矢印を使用してバインディングの順序を好みに変更してから、下から[OK]を選択します。
アダプタのプロパティにプロトコル、サービス、またはクライアントをインストールしたときと同じです。ここでも同じです。それはあなたが1つのアダプターを変えるということです、そして、残りはそれに従います。したがって、たとえば、ワイヤレスアダプタでIPV6を4より優先する場合は、LANアダプタも変わります。
これは私が考えることができる最も簡単な方法です。あまり考えなくても、ネットワーク間のパケットのルーティングについてあまり多くの知識を持っていなくてもかまいません。
Before September 2012 After September 2012
Precedence Prefix Precedence Prefix
---------- ------------- ---------- -------------
50 ::1/128 IPv6 loopback 50 ::1/128 IPv6 loopback
40 ::/0 Native IPv6 40 ::/0 Native IPv6
40 fc00::/7 ULAs 35 ::ffff:0:0/96 IPv4
40 fec0::/10 site-local 30 2002::/16 6to4
40 3ffe::/16 6bone 5 2001::/32 Teredo
30 2002::/16 6to4 3 fc00::/7 ULAs
20 ::/96 IPv4compat 1 fec0::/10 site-local
10 ::ffff:0:0/96 IPv4 1 3ffe::/16 6bone
5 2001::/32 Teredo 1 ::/96 IPv4compat
RFC6724 はアドレスの優先方法の変更を定義しました。この変更により、ほとんどの場合IPv6はもはや優先アドレスではなくなりました:(
2012年6月に寄せられたこの質問は、2012年9月からのRFCによって「修正」されました。Windowsのバージョンによっては、この新しいポリシーが用意されています(Windows 8.1)。 )、またはアップデート(Windows 8、Windows 7、Windows Vista)ですでに配信されている可能性があります。
が欲しいがIPv6を使いたいからです。その変更を元に戻します。
1つのホストに対して複数のIPアドレスを取得する場合は、使用するアドレスを自分のマシンで決定する必要があります。ランキングの例は次のとおりです。
Windowsマシンでは、このランク付けはプレフィックスポリシーと呼ばれます。
次のコマンドを実行して、コンピュータのプレフィックスポリシーを確認できます。
>netsh int ipv6 show prefixpolicies
昔は(もともと RFC 3484 で定義されていました)、プレフィックスポリシーは次のとおりです。
Precedence Prefix
---------- -------------
50 ::1/128 IPv6 loopback
40 ::/0 Native IPv6
40 fc00::/7 ULAs
40 fec0::/10 site-local
40 3ffe::/16 6bone
30 2002::/16 6to4
20 ::/96 IPv4compat
10 ::ffff:0:0/96 IPv4
5 2001::/32 Teredo
それで、あなたはそれがほとんどいつもIPv6を使うであろうと思う(yay!):
あなたがIPv6を展開するための努力をしたならば:それはただうまくいった。
2012年には、 RFC6724 で新しい優先順位が定義されました。今日では、プレフィックスポリシーによって、IPv6を絶対に使用しないことがほぼ保証されます。
Precedence Prefix
---------- -------------
50 ::1/128
40 ::/0 Native IPv6
35 ::ffff:0:0/96 IPv4
30 2002::/16
5 2001::/32
3 fc00::/7 ULAs
1 fec0::/10 site-local
1 3ffe::/16
1 ::/96
あなたはneverにあなたの固有のローカルアドレス、またはサイトローカルアドレスを使うことができなくなるでしょう。それは永久に壊れています:
私たちが欲しいのは、ULAがIPv4よりも優先されるようにIPv6を修正することです。少なくとも、私たちはULA(fc00::/7
)の使用をIPv4のそれよりも上にしたいのです。
Precedence Prefix
---------- -------------
50 ::1/128
40 ::/0 Native IPv6
37 fc00::/7 ULAs <---------- from 3 up to 37
35 ::ffff:0:0/96 IPv4
30 2002::/16
5 2001::/32
1 fec0::/10 site-local
1 3ffe::/16
1 ::/96
これは、
>netsh interface ipv6 set prefixpolicy prefix=fc00::/7 precedence=37 label=13 store=active
それは次の再起動までそれをアクティブに保ちます。変更を永続化するには:
>netsh interface ipv6 set prefixpolicy fc00::/7 37 13
もし私が:
コンピュータでできることは、アドレスを使用するのが一般的な礼儀です。
fc00::/7
の範囲は2つの部分に分けられます。
fd00::/8
- ローカルに生成されたGlobalIDプレフィックスfc00::/8
- ???fc
が良いと決心した人はいませんので、そこに座ってください。
fd
アドレスは次のように定義されています。
fd
[40-bit random GlobalID]
[16-bit subnet]
[64-bits for Host assignment]
暗号化のためのランダムな40-bitGlobalIDとしてa4d7f6dd66
を生成したのであれば、それはあなたの/ 48になります。
fda4:d7f5:dd66::
/48fda4:d7f5:dd66:face::
/64(face
サブネット内)fda4:d7f5:dd66:face::825
SixXSは衝突の可能性を減らすためにUnique Local Address GlobalIDプレフィックスの公開データベース を維持しました、 eg :
fdee:e004:2208::/48
:アップル社 - Leopard OSXfdd4:43c8:ba34::/48
:TekSavvy - ダニー・マレーfdac:afbd:fea1::/48
:IBM Rational Build Forge - クリス・フラーしかし、使用が遅くなり、そもそも疑わしい価値があるため、SixXSは2018年にサービスを中止しました。
私にとってはより簡単な方法があります。優先度を決定するためにインタフェースメトリック#を変更しました。私はこれまでネットワークアダプタの優先順位を変更するためにこの方法を使っていました(最初にWireless NIC priority、LAN NIC priority priority)、私はそれがTCP/IPv4とTCPで動作する/ IPv6も。この場合、TCP/IPv4のインターフェースメトリックを自動から5に、TCP/IPv6インターフェースメトリックを自動から10に変更しました。メトリック番号が小さいほど、優先順位は高くなります。その後、PCを再起動してください。それで今私がホスト名を使ってpingを実行する時はいつでも、それはIpv6の代わりにIPv4から返答するでしょう。
こちらがより詳細な説明です
https://www.windowscentral.com/how-change-priority-order-network-adapters-windows-10