现代的计算机均已支持ipv6,然而因为运营商/路由器等网络原因无法以ipv6访问公网,通过隧道技术可以借由ipv4实现ipv6的公网访问。目前很多便宜的小鸡仅提供ipv6地址(公网地址池很深,不像ipv4基本已经耗竭),身处ipv4的环境中,也需要一种合适的可以广泛应用的连接手段。
目前查到的方法主要有添加驱动法和组策略配置法,经过一阵折腾后,发现组策略配置法对本机有效。以下是两种方法的具体记录。
1.添加驱动法 注:Windows10 1803版中移除了该硬件驱动,故新的系统不可使用此法。
传统界面进入:控制面板-管理工具-设备管理器
Win10新界面进入:计算机-系统-关于,右侧相关设置里的设备管理器
进入设备管理器后,点击菜单栏中的操作-添加过时硬件,在弹出的窗口中,点击下一页-勾选搜索并自动安装硬件-下一页-系统要求手动指定,点下一页-在列表里找到网络适配器,点下一页-在厂家列表里找到Microsoft,右侧产品中选择”Microsoft Teredo Tunneling Adapter“,点击下一步-等待驱动程序安装成功后即可进行网络配置。
网络配置:管理员运行cmd或者Powershell,输入以下命令:
#设置teredo端口状态,并且配置隧道服务器。
netsh interface teredo set state enterpriseclient server=default
这里state有三种选项:disable(禁用),client(客户端),enterpriseclient(企业客户端)。具体参数会在第二部分说明。
server为隧道服务器地址,默认(default)为win10.ipv6.microsoft.com,也可以换成其他的如teredo.remlab.net,teredo.trex.fi,teredo.iks-jena.de
#检查teredo隧道状态,显示dormant/qualified即为已连接到隧道服务器并获得ipv6地址,显示offline则说明未连接,需要检查出错的情况
netsh interface teredo show state
#如果ipv6访问出现问题,可以重置ipv6设置,执行后需要重启计算机
netsh interface ipv6 reset
2.组策略法 注:在Win10 21H2上测试通过,不需要添加硬件驱动,不建议两种方法混用
通过配置修改实现 Windows 设备获得 IPV6 地址来访问IPv6 站点,无论 LAN/Wifi 方式连接路由都适用
配置过程如下
- Win+R 输入 gpedit.msc 打开组策略配置
- 进入 “计算机配置”–“管理模板”–“网络”–“TCPIP 设置”–“IPv6 转换技术” 配置界面
- “设置 6to4 状态” 和 “设置 ISATAP 状态” :修改为”已启用” & 选项”,下方状态中选择”设置为”已禁用状态”
- “设置 Teredo 状态”:修改为”已启用” & 选项”以下状态中选择”设置为”企业客户端”。几种选项值的区别:
禁用: 主机上不存在任何 Teredo 接口。
客户端: 仅当主机不在包含域控制器的网络上时,才存在 Teredo 接口。
企业客户端: 即使主机在包含域控制器的网络上,Teredo 接口也始终存在。 - “设置 Teredo 默认限定”,修改为”已启用” & 选项”以下状态中选择”设置为”已启用状态”
- “设置 Teredo 服务器名称”,修改为”已启用” & 选项”输入 Teredo 服务器名称” 输入 “teredo.remlab.net”,不设置则使用微软默认的服务器。
注意:ping 一下,看能否ping 通,选择一个能ping通的输入
teredo.remlab.net / teredo-debian.remlab.net (Germany)
teredo.trex.fi (Finland)
teredo.managemydedi.com (USA, Chicago)
- 配置DNS优先解析为IPV6地址(注意:如果想要关闭,关闭方法是网卡配置时通过取消掉IPV6的协议勾选来关闭)
管理员身份打开cmd,执行下面命令修改注册表,添加 AddrConfigControl:
Reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Dnscache\Parameters /v AddrConfigControl /t REG_DWORD /d 0 - 配置完毕,测试配置是否OK:
Win+R 打开 cmd,执行命令查看状态:
netsh int ipv6 show teredo state
若”状态”为 dormant/qualified,则表示已连接服务器并获得 IPv6 地址
若”状态”为 offline 同时提示错误”无法访问主服务器地址”或其他错误,则表示未连接上服务器。可以
尝试修改更换 Teredo 服务器设置,CMD执行:netsh interface teredo set state server=teredo.trex.fi
注意:
该方式连接IPV6时,使用的DNS是自动分配的,如果地址解析不佳的话,可以在网络适配器的ipv6协议中手动指定。
参考:
1.Step By Step Guide To Install Microsoft Teredo Tunnel Adapter (appuals.com)