如何在Windows上禁用IPv6

当IPv6被引入时,它被设定为消除世界对更多IP的贪婪需求。但IPv6的采用速度很慢,一些人选择在Windows上禁用IPv6以进行故障排除。让我们学习一下。

在本教程中,你将学习如何通过各种方法禁用IPv6,包括通过GUI和命令行终端。

准备好了吗?让我们开始吧!

先决条件

本教程包括实践演示。如果你想跟着做,请确保你具备以下条件:

  • 本教程使用的是Windows 10 20H2版本,但任何版本的Windows 10都可以。
  • 以具有管理员访问权限的用户身份登录Windows。
  • PowerShell示例使用的是Windows 10内置的Windows PowerShell环境。

通过GUI禁用IPv6

首先,你需要通过Windows 10的网络连接应用程序禁用IPv6。为此,你必须访问你的网络适配器属性以禁用IPv6。

1. 在系统托盘上右键单击网络/Wi-Fi图标,然后选择打开网络和Internet设置以访问你的网络设置。

Accessing Network & Internet Settings.

2. 在高级网络设置下,选择更改适配器选项以查看你计算机上使用的所有适配器(网卡)。

Viewing all network cards by selecting Change Adapter Options.

3. 现在,右键单击你的以太网适配器,然后选择属性。这样做会打开你选择的网络卡的“属性”窗口。

Accessing the Network Card’s Properties.

4. 从Networking选项卡下的列表中找到Internet Protocol v6 (TCP/IPv6)选项。如果该选项已被选中,请单击复选框以禁用它,如下所示,然后单击OK

在禁用IPv6后,您会注意到计算机的互联网连接没有变化,因为IPv4适配器设置默认配置。

Disabling IPv6 from your Ethernet card.

通过PowerShell禁用IPv6

也许您更喜欢在管理Windows网络配置时使用命令行环境而不是图形界面。如果是这样,请在PowerShell中运行以下命令以禁用IPv6网络适配器。

1. 以管理员身份打开PowerShell,并运行以下命令Get-NetAdapterBinding以查看网络适配器的绑定列表、它们的组件ID和状态。此外,使用Where-Object命令过滤所有ComponentID等于ms_tcpip6的适配器。

Get-NetAdapterBinding | Where-Object ComponentID -EQ 'ms_tcpip6'

在返回的值中,请注意要禁用的适配器的DisplayNameComponentID; 您将在下一步中需要它们。在下面的示例中,选择了Ethernet适配器。

Listing All Network Adapters with IPv6 Components.

2. 运行下面的Disable-NetAdapterBinding命令以禁用您的网络适配器。

在下面的示例中,禁用了具有ms_tcpip6组件的Ethernet适配器,但请使用您打算目标的名称和组件ID进行替换。如果成功,将不显示任何输出。

Disable-NetAdapterBinding -Name 'Ethernet' -ComponentID 'ms_tcpip6'
Disabling IPv6 on an adapter.

3. 最后,运行下面的Get-NetAdapterBinding命令以验证您的网络适配器的 IPv6 是否已禁用。

您可以看到下面,显示了Ethernet适配器,但请用您打算的目标替换它。

Get-NetAdapterBinding -Name 'Ethernet' -ComponentID 'ms_tcpip6'
Verifying if IPv6 Network Adapter is now Disabled.

也许您没有计划在任何网络适配器上保持启用 IPv6。如果是这样,请运行此命令而不是 Disable-NetAdapterBinding -Name "*" -ComponentID ms_tcpip6 以彻底禁用所有网络适配器上的 IPv6。

通过命令提示符禁用所有网络适配器的 IPv6

作为 PowerShell 的替代方案,您可以转而使用命令提示符。命令提示符也可以通过运行一组与 PowerShell 不同的命令来禁用网络适配器的 IPv6。

1. 以管理员身份打开 命令提示符,并运行 ipconfig 命令。ipconfig 命令会显示所有当前的 TCP/IP 网络配置值,因此您可以验证网络适配器上是否启用了 IPv6。

ipconfig

如下图所示,以太网适配器已启用 IPv6。

Verifying if IPv6 is Enabled.

2. 运行下面的一系列命令,以禁用每个网络接口的所有 IPv6 连通性。

文本前的 :: 表示注释,以防您将命令复制粘贴到终端中。

:: Disables the Teredo tunneling. Teredo is a transition technology that gives 
:: full IPv6 connectivity and host-to-host automatic tunneling 
:: for unicast IPv6 traffic.
netsh interface teredo set state disabled

:: Disables the 6to4 tunnels that support communication with IPv6 internet
netsh interface ipv6 6to4 set state state=disabled undoonstop=disabled

:: Disables all IPv6 transition technologies
netsh interface ipv6 isatap set state state=disabled

如果成功,每个命令运行后您将收到一个 Ok 消息,如下图所示。

Disabling all IPv6 interfaces.

3. 最后,重新运行 ipconfig 命令,以验证您是否已成功禁用 IPv6。

ipconfig

如下图所示,IPv6 不再列出,这表示 IPv6 现已被禁用。

Verifying if IPv6 is now disabled.

结论

通过本教程,您学会了什么是 IPv6 以及如何在 Windows 中禁用它。您还学会了在命令提示符和 PowerShell 中都禁用 IPv6 的命令。

现在您是否会将禁用IPv6纳入您的网络故障排除常规中?

Source:
https://adamtheautomator.com/disable-ipv6/