在 Windows 中为高级用户配置 IPv6 的指南
Windows Vista、Windows Server 2008 和更高版本的 Windows 实现 RFC 3484,并使用前缀表确定当多个地址可用于域名系统 (DNS) 名称时要使用哪个地址。
默认情况下,Windows 将 IPv6 全局单播地址比 IPv4 地址更受支持。
原始产品版本: Windows 10 - 所有版本、Windows Server 2019、Windows Server 2016、Windows Server 2012 R2
原始 KB 编号: 929852
摘要
IT 管理员通常禁用 IPv6,以排查与网络相关的问题,如名称解析问题。
重要
Internet 协议版本 6 (IPv6) 是 Windows Vista 和 Windows Server 2008 及更高版本的必需部分。 建议不要禁用 IPv6 及其组件。 如果这样做,某些 Windows 组件可能无法正常工作。
我们建议在前缀 策略中使用首选 IPv4 而不是 IPv6, 而不是禁用 IPV6。
使用注册表项配置 IPv6
重要
请仔细遵循本部分中的步骤进行操作。 对注册表修改不当可能会导致严重问题。 修改之前,备份注册表以便在发生问题时进行还原。
可以通过修改以下注册表项来配置 IPv6 功能:
位置: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\
名称:DisabledComponents
类型:REG_DWORD
最小值:0x00 (默认值)
最大值:0xFF ( IPv6 禁用)
IPv6 功能 | 注册表值和注释 |
---|---|
首选 IPv4,而首选 IPv6 | 12 月 32 日 十六进制0x20 Bin xx1x xxxx 建议不要禁用 IPv6。 |
禁用 IPv6 | 255 年 12 月 十六进制0xFF Bin 1111 1111 如果在 Windows 7 SP1 或 Windows Server 2008 R2 SP1 中禁用 IPv6 后遇到启动延迟,请参阅在 Windows 中禁用 IPv6 后发生的启动延迟。 此外,如果 IPv6 被错误地禁用,将 DisabledComponents 注册表设置设置为 0xffffffff。 正确的值应0xff。 有关详细信息,请参阅 Internet 协议版本 6 (IPv6) 概述。 DisabledComponents 注册表值不会影响复选框的状态。 即使 DisabledComponents 注册表项设置为禁用 IPv6,也可以选中每个接口的"网络"选项卡中的复选框。 这是预期行为。 无法完全禁用 IPv6,因为 IPv6 在系统内部用于许多 TCPIP 任务。 例如,配置此设置后,您仍 ::1 可以运行 ping。 |
在所有非连接接口上禁用 IPv6 | 12 月 16 日 十六进制0x10 Bin xxx1 xxxx |
在所有隧道接口上禁用 IPv6 | 12 月 1 日 十六进制0x01 Bin xxxx xxx1 |
在除环回接口和 IPv6 隧道接口 (所有非) 接口上禁用 IPv6 | 12 月 17 日 十六进制0x11 Bin xxx1 xxx1 |
首选 IPv6,而首选 IPv4 | Bin xx0x xxxx |
在所有非连接接口上重新启用 IPv6 | Bin xxx0 xxxx |
在所有隧道接口上重新启用 IPv6 | Bin xxx xxx0 |
在非连接线接口和 IPv6 隧道接口上重新启用 IPv6 | Bin xxx0 xxx0 |
备注
- 管理员必须创建一个 .admx 文件,才能在组策略设置中公开下表的注册表设置。
- 必须重新启动计算机,这些更改才能生效。
- 除 0 或 32 值外的值将导致路由和远程访问服务在此更改生效后失败。
默认情况下, 当为接口分配公共 IPv4 地址 (公共 IPv4 地址时,Windows 中将启用 6to4 隧道协议。该地址意味着任何 IPv4 地址范围不介于 10.0.0.0/8、172.16.0.0/12 或 192.168.0.0/16) 。 6to4 自动将 IPv6 地址分配给每个地址的 6to4 隧道接口,6to4 会在分配的 DNS 服务器上动态注册这些 IPv6 地址。 如果不需要此行为,我们建议在受影响的主机上禁用 IPv6 隧道接口。
也可以按照以下步骤修改注册表项:
打开管理 命令提示符 窗口。
运行以下命令:
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters" /v DisabledComponents /t REG_DWORD /d <value> /f
备注
将 <value> 替换为相应的值。
如何计算注册表值
Windows 使用位掩码检查 DisabledComponents 值并确定是否应该禁用组件。
若要了解每个位的 (从低) 控制,请参阅下表。
名称 | Setting |
---|---|
隧道 | 禁用隧道接口 |
Tunnel6to4 | 禁用 6to4 接口 |
TunnelIsatap | 禁用 Isatap 接口 |
隧道 Teredo | 禁用 Teredo 接口 |
本机 | 禁用本机接口 (也禁止使用) |
PreferIpv4 | 首选默认前缀策略中的 IPv4 |
TunnelCp | 禁用 CP 接口 |
TunnelIpTls | 禁用 IP-TLS 接口 |
对于每一位 ,0 表示 false,1 表示 true。 有关示例,请参阅下表。
Setting | 在前缀策略中首选 IPv4,而首选 IPv6 | 在所有非连接接口上禁用 IPv6 | 在所有隧道接口上禁用 IPv6 | 在非连接接口上禁用 IPv6 (环回) 和 IPv6 隧道接口除外 |
---|---|---|---|---|
禁用隧道接口 | 0 | 0 | 1 | 1 |
禁用 6to4 接口 | 0 | 0 | 0 | 0 |
禁用 Isatap 接口 | 0 | 0 | 0 | 0 |
禁用 Teredo 接口 | 0 | 0 | 0 | 0 |
禁用本机接口 (也禁止使用) | 0 | 1 | 0 | 1 |
首选默认前缀策略中的 IPv4。 | 1 | 0 | 0 | 0 |
禁用 CP 接口 | 0 | 0 | 0 | 0 |
禁用 IP-TLS 接口 | 0 | 0 | 0 | 0 |
Binary | 0010 0000 | 0001 0000 | 0000 0001 | 0001 0001 |
十六进制 | 0x20 | 0x10 | 0x01 | 0x11 |
不支持使用网络属性 GUI 禁用 IPv6
此注册表值不影响以下复选框的状态。 即使注册表项设置为禁用 IPv6,也可以选中每个接口的"网络"选项卡中的复选框。 这是预期行为。
参考
有关 RFC 3484,请参阅 Internet 协议版本 6 的默认地址选择 (IPv6) 。
若要详细了解如何设置 IPv4 优先于 IPv6,请参阅使用SIO_ADDRESS_LIST_SORT。
有关 RFC 4291 的信息,请参阅 IP 版本 6 寻址体系结构。
有关相关问题的详细信息,请参阅以下文章:
- 示例 1:在域控制器上,可能会遇到 UDP 389 上的 LDAP 将停止工作的问题。 请参阅 如何使用 Portqry 解决 Active Directory 连接问题
- 示例 2:Exchange Server 2010,您可能会遇到 Exchange 将停止工作的问题。 请参阅 有关禁用 IPv6 和 禁用 IPv6 和 Exchange 的参数 - 一路走来。
- 示例 3:故障转移群集无论如何都查看什么是 Microsoft 故障转移群集虚拟适配器?以及 R2 中的故障转移群集和 IPv6 Windows Server 2012 IPv6。
帮助进行网络跟踪的工具 :Microsoft Network Monitor 3.4 (存档)
警告
启用 LBFO NIC 成组Windows Server 2012 Netmon 3.4 与新版操作系统不兼容。 请 改为使用消息分析 器。