XX-net / XX-Net

A proxy tool to bypass GFW.
33.04k stars 7.69k forks source link

无法启用IPv6的朋友看过来 #6918

Open lon91ong opened 7 years ago

lon91ong commented 7 years ago

折腾了两天,总算是成功了! 20171006232513

拿来主义的懒人太多了,简书的步骤嫌麻烦,给你简单的,先参考下图设置网络连接的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也被瞄上了。

toobed commented 7 years ago

确定。

确定。

确定。

确定。

确定。

确定。

Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users\Administrator\Desktop> netsh int ipv6 show int

Idx Met MTU 状态 名称


1 50 4294967295 connected Loopback Pseudo-Interface 1 13 50 1280 disconnected isatap.{87AE71CD-4FB3-48BE-83EE-E8A1F 06B508A} 23 50 1280 disconnected Teredo Tunneling Pseudo-Interface 20 20 1500 connected 本地连接 3

C:\Users\Administrator\Desktop>

Fuckingcoming commented 7 years ago

和楼上一样额... @lon91ong 接下来怎么弄?

Idx Met MTU 状态 名称


1 50 4294967295 connected Loopback Pseudo-Interface 1 12 50 1280 disconnected isatap.{319827CE-A905-457E-8C93-E9006 E38BC64} 13 50 1280 connected 本地连接* 4 11 20 1500 connected 本地连接

lon91ong commented 7 years ago

@Fuckingcoming 你的情况好多了,Teredo服务器已经连接上了,下一步 netsh int ipv6 add route ::/0 "本地连接* 4"就好了 @toobed 执行netsh int ipv6 show teredo 看看,似乎是teredo服务器没连上,换个服务器试试

xyq168370 commented 7 years ago

360 -1562046

我这种情况是不是你说的多余回路占据了首选?求问怎么解决~ @lon91ong 谢谢大神!

Fuckingcoming commented 7 years ago

@lon91ong 啊啊啊 设置保存成功 感谢了,我一直在纠结 netsh int ipv6 add route ::/0 "Teredo Tunneling Pseudo-Interface" 还换成了 netsh int ipv6 add route ::/0 "Loopback Pseudo-Interface" 我就是没有换成 本地连接4 ........呵呵 笑死了...本来我是早就要试一下的..你一说我就明白了 而且我用ipconfig/all 发现只有 本地链接4 下面有描述 Teredo Tunneling Pseudo-Interface

1

Thechubbyduck commented 7 years ago

@lon91ong 但服务器没连上不是应该显示状态offline吗,干脆什么都不显示会不会是别的地方出了什么问题?

lon91ong commented 7 years ago

@tnt28 后面的两条命令执行错误倒不是关键,你看看你的teredo服务的状态: netsh int ipv6 show teredo @Thechubbyduck offline和什么都不显示不是一码事,具体我也说不清楚。你用策略组看看你的teredo状态,方法参考

Thechubbyduck commented 7 years ago

@lon91ong 策略组里按路径找不到TCPIP设置,就“计算机配置”——“管理模板”——“网络,然后没有T打头的东西。这这这正常吗?

lon91ong commented 7 years ago

@Thechubbyduck 这种情况还是第一次听说

Thechubbyduck commented 7 years ago

@lon91ong 一步一个坎,泪流满面。

lon91ong commented 7 years ago

@Thechubbyduck 话说你用的哪位大大的精简系统啊,这么狠,还能用,要膜拜的!

henrymilan commented 7 years ago

我的隧道开不起来啊= = netsh interface ipv6 show teredo提示未能打开隧道适配器

zeitgeist8080 commented 7 years ago

@lon91ong 无法删除 LOOP qq 20171007191959 WIN7 虚拟机, 帮帮我吧,工作拖了几天了

Thechubbyduck commented 7 years ago

@lon91ong 百度半天都搜不到这种情况,大神也没解决办法的话我就放弃了。

lon91ong commented 7 years ago

@zeitgeist8080 不是见Loopback就删的,不要瞎搞! 看看netsh int ipv6 show route再决定是不是需要删除

zeitgeist8080 commented 7 years ago

qq 20171007192811 貌似我IPHELP 没开,感谢大神,流泪中,外面的空气真好!

Jayzou91 commented 7 years ago

终于可以了,谢谢分享!

xdzw1234 commented 7 years ago

第一步的ipv6设置后,重新进入ipv6地址就没了怎么办啊

brookchou commented 7 years ago

@lon91ong 你好!我跟着步骤做了之后,开启ipv6失败,显示 Oct 07 19:36:51.535 - [WARNING] IPv6 was enabled, but check failed.

输入netsh int ipv6 show teredo state显示为: C:\Users\Administrator>netsh int ipv6 show teredo state Teredo 参数

类型 : enterpriseclient (Group Policy) 服务器名称 : teredo.trex.fi (Group Policy) 客户端刷新间隔 : 30 秒 客户端端口 : unspecified 状态 : probe (primary server) 客户端类型 : teredo host-specific relay 网络 : managed

输入netsh int ipv6 show int又显示为: C:\Users\Administrator>netsh int ipv6 show int

Idx Met MTU 状态 名称


1 50 4294967295 connected Loopback Pseudo-Interface 1 12 25 1500 connected 无线网络连接 13 5 1500 disconnected 无线网络连接 2 14 5 1500 disconnected 无线网络连接 4 19 50 1280 disconnected Teredo Tunneling Pseudo-Interface 11 5 1500 disconnected 本地连接 17 50 1280 disconnected isatap.{354E92E3-3912-4470-BA0B-17E86 367BB1F} 16 50 1500 disconnected Bluetooth 网络连接 24 50 1280 disconnected isatap.{DB6099EE-4A4F-4BD4-B921-EF512 2420213}

请问该怎么解决呢?谢谢了!

MoCongxin commented 7 years ago

但ipv6还是不能用,该怎么办?

liyibo123 commented 7 years ago

按照方法一步一步来,全都符合,就是xxnet的ipv6无法打开

astonetwobirds commented 7 years ago

已经成功,谢谢 @lon91ong

colachen2017 commented 7 years ago

建議樓主再寫詳細些, 這裡很多電腦白痴... 或許樓主覺得很簡單步驟,就沒指出

對一般電腦使用者 來說 就會搞錯 比如說內網地址 ,如何轉成Ipv6 地址一節 ..就沒指出 要轉換

BlankWhite commented 7 years ago

终于找到原因了 ::/0 被占用了 删掉就好了

tttt11 commented 7 years ago

default

实在弄不明白了,请求指点。 看情况一切就绪了啊,就是打不开。 http://test-ipv6.com/ 测试的结果所有和ipv6相关的都失败。

shiyisyl commented 7 years ago

@toobed 我重启了一下试了试,跟你的一样 你是怎么解决的

lon91ong commented 7 years ago

@yoooooooo 看看策略组中的ISATAP状态是不是下图的样子 isatap

Fuckingcoming commented 7 years ago

@tttt11 你的图有2个: :/0 试试 先输入 route DELETE ::/0 然后再输入正确 : :/0 对应的接口名称? 反正2个: :/0 我是没有2个

astonetwobirds commented 7 years ago

@tttt11 我也没有两个::/0

MoCongxin commented 7 years ago

@lon91ong 家庭版没有策略组,尝试了netsh interface isatap set state enabled,还是不行。

shiyisyl commented 7 years ago

@toobed 我的可以了 每次都要再重新输入一次那个

tttt11 commented 7 years ago

我试过了,删掉那个“::/0 6 fe80::1” 也不行,而且过个几分钟之后它自己又回来了。。。

BlankWhite commented 7 years ago

确实 同样的问题

colachen2017 commented 7 years ago

下面的保存为批处理(bat)文件

這句話的意思 ,是先建立文本文件,然後轉換成bat?

Fuckingcoming commented 7 years ago

@colachen2017 就是 复制到文本保存,改后缀为.bat 再运行

brookchou commented 7 years ago

我的另外一台电脑也无法启动ipv6,但是出问题的地方不一样: netsh int ipv6 show route 里面,前缀::/0总是果一会儿就自己消失了,哪怕再次add route ::/0 也不行。

gggccc44 commented 7 years ago

运营商没开放ipv6,也可以开,我用的pcbeta那个帖子额办法,关键是找到能ping通的Teredo

TooFlow commented 7 years ago

@lon91ong 感谢,照你所说的方法,另一台Computer测试可行。 image

qa2080639 commented 7 years ago

测试成功了 感谢~ 记录下遇到的坑,用命令行不能有效的执行Teredo服务,还得按照简书里手动操作才行

Win+R ==> gpedit.msc ==> 计算机配置 ==> 管理模板 ==> 网络 ==> TCPIP 设置 ==> IPv6 转换技术 主要是配置Teredo服务的几个选项,经我的测试,6to4不用管,ISATAP 启用 默认 即可。 Teredo 默认限定 启用; 服务器名称:teredo.remlab.net(我这好用的); 状态 启用 企业客户端(内网设置)

ChaoSong817 commented 7 years ago

请问自己用的教育网,但是在http://test-ipv6.com 查了一下发现自己没有IPv6地址,然后我在cmd上输入ipconfig之后发现有Link-local IPv6 Address。我按照这样的操作可以开启ipv6吗

toobed commented 7 years ago

@gggccc44 应该是这个,我自从第一次成功过以后重启就再也不能连接任何服务器了,好后悔,不应该重启,应该多用一会

xyq168370 commented 7 years ago

各种设置都试了,teredo服务器显示也连得上,但是进入xxnet开启ipv6的时候永远显示“启用IPv6失败,请确认你的网络支持IPv6",我都已经绝望了…… 其实我昨晚成功设置过ipv6,而且成功连接上了,为什么现在就不行了啊!!!哭……

tttt11 commented 7 years ago

@lon91ong @Fuckingcoming @astonetwobirds 多谢帮助 现在的情况是,只有一个teredo前缀::/0的情况下,是可以开启ipv6的。 但是另外那个名称是“fe80::1”的,不知为何会自己添加回来,5秒至半小时不等,它就又有了。它一出现就废了。

OpticalEngineering commented 7 years ago

@lon91ong 确定。

确定。

确定。

确定。

确定。

确定。

Microsoft Windows [版本 10.0.15063] (c) 2017 Microsoft Corporation。保留所有权利。

C:\WINDOWS\system32>netsh int ipv6 add route ::/0 "Teredo Tunneling Pseudo-Interface" 文件名、目录名或卷标语法不正确。

请问这是怎么回事 C:\WINDOWS\system32>netsh int ipv6 show int

Idx Met MTU 状态 名称


5 55 1500 connected WLAN 18 75 1472 disconnected 本地连接 13 1 75 4294967295 connected Loopback Pseudo-Interface 1 9 25 1500 disconnected 本地连接 12 7 5 1500 disconnected 以太网 37 25 1500 disconnected 本地连接* 11 4 35 1500 connected VMware Network Adapter VMnet1 6 35 1500 connected VMware Network Adapter VMnet8

BlankWhite commented 7 years ago

@tttt11 关于fe80::1占用的问题 是路由器的问题

OpticalEngineering commented 7 years ago

@lon91ong C:\WINDOWS\system32>netsh int ipv6 show teredo Teredo 参数

类型 : enterpriseclient 服务器名称 : teredo.remlab.net 客户端刷新间隔 : 30 秒 客户端端口 : unspecified 状态 : offline 错误 : 未能打开隧道适配器

xyq168370 commented 7 years ago

360 -2810203 麻烦帮我看一下,我应该填入的ipv6静态网址是不是红框中这个?

前面的项目都检查过没有问题了,如果这一项在弄好还是不行,我只能另想他法了。

@lon91ong 不过无论如何还是要感谢你!第一次遇见像你这么耐心热心的技术大牛!学会了很多东西!

MoCongxin commented 7 years ago

@lon91ong 没有策略组的话,是不是没救了。

titiexe commented 7 years ago

add route等了很久,没有显示错误,也没有显示对象已存在,什么情况呢?

Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

Idx Met MTU 状态 名称


1 50 4294967295 connected Loopback Pseudo-Interface 1 11 25 1500 connected 无线网络连接 16 50 1280 disconnected isatap.{D916CB37-F7DF-4702-8627-1FD6B 5EA51BE} 14 25 1500 connected 无线网络连接 2 12 50 1280 connected Teredo Tunneling Pseudo-Interface 13 5 1500 disconnected 本地连接 17 50 1280 disconnected isatap.{264344AC-786B-451E-95D5-967A3 FF3515A}

titiexe commented 7 years ago

@lon91ong 小白,还请帮看。感谢。

Teredo 参数

类型 : enterpriseclient 服务器名称 : teredo.remlab.net 客户端刷新间隔 : 30 秒 客户端端口 : unspecified 状态 : qualified 客户端类型 : teredo host-specific relay 网络 : unmanaged NAT : restricted NAT 特殊行为 : UPNP: 否,PortPreserving: 是 本地映射 : 192.168.1.2:60689 外部 NAT 映射 : 119.4.135.69:60689