在 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
重要說明 請仔細遵循本部分中的步驟進行操作。 對注冊表修改不當可能會導致嚴重問題。 修改之前,備份注冊表以便在發生問題時進行還原。
若要配置 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日
