Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
lon91ong opened this issue Oct 6, 2017 · 404 comments
Open

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

lon91ong opened this issue Oct 6, 2017 · 404 comments

Comments

@lon91ong
Copy link

lon91ong commented Oct 6, 2017

折腾了两天,总算是成功了!
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也被瞄上了。

@Johnkyens
Copy link

据说改了还在被艹。。。求现身说法效果如何。。。哭啊

@botnang
Copy link

botnang commented Oct 6, 2017

厉害!
我也照着试试看!

@onplus
Copy link
Collaborator

onplus commented Oct 6, 2017

我之前以为简书都是这些文章呢

@georagy2004
Copy link

georagy2004 commented Oct 6, 2017

我昨天也照着那些帖子捣鼓了半天,到最后ipv6也搞不通,然后我把那些修改过的设置统统还原了。可今天一拨ipv6,xxnet的ipv6竟然打开了!!上ipv6.google都上去了。所以tcp/ip里的设置到底有没有用,我现在是很懵的。用上ipv6以后ip还是蹭蹭往下掉。

@wisonlys
Copy link

wisonlys commented Oct 6, 2017

IPv6好像不能扫ip啊,我的扫描线程数状态一直是0

@dacoit1983
Copy link

dacoit1983 commented Oct 6, 2017

自己的电信运营商没开放ipv6,再怎么折腾都没用。

@Dianmu
Copy link

Dianmu commented Oct 6, 2017

666,墙了一天没头绪,看到这个帖子,教育网表示,点了一下ipv6-On,就畅通无阻了。感谢
2017-10-07 12 34 43
2017-10-07 12 34 17

@boh5
Copy link

boh5 commented Oct 6, 2017

谢谢大佬
很有用!!!

@colachen2017
Copy link

启用IPv6失败,请确认你的网络支持IPv6。

照樓主的設置了,點開教育網 在on
可是這樣提示

@SaDanic
Copy link

SaDanic commented Oct 7, 2017

我是教育网,以前一直是开着IPv6的,但ip数一直减,我就关了,现在一直打不开,叫我检查网络是否支持IPv6

@colachen2017
Copy link

添加路由 (这一步重启后需要重新做一遍)

ipconfig /all 查看 Teredo Tunneling Pseudo-Interface 使用的连接(如:隧道适配器 本地连接* 1);
netsh int ipv6 show int 查看上面的 本地连接* 1 使用的Idx,如22;
netsh int ipv6 show route 如果没有::/0的记录,则:
netsh int ipv6 add route ::/0 22 (22为上面的Idx,也就是teredo 的Idx)
或者不管Idx,直接用名称添加:
netsh int ipv6 add route ::/0 "Teredo Tunneling Pseudo-Interface"

作者:粗识名姓
链接:http://www.jianshu.com/p/1433dd30f45a
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

@colachen2017
Copy link

添加路由 (这一步重启后需要重新做一遍)

ipconfig /all 查看 Teredo Tunneling Pseudo-Interface 使用的连接(如:隧道适配器 本地连接* 1);
netsh int ipv6 show int 查看上面的 本地连接* 1 使用的Idx,如22;
netsh int ipv6 show route 如果没有::/0的记录,则:
netsh int ipv6 add route ::/0 22 (22为上面的Idx,也就是teredo 的Idx)
或者不管Idx,直接用名称添加:
netsh int ipv6 add route ::/0 "Teredo Tunneling Pseudo-Interface"

作者:粗识名姓
链接:http://www.jianshu.com/p/1433dd30f45a
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

這一步看不懂 ...可以說的詳細嗎, 電腦白痴呀

@lon91ong
Copy link
Author

lon91ong commented Oct 7, 2017

@colachen2017 看不懂就照做好了,每次重启,管理员权限cmd执行最后一行:
netsh int ipv6 add route ::/0 "Teredo Tunneling Pseudo-Interface"

@lon91ong
Copy link
Author

lon91ong commented Oct 7, 2017

@dacoit1983 用Teredo之后,和ISP支不支持IPv6没啥关系

@nly4lov
Copy link

nly4lov commented Oct 7, 2017

一看这么麻烦,我还是算了,反正现在也能翻,虽然只有2个ip。

@hhp99
Copy link

hhp99 commented Oct 7, 2017

首先,宽带提供商要支持IPV6,然后是操作系统要支持IPV6,最后是家庭局域网要支持IPV6,国内大部分无线路由都不支持IPV6,可以把路由器改成集线器就可以了

@dacoit1983
Copy link

@lon91ong 我的ipv6网页测试通过不了。现在用赛风翻墙。

@lon91ong
Copy link
Author

lon91ong commented Oct 7, 2017

@nly4lov @dacoit1983 @colachen2017 @SaDanic 步骤已尽力简化了,再看不懂就没招了
@hhp99 你说的那些情况Teredo就是针对的解决方案

@vert404
Copy link

vert404 commented Oct 7, 2017

太感谢了,我是教育网
aa

@toobed
Copy link

toobed commented Oct 7, 2017

确定。

确定。

确定。

确定。

确定。

确定。

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

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

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

C:\Users\Administrator\Desktop>

@shiyisyl
Copy link

shiyisyl commented Oct 7, 2017

@toobed 我的是找不到元素,这是怎么回事

@shindoujay
Copy link

完全照做,依旧提示

启用IPv6失败,请确认你的网络支持IPv6。

@toobed
Copy link

toobed commented Oct 7, 2017

@lon91ong

确定。

确定。

确定。

确定。

确定。

确定。

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
15 50 1280 disconnected isatap.{74E8059D-217C-4D5E-A46F-870E9
B411211}
20 20 1500 connected 本地连接 3

C:\Users\Administrator\Desktop>

@GraceLum
Copy link

GraceLum commented Oct 7, 2017

@lon91ong 请问 convert ipv6 要怎么用? 开了那个convert的网然后不知道要用什么convert

@lon91ong
Copy link
Author

lon91ong commented Oct 7, 2017

@GraceLum 要输入本地网络连接的IPv4地址,也就是路由器分配给电脑的IP地址
本地网络配置

@shiyisyl
Copy link

shiyisyl commented Oct 7, 2017

确定。

确定。

确定。

确定。

确定。

确定。

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

D:\XX-Net-3.6.8\XX-Net-3.6.8>netsh int ipv6 add route ::/0 "Teredo Tunneling Pse
udo-Interface"
找不到元素。

照着做出现了这个状况

@ENXING
Copy link

ENXING commented Oct 7, 2017

@lon91ong
image

@Josh-Zhen
Copy link

@zhongyu627 我經常用虛擬機。老是禁用太麻煩了,其他還好,暫時只能用Tunne模式了

@zoggee
Copy link

zoggee commented Oct 28, 2017

有几个电信用户,路由表首位总是被莫名其妙的占据,解决方法如下:
netsh interface ipv6 set interface "本地连接" routerdiscovery=disabled 注意把“本地连接”换成你的连接路由器的连接名
-----------------参考上面这一步,终于成功开启IPV6了,谢谢 @lon91ong
特定上来回复感谢,
之前用bat脚本开启一直不能成功开启,用 netsh int ipv6 show route 查看路由表的时候,总是有这一项占据第一条记录:
否 手动 256 ::/0 12 fe80::1
导致IPV6一直测试不能成功,现在移除这一项之后终于成功开启。

@Anudorannador
Copy link

@bye2008 你这个路由器有点牛B了……能说下型号吗?
另外,路由器刷 openwrt 也可以不用那么麻烦设置

@bye2008
Copy link

bye2008 commented Oct 28, 2017

@Anudorannador 路由是很普通的TP WDR7500.

@Josh-Zhen
Copy link

Teredo Parameters

Type : enterpriseclient (Group Policy)
Server Name : teredo.remlab.net (Group Policy)
Client Refresh Interval : 30 seconds
Client Port : unspecified

@baigungun
Copy link

@toobed 我也出现这个情况了,请问您是怎么解决的啊

@gggccc44
Copy link

gggccc44 commented Nov 1, 2017

我觉得有问题的看看是不是用的ghost版系统,我就用的pcbeta论坛那个办法,大部分都可以图形界面操作,只是最后要执行下命令其实就是添加一条注册表,我也用vm虚拟机,有虚拟网卡,没出问题,还在mac虚拟机里面弄好了ipv6

@jiangwjnano
Copy link

google可以上了,Google学术上不去了。

@Willforcv
Copy link

之前还好 就今天晚上来了之后就不能上Google
又把所有步骤反复执行重启 还是 尚未建立连接
netsh int ipv6 add route ::/0 22对象存在
teredo状态也是qualified
就是不能通过ipv6测试

@starsight
Copy link

THX!

@dfzrfu
Copy link

dfzrfu commented Nov 22, 2017

请教大神,其他的步骤都设置正确,然后状态显示如下:

PS C:\Users\Administrator> netsh int teredo show state
Teredo 参数

类型 : enterpriseclient
服务器名称 : win10.ipv6.microsoft.com
客户端刷新间隔 : 30 秒
客户端端口 : unspecified
状态 : probe (primary server)
客户端类型 : teredo client
网络 : managed

然后等一会:

PS C:\Users\Administrator> netsh int teredo show state
Teredo 参数

类型 : enterpriseclient
服务器名称 : win10.ipv6.microsoft.com
客户端刷新间隔 : 30 秒
客户端端口 : unspecified
状态 : offline
错误 : 无法通过 UDP 访问主 teredo 服务器

最后,

PS C:\Users\Administrator> netsh int teredo show state
Teredo 参数

类型 : enterpriseclient
服务器名称 : win10.ipv6.microsoft.com
客户端刷新间隔 : 30 秒
客户端端口 : unspecified
状态 : dormant

一直在上面几种状态之间循环,似乎在不断probe,但是都没有成功
请教,这个该怎么解,谢谢!

@ghost
Copy link

ghost commented Nov 22, 2017

貌似 dormant 只是(刚开机的)休眠,运行 XX-Net 即会醒来,正常的

@tevene
Copy link

tevene commented Dec 7, 2017

奇怪,在我的电脑上会自动多一个::/0的路由:
image
要么是重新运行XX-Net所带的enable ipv6的bat脚本,要么是手动delete这个route。
请问是什么原因造成的呢,可有办法不让它再出现?

@tevene
Copy link

tevene commented Dec 7, 2017

找到原因了,是我的真实网卡开了ipv6协议,可能导致冲突了。把网卡属性里的ipv6协议勾去掉就行了。

@shpherd
Copy link

shpherd commented Dec 24, 2017

@echo off
netsh int ipv6 add route ::/0 "有效的Teredo接口名称" metric=1
SET PYTHONPATH=
"%~dp0%start.vbs" noconsole
在start.bat加了上述语句,启动后有两个XX-NET图标!

@gelcaas
Copy link

gelcaas commented Jan 12, 2018

修改之后会导致虚拟机连不上吗?

@pendave
Copy link

pendave commented Jan 17, 2018

这个挺好用的:
每次关机或者重启之前操作一下就可以!
#9496 预防开机后IPv6 状态 Fail 及隧道适配器驱动感叹号问题

@ghost
Copy link

ghost commented Mar 21, 2018

"仅IPv6" 不可用,请检查。——IPv6 隧道断开,禁用再启用网络,http://127.0.0.1:8085/?module=gae_proxy&menu=advanced 检查 IP——开始。。。

@Illchange
Copy link

我的win10 ipv6 一直开不起来 设置后测试也0/10

@Andywang089
Copy link

自己的电信运营商没开放ipv6,再怎么折腾都没用。

运营商没开放ipv6只是不能用原生ipv6,但是可以借助teredo隧道啊

@AnyWAT
Copy link

AnyWAT commented May 9, 2019

我的win10 ipv6 一直开不起来 设置后测试也0/10

Teredo 隧道 #12455 或原生 #12477
#10184#12043 至今:摒弃 test-ipv6.com 测试,纯属多此一举,徒劳无功!自必须开启 IPv6以来,一直正常一直不用此玩意儿:IPv6 正常前测也白测,正常后更无需再测!
隧道已合格(连接)——控制页内 IPv6状态🆗——能扫描出 IP——XX-Net 才正常:有前才能有后。。。
隧道已合格(连接)——控制页内 IPv6状态🆗即软件代替人工测试的结果。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests