在 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 隧道接口。

也可以按照以下步骤修改注册表项:

  1. 打开管理 命令提示符 窗口。

  2. 运行以下命令:

    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 寻址体系结构

有关相关问题的详细信息,请参阅以下文章:

帮助进行网络跟踪的工具 :Microsoft Network Monitor 3.4 (存档)

警告

启用 LBFO NIC 成组Windows Server 2012 Netmon 3.4 与新版操作系统不兼容。 请 改为使用消息分析 器。