如何开启本地 IPv6(含一键脚本)

本教程将指导你在 Windows 系统上启用本地 IPv6 支持,并通过 PowerShell 脚本自动配置 DNS 和网络适配器,适用于公网原生 IPv6 网络环境(如国内主流宽带),移动端和mac平台默认支持就不再赘述。


一、适用前提

  • 你的宽带运营商支持 IPv6(例如中国电信、联通、移动)

  • 路由器或光猫已开启 IPv6 功能

  • 使用 Windows 10 / 11 操作系统

  • 当前账户具备管理员权限、

路由器和光猫开启 IPv6 设置说明

请根据你的路由器品牌参考以下官方教程进行设置:


二、确认本地 IPv6 环境

请打开命令提示符(CMD),输入:

ipconfig /all

在输出结果中查找类似字段:

IPv6 地址 . . . . . . . . . . . . : 2408:xxxx:xxxx::xxxx
默认网关 . . . . . . . . . . . . : fe80::xxxx

若无 IPv6 地址或默认网关,说明系统未正确获取 IPv6,可继续执行以下步骤。


三、一键开启本地 IPv6 的 PowerShell 脚本 【老版本系统可以参考后面的手动启用】

以下脚本将完成以下任务:

  • 启用所有活动网卡的 IPv6 协议绑定

  • 设置 IPv6 阿里DNS(默认为 2400:3200::1 和 2400:3200:baba::1)

步骤:

  1. 右键 PowerShell,选择“以管理员身份运行”

  2. 复制粘贴以下代码执行:

$preferredDNS = "2400:3200::1"
$alternateDNS = "2400:3200:baba::1"

$adapters = Get-NetAdapter | Where-Object { $_.Status -eq "Up" }

foreach ($adapter in $adapters) {
    $adapterName = $adapter.Name
    Write-Output "`n正在处理适配器:$adapterName"

    # 启用 IPv6 协议绑定
    Enable-NetAdapterBinding -Name $adapterName -ComponentID ms_tcpip6 -ErrorAction SilentlyContinue

    try {
        # 设置 IPv6 DNS
        Set-DnsClientServerAddress -InterfaceAlias $adapterName -ServerAddresses $preferredDNS, $alternateDNS -ErrorAction Stop
        Write-Output "✅ 已为 $adapterName 设置 IPv6 DNS:$preferredDNS / $alternateDNS"
    }
    catch {
        Write-Warning "⚠️ 无法设置 $adapterName 的 IPv6 DNS,可能尚未初始化 IPv6 或未启用。"
    }
}

Write-Output "`n✅ 所有适配器的操作已完成。"
pause

上述操作无法运行时可以手动启用 IPv6(Windows & Linux)

Windows

  1. 管理员打开 控制面板 → 网络和共享中心 → 更改适配器设置

  2. 右键网卡 → 属性 → 勾选 Internet Protocol Version 6 (TCP/IPv6),点击 确定

  3. 若 IPv6 被禁用,可运行:netsh interface ipv6 install

  4. 如需关闭隐私地址:

netsh interface ipv6 set global randomizeidentifier=disabled
netsh interface ipv6 set privacy state=disable
  1. 使用 ipconfig /all 或 ping -6 ipv6.baidu.com 验证

Linux

  • CentOS/RedHat:编辑 /etc/sysconfig/network,确保 NETWORKING_IPV6=yes,重启网络:service network restart

  • Ubuntu/Debian 等:启用 IPv6:

sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=0
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0

若需永久生效,加入 /etc/sysctl.conf

net.ipv6.conf.all.disable_ipv6=0
net.ipv6.conf.default.disable_ipv6=0
net.ipv6.conf.lo.disable_ipv6=0

并执行 sudo sysctl -p。之后用 ip -6 addr 和 ping -6 ipv6.baidu.com 验证。

四、验证 IPv6 是否生效

使用以下任一方式确认 IPv6 是否配置成功:

方法一:Ping 国内 IPv6 测试站点

ping -6 ipv6.baidu.com

若返回如下内容表示成功:

来自 2001:da8:8000:xxxx 的回复:时间=xxms

方法二:访问在线检测工具

打开浏览器访问:

https://test-ipv6.com

页面若显示 IPv6 ready,说明配置成功。


五、常见问题排查

问题
可能原因与解决方案

IPv6 地址为空或全为 fe80::

说明系统未从路由器或光猫处获得有效地址,可尝试重启路由器或网卡

设置 DNS 时报错

PowerShell 未以管理员权限运行

脚本执行无效,仍无 IPv6 地址

可能运营商未分配 IPv6 前缀,建议联系 ISP 或检查路由器设置

Ping 成功但网页无法打开

检查浏览器代理、IPv6 防火墙或 DNS 解析异常

附录参考

  • IPv6 公共 DNS(中立版): 2400:3200::1 2400:3200:baba::1

  • IPv6 教育网测试站: https://ipv6.sjtu.edu.cn

  • IPv6 通用测试平台: https://test-ipv6.com


最后更新于

这有帮助吗?