在 Windows 中为高级用户配置 IPv6 的指南
简介
Windows Vista、Windows Server 2008 以及更高版本的 Windows 实施 RFC 3484 并使用前缀表来确定当多个地址可用于域名系统 (DNS) 名称时要使用的地址。
默认情况下,相比 IPv4 地址,Windows 更倾向于使用 IPv6 全球单播地址。
摘要
通常,IT 管理员希望禁用 IPv6。 这往往是由于某些未知的、与网络相关的问题,例如名称解析问题。
重要说明 Internet 协议版本 6 (IPv6) 是 Windows Vista 和 Windows Server 2008 及更高版本的必要组成部分。 我们建议不要禁用 IPv6 或其组件。 如果禁用,某些 Windows 组件可能无法正常工作。
我们建议你在前缀策略中使用“优先使用 IPv4 over IPv6”,而不是禁用 IPv6。
自动禁用或重新启用 IPv6 或其组件
若要自动禁用或重新启用 IPv6 或其组件,请按照下列步骤操作:
- 单击要运行的过程所对应的“下载”按钮。
- 在“文件下载”对话框中,单击“运行”或“打开”。
- 按照 Easy Fix 向导中的步骤执行操作。
在前缀策略中优先使用 IPv4 over IPv6 | 在所有非隧道接口上禁用 IPv6 | 在所有隧道接口上禁用 IPv6 | 在非隧道接口(环回接口除外)和 IPv6 隧道接口上禁用 IPv6 |
---|---|---|---|
Download
|
Download
|
Download
|
Download
|
在前缀策略中优先使用 IPv6 over IPv4 | 在所有非隧道接口上重新启用 IPv6 | 在所有隧道接口上重新启用 IPv6 | 在非隧道接口和 IPv6 隧道接口上重新启用 IPv6 |
---|---|---|---|
Download
|
Download
|
Download
|
Download
|
使用注册表项配置 IPv6
重要说明 请仔细遵循本部分中的步骤进行操作。 对注册表修改不当可能会导致严重问题。 修改之前,备份注册表以便在发生问题时进行还原。
若要配置 IPv6,请根据下表修改以下注册表值。
Location: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\
Name: DisabledComponents
Type: REG_DWORD
Min Value: 0x00
Max Value: 0xFF (IPv6 disabled)
IPv6 功能 |
注册表值 |
注释 |
优先使用 IPv4 over IPv6 |
Dec 32 Hex 0x20 Bin xx1x xxxx |
推荐而不是禁用它。 |
禁用 IPv6 |
Dec 255 Hex 0xFF Bin 1111 1111 |
如果在 Windows 7 SP1 或 Windows Server 2008 R2 SP1 中禁用 IPv6 后遇到启动延迟问题,请参阅 KB3014406。 此外,如果不正确地禁用 IPv6,系统启动将会延迟 5 秒,同时会将 DisabledComponents 注册表设置的值设为 0xfffffff。 正确的值应为 0xff。 DisabledComponents 注册表值不会影响复选框的状态。 因此,即使 DisabledComponents 注册表项设置为禁用 IPv6,仍可以选中每个接口的“网络”选项卡中的复选框。 这是正常现象。 |
在所有非隧道接口上禁用 IPv6 |
Dec 16 Hex 0x10 Bin xxx1 xxxx |
|
在所有隧道接口上禁用 IPv6 |
Dec 1 Hex 0x01 Bin xxxx xxx1 |
|
在所有非隧道接口(环回接口除外)和 IPv6 隧道接口上禁用 IPv6 |
Dec 17 Hex 0x11 Bin xxx1 xxx1 |
|
优先使用 IPv6 over IPv4 |
Bin xx0x xxxx |
|
在所有非隧道接口上重新启用 IPv6 |
Bin xxx0 xxxx |
|
在所有隧道接口上重新启用 IPv6 |
Bin xxx xxx0 |
|
在非隧道接口和 IPv6 隧道接口上重新启用 IPv6 |
Bin xxx0 xxx0 |
注意
- 管理员必须创建 .admx 文件,才能在“组策略”设置中公开步骤 5 中的设置。
- 必须重启计算机,这些更改才能生效。
- 在此更改生效之后,0 或 32 以外的值会导致“路由和远程访问”服务失败。
默认情况下,如果为某个接口分配了一个公共 IPv4 地址(即,不在 10.0.0.0/8、172.16.0.0/12 或 192.168.0.0/16 范围内的 IPv4 地址),则在 Windows Vista、Windows 7、Windows Server 2008 和 Windows Server 2008 R2 中启用 6to4 隧道协议。 6to4 自动为每个已分配的此类地址的 6to4 隧道接口分配一个 IPv6 地址,而且 6to4 将在分配的 DNS 服务器上动态注册这些 IPv6 地址。 如果不需要此操作,我们建议你在受影响的主机上禁用 IPv6 隧道接口。
还可以按照以下步骤修改注册表项:
- 打开一个管理命令提示符窗口。
- 运行以下命令:
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters" /v DisabledComponents /t REG_DWORD /d <value> /f
注意 将值替换为上表中的相应值。
如何计算注册表值
Windows 使用位掩码检查 DisabledComponents 值并确定是否应禁用组件。
若要了解每个位(从低到高)控制哪个组件,请参阅下表。
Tunnel | 禁用隧道接口 |
Tunnel6to4 | 禁用 6to4 接口 |
TunnelIsatap | 禁用 Isatap 接口 |
TunnelTeredo | 禁用 Teredo 接口 |
Native | 禁用本机接口(也称为 PPP) |
PreferIpv4 | 在默认前缀策略中优先使用 IPv4 |
TunnelCp | 禁用 CP 接口 |
TunnelIpTls | 禁用 IP-TLS 接口 |
对于每个位,0 表示 false,1 表示 true。 有关示例,请参阅下表。
在前缀策略中优先使用 IPv4 over IPv6 |
在所有非隧道接口上禁用 IPv6 |
在所有隧道接口上禁用 IPv6 |
在非隧道接口(环回接口除外)和 IPv6 隧道接口上禁用 IPv6 |
|
禁用隧道接口 |
0 |
0 |
1 |
1 |
禁用 6to4 接口 |
0 |
0 |
0 |
0 |
禁用 Isatap 接口 |
0 |
0 |
0 |
0 |
禁用 Teredo 接口 |
0 |
0 |
0 |
0 |
禁用本机接口(也称为 PPP) |
0 |
1 |
0 |
1 |
在默认前缀策略中优先使用 IPv4。 |
1 |
0 |
0 |
0 |
禁用 CP 接口 |
0 |
0 |
0 |
0 |
禁用 IP-TLS 接口 |
0 |
0 |
0 |
0 |
二进制 |
0010 0000 |
0001 0000 |
0000 0001 |
0001 0001 |
十六进制 |
0x20 |
0x10 |
0x01 |
0x11 |
参考
有关更多信息,请参阅下面的文章:
969029 Windows Server 2008 和 Windows Vista 中的源 IP 地址选择功能不同于 Windows 早期版本中的相应功能
有关 RFC 3484 的信息,请参阅 Internet 协议版本 6 (IPv6) 的默认地址选择。
有关如何设置 IPv4 优先于 IPv6 的更多信息,请参阅使用 SIO_ADDRESS_LIST_SORT。
有关 RFC 4291 的信息,请参阅 IP 版本 6 寻址体系结构。
有关相关问题的更多信息,请参阅以下文章:
示例 1: 在域控制器上,你可能会遇到 LDAP over UDP 389 将停止工作的问题。
请参阅 816103 如何使用 Portqry 解决 Active Directory 连接问题
示例 2: Exchange Server 2010,你可能会遇到 Exchange 停止工作的问题。
请参阅反对禁用 IPv6 的理由和禁用 IPv6 和 Exchange – 全面解析。
示例 3: 故障转移群集
请参阅什么是 Microsoft 故障转移群集虚拟适配器?和 Windows Server 2012 R2 中的故障转移群集和 IPv6。
帮助进行网络跟踪的工具
Microsoft 网络监视器 3.4(存档)
警告 启用 LBFO NIC 组合时,Netmon 3.4 与 Windows Server 2012 或更新版本的操作系统不兼容。 请改为使用“消息分析器”。
上次更新时间:2018年10月26日