hai*_*img 39 networking windows-7 ipv6
我通过 Hurricane Electric 隧道建立了 IPv6 连接。自今年 IPv6 日以来,许多服务(google.com、facebook.com 等)在其主要域上启用了 IPv6。在我的 Windows 机器上,IPv6 优于 IPv4。这意味着每当我访问 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
Run Code Online (Sandbox Code Playgroud)
问题:当特定域名的 IPv4 和 IPv6 记录都可用时,如何让 Windows 7 始终优先选择 IPv4?
hai*_*img 54
前缀策略表类似于路由表,它确定在建立连接时首选哪些 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
Run Code Online (Sandbox Code Playgroud)
请注意,IPv6 地址 ( ::/0
) 优于 IPv4 地址 ( ::/96
, ::ffff:0:0/96
)。
我们可以创建一个策略,使 Hurricane Electric IPv6 隧道不如任何 IPv4 地址有利:
netsh interface ipv6 add prefixpolicy 2001:470::/32 3 6
Run Code Online (Sandbox Code Playgroud)
2001:470::/32
是飓风电气的前缀,3
是优先级(非常低)并且6
是标签。
我可以使用更通用的前缀,但我想确保当我从 ISP 获得直接 IPv6 连接时,它将优先于 IPv4。
如果您采用此解决方案,则需要替换适当的 IPv6 前缀,而不是我的 Hurricane Electric 前缀。
此解决方案更通用,但更具侵入性且不符合标准。最后,Windows 仍会为您修改前缀策略表。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\tcpip6\Parameters
DisabledComponents
DWORD 注册表值,将其值设置为 20(十六进制)。有关此注册表项的详细信息,请参阅Microsoft KB 929852,尤其是DisabledComponents
在您的系统上已存在的情况下。Mic*_*ton 23
如果等宽文本和带有奇怪数字和符号的表格吓到您,您可以使用 Microsoft Fix-its,Microsoft 的简单安装程序来为您更改配置。
这些修复来自KB 2533454,它解释了如果您的 IPv6 连接中断,您会想要这样做。您需要成为管理员才能运行修复程序;下载后,右键单击并选择以管理员身份运行。
小智 7
最简单的方法,而这些总是那么简单,我们忽略了它们......
打开网络与共享中心。
点击更改适配器设置
在“菜单栏”上单击高级。**注意..如果您只看到“组织”,则单击它,然后从下拉列表中选择“布局 - 菜单栏”
在上一步点击高级后,在这一步点击“高级设置”(屏幕上会打开一个框)
显示的是适配器和设置,您当前使用的适配器已经在上半部分突出显示,其代表细分如下(您应该看到该适配器的绑定)。突出显示列表中的任何一个绑定,您应该注意到右侧的箭头亮起,使用这些箭头根据您的喜好更改绑定顺序,然后从底部选择确定。
请注意,就像在适配器属性中安装协议、服务或客户端一样。这里同样适用。也就是你换了一个适配器,其他的也跟着做。因此,例如,如果您在无线适配器上选择 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
Run Code Online (Sandbox Code Playgroud)
RFC6724定义了地址优先方式的更改。通过此更改,IPv6 不再是几乎所有情况下的首选地址:(
这个问题于 2012 年 6 月提出,并于 2012 年 9 月通过 RFC 进行了“修复”。根据您的 Windows 版本,您要么拥有开箱即用的新策略 (Windows 8.1),要么可能已经通过更新交付了 ( Windows 8、Windows 7、Windows Vista)。
我们来这里是因为我们想使用 IPv6;我们希望撤销这一改变。
如果您为单个主机获得多个 IP 地址,您的计算机必须决定使用哪个地址。排名示例可能是:
在 Windows 计算机上,此排名称为前缀策略。
您可以通过运行以下命令来查看计算机的前缀策略:
>netsh int ipv6 show prefixpolicies
Run Code Online (Sandbox Code Playgroud)
在过去(最初由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
Run Code Online (Sandbox Code Playgroud)
所以你会发现它几乎总是使用 IPv6(耶!):
如果您付出了努力来部署 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
Run Code Online (Sandbox Code Playgroud)
您将发现您将永远无法使用您的唯一本地地址或站点本地地址;它永远被打破:
我们想要修复 IPv6,以便 ULA 优先于 IPv4。至少我们希望将 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
Run Code Online (Sandbox Code Playgroud)
这是由以下人员完成的:
>netsh interface ipv6 set prefixpolicy prefix=fc00::/7 precedence=37 label=13 store=active
Run Code Online (Sandbox Code Playgroud)
这只会使其保持活动状态,直到下次重新启动为止。要使更改永久生效:
>netsh interface ipv6 set prefixpolicy fc00::/7 37 13
Run Code Online (Sandbox Code Playgroud)
如果我:
计算机至少可以有礼貌地使用该地址。
该fc00::/7
范围分为两部分:
fd00::/8
- 本地生成的GlobalID前缀fc00::/8
- ???没有人真正认为这fc
对他们有好处,所以就坐在那里。
地址fd
定义为:
fd
[40-bit random GlobalID]
[16-bit subnet]
[64-bits for host assignment]
因此,如果您生成了a4d7f6dd66
cryptoghpcallly 随机 40 位GlobalID,则会为您提供 /48:
fda4:d7f5:dd66::
/48fda4:d7f5:dd66:face::
/64(在face
子网中)fda4:d7f5:dd66:face::825
作为主机 IP 地址SixXS 维护着唯一本地地址 GlobalID 前缀的公共数据库,以减少冲突的可能性,例如:
fdee:e004:2208::/48
:苹果公司 - Leopard OSXfdd4:43c8:ba34::/48
: TekSavvy - 丹尼·穆雷fdac:afbd:fea1::/48
:IBM Rational Build Forge - Chris Fuller但由于使用速度缓慢以及价值可疑,SixXS 于 2018 年停止了该服务。
归档时间: |
|
查看次数: |
160113 次 |
最近记录: |