Skip to content
lon91ong edited this page Oct 27, 2017 · 32 revisions

ISP商直接提供IPv6支持

部分地区的运营商开通得了IPv6原生支持。
目前IPv6未受到GFW干扰,可以直接使用。
如何获取原生IPv6

校园网络一般直接支持,还免流量费。


通过各种隧道,获得IPv6

6to4隧道适用公网ip用户,teredo隧道适用内网ip用户。 ###Teredo隧道方法 参考下图设置本地网络连接的IPv6设置: 20171007113415 上图的Step4只需要手动指定下面的DNS地址,上面的保持自动即可! 内网IPv6地址计算,输入本地网络连接IPv4的地址,如:192.168.1.100

下面的保存为批处理(bat)文件,感谢Anudorannador 的提点

@echo off
netsh interface isatap set state default
netsh interface teredo set state default
netsh interface teredo set state server=teredo.remlab.net
netsh interface ipv6 set teredo enterpriseclient
cmd

下面的"有效的Teredo接口名称”需要自己查找替换,具体名称规则,不是Teredo开头的“Teredo Tunneling Pseudo-Interface”,就是本地连接挂*的,状态应该是已连接(connected)

右键管理员权限执行一次,稍等一下(10~20s左右),执行netsh int ipv6 add route ::/0 "有效的Teredo接口名称"(引号不可缺) 回显提示:“对象已存在”即可。 访问IPv6测试页,结果如下图所示,只要保证那一项成功即可: 20171007103126

@Anudorannador 反应下面一步不需要,应该是跟系统的安全设置方面相关。Win10比Win7更严格! 关键在于上一步设置的路由表第一项还在不在,反正我用的Win10 LTSB企业版 是重启就没了

以后每次重启之后,都要执行netsh int ipv6 add route ::/0 "有效的Teredo接口名称" metric=1再启动XX-Net,可以把它写入XX-Net目录中的start.bat中:

@echo off
netsh int ipv6 add route ::/0 "有效的Teredo接口名称" metric=1
SET PYTHONPATH=
"%~dp0%start.vbs" noconsole

发个快捷方式到桌面,改“管理员权限”,以后启动XX-Net用这个快捷方式就好了! 20171007121255

总结回溯排错步骤

  1. 检查路由表,netsh int ipv6 show route,看看你设置的是不是唯一::/0项。如果多余不唯一,参见下面问题3。如果没有你设置的则跳转到下一步检查。
  2. 检查teredo服务状态,netsh int ipv6 show teredo,看看状态是不是qualified参考解决办法。连状态行都没有的话,检查IP Helper服务是否启动,进一步参考“未能打开隧道适配器” @qumaggot 修改注册表的方法 @FrankHB 参考方法
  3. 检查策略组(运行gpedit.msc开启)中的ISATAP状态是不是下图的样子 isatap 家庭版的系统没有策略组,使用netsh int ipv6 show int查看网络接口中有没有isatap开头的
  4. 检查网络连接的IPv6静态网址和IPv4自动获取的网址是不是对应的,如果出现IPv6退回自动的状态,参见下面的问题5。建议把IPv4地址也设置成静态或者在路由器中设置绑定MAC地址到固定IP。

补充几个常见问题

  1. 有个别朋友的网络环境差异,导致Teredo服务器可能连不上,尝试几次换换服务器可能成功。参考
  2. 注意检查有效的Teredo接口名称,不是Teredo开头的,就是本地连接挂*的,状态应该是已连接(connected)
  3. 遇到了两个朋友,路由表有多余的回路(Loopback Pseudo-Interface)占用了首选位置,需要先删除:route DELETE ::/0 再重新添加:netsh int ipv6 add route ::/0 "有效的Teredo接口名称" metric=1
  4. 还有极个别由于系统优化的原因导致IP Helper服务被禁用的,需要手动启用
  5. 遇到几例网卡没有IPv6地址的情况,ipconfig -all查看没有任何v6地址,先试试@robinshiesh 修改防火墙规则的方法;手动设置地址后会跳回自动,这个问题是系统设置的个例,参考解决办法一微软修复工具,实在不行试试#7100的方法,也可以参考知乎的类似问题
  6. 有几个电信用户,路由表首位总是被莫名其妙的占据,解决方法如下: netsh interface ipv6 set interface "本地连接" routerdiscovery=disabled 注意把“本地连接”换成你的连接路由器的连接名
  7. 之前Teredo连不上的时候我都推荐连芬兰的那个服务器teredo.trex.fi,今天试了试,很痛快的连上了,但就是测试页的关键项死活通不过,反复检查了其它设置都无误,最后试着换成微软默认的Teredo服务器:win10.ipv6.microsoft.com,一次通过。芬兰巨坑啊!
PS:

{10月13日更新} 今天似乎更严格了,Teredo连接不稳定,时断时续,后来拿IP直接替换域名才好了。似乎是google的DNSv6也被瞄上了。 各操作系统情况不同,方法也不一样。

开启失败排查

  1. 开启teredo失败时的解决方案 http://support.xbox.com/zh-CN/xbox-on-windows/social/troubleshoot-party-chat
Clone this wiki locally