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,WIN7 & WIN SERVER 2008 R2系统测试成功 #7241

Open
ylwszb opened this issue Oct 13, 2017 · 181 comments
Open

简单几步开IPV6,WIN7 & WIN SERVER 2008 R2系统测试成功 #7241

ylwszb opened this issue Oct 13, 2017 · 181 comments

Comments

@ylwszb
Copy link

ylwszb commented Oct 13, 2017

请先参考:
无法启用IPv6的朋友看过来 #6918
我的ipv6成功启用历程 #7000
公网服务器开启IPV6,运行XX-NET IPV6模式 #7051

经过几天的研究和不断测试,现将最简单的开启IPV6的过程描述如下,供大家参考、学习和研究。
因本人测试环境有限,只对WIN7 & WIN SERVER 2008 R2系统进行了测试,其他系统不能保证成功率。

(1)使用默认的“组策略”(IPv6 转换技术),无需更改任何配置。

win7旗舰版:
1 win7

WS 2008 R2数据中心版:
2 ws2008

(2)为了防止因系统防火墙设置不当导致的不能连接IPV6状况,请将系统防火墙恢复默认值或关闭系统防火墙。(如果是远程连接操作电脑,请慎用“系统防火墙”还原默认设置)
10

(3)请正确设置本地连接IPV4 和 IPV6 的DNS

IPV4 DNS:(参考 http://ip.cn/dns.html
3 win7 ipv4 dns

IPV6 DNS:(参考下面的 IPV6 相关笔记)
4 win7 ipv6 dns

(4)执行一键批处理开启 IPV6 操作,请将下列命令保存成 IPV6.BAT 文件并执行。

@echo off

net start "ip helper"
netsh int ipv6 reset

netsh int teredo set state default
netsh int 6to4 set state default
netsh int isatap set state default
netsh int teredo set state server=teredo.remlab.net
netsh int ipv6 set teredo enterpriseclient
netsh int ter set state enterpriseclient
route DELETE ::/0
netsh int ipv6 add route ::/0 "Teredo Tunneling Pseudo-Interface"
netsh int ipv6 set prefix 2002::/16 30 1
netsh int ipv6 set prefix 2001::/32 5 1
Reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Dnscache\Parameters /v AddrConfigControl /t REG_DWORD /d 0 /f

netsh int teredo set state default
netsh int 6to4 set state default
netsh int isatap set state default
netsh int teredo set state server=teredo.remlab.net
netsh int ipv6 set teredo enterpriseclient
netsh int ter set state enterpriseclient
route DELETE ::/0
netsh int ipv6 add route ::/0 "Teredo Tunneling Pseudo-Interface"
netsh int ipv6 set prefix 2002::/16 30 1
netsh int ipv6 set prefix 2001::/32 5 1
Reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Dnscache\Parameters /v AddrConfigControl /t REG_DWORD /d 0 /f

ipconfig /all
ipconfig /flushdns
netsh int ipv6 show teredo
netsh int ipv6 show route
netsh int ipv6 show int
netsh int ipv6 show prefix
netsh int ipv6 show address
route print
cmd

细心的朋友们会发现为什么要执行两遍如下命令呢?

netsh int teredo set state default
netsh int 6to4 set state default
netsh int isatap set state default
netsh int teredo set state server=teredo.remlab.net
netsh int ipv6 set teredo enterpriseclient
netsh int ter set state enterpriseclient
route DELETE ::/0
netsh int ipv6 add route ::/0 "Teredo Tunneling Pseudo-Interface"
netsh int ipv6 set prefix 2002::/16 30 1
netsh int ipv6 set prefix 2001::/32 5 1
Reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Dnscache\Parameters /v AddrConfigControl /t REG_DWORD /d 0 /f

经过我多次测试,只执行一遍上面的操作时,有些电脑仍然无法连接到IPV6网络,执行两遍上面的命令,则很大程度提高了成功率。(执行完 IPV6.BAT 文件后,无需重启电脑,就已经能连上IPV6网络)
提示:如果发现用着用着又连接不上IPV6网络时,请再执行一遍 IPV6.BAT 文件即可。
或单独执行一遍 netsh int ipv6 add route ::/0 "Teredo Tunneling Pseudo-Interface"

(5)展示一下 IPV6 的测试结果:

win7旗舰版:
5 win7 ipv6 1
6 win7 ipv6 2

WS 2008 R2数据中心版:
7 ws2008r2 ipv6 1
8 ws2008r2 ipv6 2
9 ws2008r2 ipv6 google

细心的朋友们又发现问题了,两套系统虽然都连接到了IPV6网路,但连接隧道不一样,一个是“Teredo”,另一个是“6to4”。因为 IPV6.BAT 批处理文件中提供了三个隧道,分别是Teredo、6to4和isatap,现已测试能用的只有Teredo和6to4,可能是因为isatap没有设置服务器的原因,暂时不可用,但能使用两个隧道就已经能够满足现在的需求了,暂时无需开启isatap,如有需求的可以添加设置isatap服务器,再试试。

在我测试IPV6隧道时发现,如果电脑位于公网下,能够连接到6to4的几率会很高,内网环境一般都是Teredo,很难连接到6to4。如果能够连接到6to4,就能在不使用任何翻墙软件的情况下直接访问Google等部分网站,大家可以试试。

(6)WS2008R2服务器安装XX-NET开IPV6诊断信息

XX-Net Status:

sys-platform: AMD64, Windows-2008ServerR2-6.1.7601-SP1
os-system: Windows
os-version: 6.1.7601
os-release: 2008ServerR2
os-detail: Version:6-1; Build:7601; Platform:2; CSD:Service Pack 1; ServicePack:1-0; Suite:400; ProductType:0
architecture: 32bit,WindowsPE
browser: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36
xxnet-version: 3.6.15
python-version: 2.7.13
openssl-version: 16.0.0 TLSv1_2 h2:alpn

ipv6-status: 1
gws-ip-num: total:12347 good:9330
network-status: OK
connected-link: new:2 used:0
worker: h1:5 h2:0
scan-ip-thread-num: 0
ip-quality: 530
is-idle: 0
block-stat: OK
proxy_state: Fail
ca_state: Fail
Appid_Working: true
Appids_Out_Of_Quota: false
Appids_Not_Exist: false
Using_Public_Appid: false

因为服务器的代理没开所以这两项是Fail,打开就能翻墙,速度还很快,还能共享给其他人使用(虽然不安全,但只是做测试使用)
proxy_state: Fail
ca_state: Fail

(7)回看 IPV6.BAT 批处理,看一下后面的几行命令

ipconfig /all
ipconfig /flushdns
netsh int ipv6 show teredo
netsh int ipv6 show route
netsh int ipv6 show int
netsh int ipv6 show prefix
netsh int ipv6 show address
route print

这些命令都是查看和诊断当前网络和IPV6连接的相关命令,有助于帮助大家查看当前网络连接问题,发现问题及时反馈,相信论坛内有很多高手会帮助你。祝大家好运。

(8)IPV6相关笔记,学习、研究、参考。

#停用“ip helper”服务
net stop "ip helper"

#启用“ip helper”服务
net start "ip helper"

#显示Teredo信息
netsh interface ipv6 show teredo

#Teredo、6to4、isatap重置
netsh interface teredo set state default
netsh interface 6to4 set state default
netsh interface isatap set state default

#关闭和卸载Teredo、6to4、isatap
netsh interface teredo set state disable
netsh interface 6to4 set state disabled
netsh interface isatap set state disabled

#重新启用Teredo
netsh interface Teredo set state type=default

#设置Teredo服务器
netsh interface teredo set state server=teredo.remlab.net
netsh interface teredo set state server=teredo-debian.remlab.net
netsh interface teredo set state server=teredo.trex.fi

#设置Teredo服务器为teredo.ipv6.microsoft.com(此teredo服务器已报废)
netsh interface ipv6 set teredo client teredo.ipv6.microsoft.com

#设置isatap服务器(服务器PING不通)
netsh int IPV6 isatap set router isatap.scu.edu.cn

#手动解决Windows7对IPv6支持的瑕疵
netsh interface IPV6 set global randomizeidentifiers=disabled

#启用Teredo
netsh interface ipv6 set teredo enterpriseclient
netsh int ter set state enterpriseclient

#手动换算(IPv4)并设置本地连接(IPv6)地址
#换算IPv4地址
http://ip-lookup.net/conversion.php
#修改本地连接IPv6地址
#子网前缀长度 48

#google ipv6 dns:
2001:4860:4860::8888
2001:4860:4860::8844

#opendns ipv6 dns:
2620:0:ccc::2
2620:0:ccd::2

#HE ipv6 dns:
2001:470:20::2

ipconfig /all
ipconfig /flushdns
netsh int ipv6 show int
netsh int ipv6 show route

#看看teredo状态是不是qualified
netsh int ipv6 show teredo

#删除多余回路
route DELETE ::/0

#添加路由 (这一步重启后需要重新再做一遍)
netsh int ipv6 add route ::/0 "Teredo Tunneling Pseudo-Interface"

#在“start.bat”中添加下面两句,实现XX执行自启
netsh int ipv6 add route ::/0 "Teredo Tunneling Pseudo-Interface"
SET PYTHONPATH="%~dp0%start.vbs" console

#优先级
netsh int ipv6 show prefix
netsh int ipv6 set prefix 2002::/16 30 1
netsh int ipv6 set prefix 2001::/32 5 1

#查看Teredo Tunneling Pseudo-Interface 接口
route print

#显示IPv6地址
netsh interface ipv6 show address

#显示IPv6路由
netsh interface ipv6 show route

#重启ipv6,再重启计算机
netsh interface ipv6 reset

#重启网卡("本地连接 2"换成自己要重启的网卡名)
netsh interface set interface "本地连接 2" disabled
netsh interface set interface "本地连接 2" enabled

#IPV6测试网站:

http://test-ipv6.com/
#摘要部分测试完成后,请到“测试项目”中查看结果。
#全是“成功”就最完美的。

http://www.kame.net/kame-mosaic.html
#IPv6可以看到活动的乌龟,IPv4乌龟不动

(9)其他相关问题

已知WIN10系统在执行 IPV6.BAT 命令时,有些命令会报错,从这一点就能看出 WIN10 与 WIN7 系统的差异,要想在XX-NET中实现IPV6全自动化挂载运行,还需要高手们共同再研究和探讨。当然还有linux系统和Mac系统,要想实现全自动化运行IPV6一点都不报错,也是需要高手们攻克的难题。

@Sisyphy
Copy link

Sisyphy commented Oct 13, 2017

这个很全面了,谢谢分享~

@ylwszb
Copy link
Author

ylwszb commented Oct 13, 2017

公司有三台服务器,执行完 IPV6.BAT 文件后,有两台连接到了6to4,有一台连接到了Teredo
内网办公电脑,在测试的电脑中,全是Teredo,没有一台是6to4。
由此可见,虽然命令中已经设置了优先级,但是也会受网络和环境的影响,自动选择隧道路径。

@onplus
Copy link
Collaborator

onplus commented Oct 13, 2017

国内部分高校可以用原生ipv6 和 istap

@klcb2010
Copy link

没你那么复杂 参考了远景和微软官方教程 我只有一个失败 你的IPv4 DNS服务器不会适合每个人 每个人的运营商不一样

@ylwszb
Copy link
Author

ylwszb commented Oct 13, 2017

上面的描述很多,其实很简单的几步就能开IPV6:

(1)看一下组策略是否都是默认值(“未配置”状态),有没有改动过配置。
(2)系统防火墙有没有不当设置,阻碍了IPV6的连接。
(3)正确设置IPV4和IPV6的DNS。
(4)执行一键开IPV6的批处理操作。测试了一个星期,这是最完美的一版。
(5)到IPV6测试网站做测试,基本都是成功的。

其实就这五步操作,就能开启IPV6,是不是很简单呢!

@ylwszb
Copy link
Author

ylwszb commented Oct 13, 2017

如果前三步都是没有问题的,只需要执行第四步就能开启IPV6,是不是更简单。

@Sisyphy
Copy link

Sisyphy commented Oct 13, 2017

我觉得核心的东西就这三点
1、打开Teredo,并确认能链接到Teredo服务器(例如win10.ipv6.microsoft.com)。
2、ipv4地址的换算及添加
3、添加Teredo Tunneling Pseudo-Interface的路由信息。

@ylwszb
Copy link
Author

ylwszb commented Oct 13, 2017

@klcb2010
IPV4 的 DNS是可以根据需要随时换的。( http://ip.cn/dns.html
已知移动开IPV6可能会有问题,不过电信和联通都试过了,没有问题。

@foxerfly
Copy link

非常感谢,,,很全面实用!

@ylwszb
Copy link
Author

ylwszb commented Oct 13, 2017

@Sisyphy

经测试能ping的通的Teredo,暂时只有这三个。
netsh interface teredo set state server=teredo.remlab.net
netsh interface teredo set state server=teredo-debian.remlab.net
netsh interface teredo set state server=teredo.trex.fi

IPV4地址可无需换算后给IPV6,IPV6的IP地址自动获取也没有问题。

添加 Teredo Tunneling Pseudo-Interface 路由是必须的。

@ylwszb
Copy link
Author

ylwszb commented Oct 13, 2017

@onplus

如果能使用原生的IPV6是最好不过。很可惜大部分是用不了的。

另辟蹊径再研究吧……

@ghost
Copy link

ghost commented Oct 13, 2017

开是开了,关键IPV6 的IP数量太少了,马上快没了,要是能自己扫描IPV6 的IP添加到其中就好了,

@ylwszb
Copy link
Author

ylwszb commented Oct 13, 2017

WIN7 & WIN SERVER 2008 R2系统
下载 解压 执行 IPV6.BAT 文件,助你一键开启IPV6成功,XX IP数量回归
IPV6.zip

@Sisyphy
Copy link

Sisyphy commented Oct 13, 2017

@ylwszb 哦哦,那就2个核心点了,谢谢分享经验,我也就昨晚试了试。。。
服务器我用的是win10.ipv6.microsoft.com

@ylwszb
Copy link
Author

ylwszb commented Oct 13, 2017

@freesd
XX的IPV6 IP数量最多是12347,我还没看到比这个再多的,算是库最多值。
可用数量肯定会比他少,如果少的不正常,要多执行一下“检查所有IP”操作。有可能会缓解。
XX的版本不能太旧,要及时更新,避免网络封锁。

@ylwszb
Copy link
Author

ylwszb commented Oct 13, 2017

@Sisyphy
我这就ping不通win10.ipv6.microsoft.com服务器,所以用不了。

@klcb2010
Copy link

还忘了说我 IPhelper打开就自动转换了 不需要固定IP地址

@onplus
Copy link
Collaborator

onplus commented Oct 13, 2017

@ylwszb 大部分开发者没有ipv6环境
xx自带的ipv6库
https://github.com/XX-net/XX-Net/blob/master/code/default/gae_proxy/local/good_ipv6.txt
你可以找靠谱的ipv6 hosts,自己添加最新可用ip

@Sisyphy
Copy link

Sisyphy commented Oct 13, 2017

@xxnet 推荐这个问题挂首页公告

@step10900
Copy link

感谢大神,终于用上ipv6了,按照之前说的都设不了

@unacyl
Copy link

unacyl commented Oct 13, 2017

非常感谢! 特地注册来回复,头像都没来得及换。

win7,移动网,XX-Net 3.6.15,表示楼主的方法可行。

@Sisyphy
Copy link

Sisyphy commented Oct 13, 2017

你们能看youtube么,我这里涉及到视频的都打不开。。。

@skyalien
Copy link

skyalien commented Oct 13, 2017

@onplus 这个文件里的IP并不能导入啊,导入就显示已导入0条IP

@ylwszb
Copy link
Author

ylwszb commented Oct 13, 2017

@onplus
我也再找比较好用的,可靠的ipv6 hosts文件,不过大部分都是用不了的。
你推荐的这个我可以试试
https://github.com/XX-net/XX-Net/blob/master/code/default/gae_proxy/local/good_ipv6.txt
不管能不能用,先谢过,晚上回家试试。

@ylwszb
Copy link
Author

ylwszb commented Oct 13, 2017

@unacyl

移动网也能用了?
如果真的能用,我很欣慰。

移动网用户,都试试吧……

@ylwszb
Copy link
Author

ylwszb commented Oct 13, 2017

@Sisyphy
想看YouTube,请注意使用的浏览器。
我用的是360极速浏览器,还有Google的chrome浏览器。
有些浏览器可能打不开YouTube,或者打开异常。

@ylwszb
Copy link
Author

ylwszb commented Oct 13, 2017

@skyalien

你说的是哪个文件里不能导入IP?

@ylwszb
Copy link
Author

ylwszb commented Oct 13, 2017

@skyalien
哦,我知道你说的是哪个文件了
IPV6.zip压缩文件里只有两个文件,一个是“IPV6.BAT”文件,还有一个是IPV6的笔记。
经测试,XX中ip数量的减少,很有可能是IPV6不正常的网络活动造成的,或者是连接失常导致的。
虽然XX中已经开启IPV6功能,但也要随时关注IPV6的连接状态,发现不正常随时要找原因。
建议升级XX到最新版本,避免网络封锁造成的IP数量锐减等情况。

@ylwszb
Copy link
Author

ylwszb commented Oct 13, 2017

@klcb2010
“ip helper”开启后,IPV6的IP地址无需用IPV4的地址换算。
全部自动获取即可。

@skyalien
Copy link

@ylwszb 不是 我是说@onlus 贴出来的那个文件,里面有很多IP地址,但是导入不进XX-net

@ylwszb
Copy link
Author

ylwszb commented Nov 5, 2017

@zhou12808

搞定了,就OK了

@jiangwjnano
Copy link

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

@ylwszb
Copy link
Author

ylwszb commented Nov 7, 2017

@jiangwjnano

电脑右下角的XX选择“全局通过GAE……代理”,浏览器安装SwitchyOmega插件,再选“情景模式: X-Tunnel”就能上了,别忘了在XX的 X-Tunnel 中登录你自己的账号。

@jiangwjnano
Copy link

@ylwszb
多谢多谢!可以上啦!!~X-Tunnel有流量限制吗

@ylwszb
Copy link
Author

ylwszb commented Nov 7, 2017

@jiangwjnano

X-Tunnel有流量限制,可以购买,或者在每次打开XX时会送200M

@ylwszb
Copy link
Author

ylwszb commented Nov 7, 2017

小贴士

有不少人反应,在设备管理器中找不到teredo适配器,或者使用 ipconfig/all 命令也看不到teredo适配器的存在,原因很简单,就是你的系统没有正确识别和安装teredo适配器所致。

经常会有人,在看不到teredo适配器时,强行使用命令开启teredo适配器,或者手动安装teredo适配器,这样做很容易出问题。最好的解决办法就是让计算机自动识别和安装teredo适配器。

比如说手动安装teredo适配器,有可能会安装出伪teredo适配器(也就是假的teredo适配器),一般症状体现为,在查看teredo适配器属性常规页时发现位置一项是未知状态,如果是这样,肯定无法使用。

解决方法如下:

(1)首先改一下注册表:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP6\Parameters
把DisabledComponents值改成0
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TCPIP6\Parameters
把EnableICSIPv6值改成1
(2)把所有teredo适配器全部删除
(3)修改一下组策略,只改这两处,然后重启计算机
1
1
(4)重启后,再到设备管理器中查看,系统是否已自动安装上teredo适配器,位置一项是不是还是未知,如果变成(位置:在 Microsoft IPv4 IPv6 转换适配器总线 上),就可以正常使用了
(5)如果teredo适配器恢复正常了,再回到组策略,把修改过的teredo状态再改回“未配置”状态
(6)检查一下Teredo适配器名称是否还是“Teredo Tunneling Pseudo-Interface”,如果是就可以正常操作批处理文件了。

处理teredo适配器的难点就在于teredo适配器是否安装正确且位置一项不能是未知状态,如果是未知状态,肯定是teredo适配器没安装好或是装出了一个伪teredo适配器。

@DipperTheCoder
Copy link

@ylwszb 我是win10家庭版,没有组策略怎么办,如何安装teredo适配器呢?

@ylwszb
Copy link
Author

ylwszb commented Nov 11, 2017

随着 “墙” 越来越高,给电脑开IPV6成为了一个热门话题,有不少计算机网络爱好者都在研究此问题,俺也是其中一员。

在Issues内已经有不少关于如何开启IPV6的相关帖子,在wiki内还有如何开启IPv6的很多教程可以借鉴。

但是,直到目前为止,对于部分WIN系统用户而言开启IPV6仍然是个难题。

开启IPV6最常见的两大难题(遇到了我也很棘手,不能保证都能处理):

(1)系统无法自动识别与正确安装隧道适配器

IPV6的隧道适配器分为三种,分别是:teredo、6to4、isatap

teredo:是大家最常用的隧道适配器,主要用于内网。
6to4:具有公网IP且ISP服务商必须提供IPV6服务的才能使用。
isatap:一般是教育网专用,非教育网几乎无法使用。

如能使用原生IPv6是最好不过了,很遗憾大部分用户仍然无法使用。

如果在issues内,咨询和提问都不能解决适配器正确安装和使用的问题,那就请重装系统解决吧!

(2)无法通过公共隧道服务器获取IPV6的IP地址

如果你的适配器能够正常工作,就是收不到公共隧道服务器分配给你的IPV6的IP地址时,请尝试更换新的公共隧道服务器,这样有可能会解决IPV6获取IP地址的问题。

当然,如果你的ISP服务器商屏蔽了你的公共隧道服务器使用,就算更换多少个公共隧道服务器也是无济于事,彻底放弃吧!

言归正传,下面来说说通用批处理:

只有在运行批处理时才能发现上面的两大难题,如果遇到了先在issues内提问或反馈,看看是否能解决,如不能很好的解决,就只能重装系统或更换新的隧道服务器来解决问题了。

本批处理融合了三个隧道,但关闭了6to4和isatap隧道,因为在测试中发现,同时开启三个隧道,有网络干扰和网络不稳定的情况发生。所以只保留开启了teredo隧道,提高稳定性。

本批处理已在 WIN 7/8/10 以及WIN SERVER 2008/2012 下通过测试
XP用户请看wiki中相关教程:https://github.com/XX-net/XX-Net/wiki/IPv6-WinXP

批处理特点(适合大部分WIN系统用户使用):

(1)无需修改组策略,算是系统无组策略的用户福音
2

(2)无需开启“本地连接”中的IPV6协议,但必须要安装
1

(3)正常安装且能使用的teredo适配器是这样的
3
还有部分teredo适配器,显示(位置:在 Microsoft IPv4 IPv6 转换适配器总线 上),这样也是正常的。

综上所述,“IPV6 Teredo 隧道通用批处理” 就这样诞生了,批处理文件会放在后面,供大家下载,研究和使用。

@echo ==================================================
@echo WINDOWS 7/8/10 IPV6 Teredo 隧道通用批处理
@echo 6to4 和 isatap 隧道默认是关闭的,需要的可自行开启
@echo 测试中发现三个隧道同时开启,会出现互相干扰等情况
@echo **************************************************
@echo 提示1:请使用 “管理员身份运行” 本批处理文件。
@echo 提示2:执行批处理后如遇问题,请到 issues 内反馈。
@echo **************************************************
@echo 开启IPV6:请按任意键继续——( 等待完成 )
@echo 暂不开启:请直接关闭本窗口即可——( End )
@echo ==================================================
pause

@echo off

net start "ip helper"
netsh winsock reset

netsh int teredo show state

@echo ++++++++++++++++++++++++++++++++++++++++++++++++++
@echo 【6to4】具有公网IP且ISP服务商提供IPV6服务才可开启
netsh int ipv6 6to4 set state disabled
@echo ++++++++++++++++++++++++++++++++++++++++++++++++++
@echo 【isatap】教育网专用隧道,非教育网请勿开启
netsh int ipv6 isatap set router isatap.tsinghua.edu.cn
netsh int ipv6 isatap set state disabled
@echo ++++++++++++++++++++++++++++++++++++++++++++++++++
netsh int teredo set state default
netsh int teredo set state enterpriseclient server=default
netsh int teredo set state server=teredo.remlab.net
netsh int ipv6 set teredo client teredo.remlab.net
netsh int ipv6 set teredo enterpriseclient
netsh int teredo set state enterpriseclient
route delete ::1/128
route DELETE ::/0
netsh int ipv6 add route ::/0 "Teredo Tunneling Pseudo-Interface"
netsh int ipv6 set prefix 2002::/16 30 1
netsh int ipv6 set prefix 2001::/32 5 1
Reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Dnscache\Parameters /v AddrConfigControl /t REG_DWORD /d 0 /f

@echo ++++++++++++++++++++++++++++++++++++++++++++++++++
@echo 【6to4】具有公网IP且ISP服务商提供IPV6服务才可开启
netsh int ipv6 6to4 set state disabled
@echo ++++++++++++++++++++++++++++++++++++++++++++++++++
@echo 【isatap】教育网专用隧道,非教育网请勿开启
netsh int ipv6 isatap set router isatap.tsinghua.edu.cn
netsh int ipv6 isatap set state disabled
@echo ++++++++++++++++++++++++++++++++++++++++++++++++++
netsh int teredo set state default
netsh int teredo set state enterpriseclient server=default
netsh int teredo set state server=teredo.remlab.net
netsh int ipv6 set teredo client teredo.remlab.net
netsh int ipv6 set teredo enterpriseclient
netsh int teredo set state enterpriseclient
route delete ::1/128
route DELETE ::/0
netsh int ipv6 add route ::/0 "Teredo Tunneling Pseudo-Interface" metric=1
netsh int ipv6 set prefix 2002::/16 30 1
netsh int ipv6 set prefix 2001::/32 5 1
Reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Dnscache\Parameters /v AddrConfigControl /t REG_DWORD /d 0 /f

ipconfig /all
ipconfig /flushdns
ipconfig /registerdns
netsh int ipv6 show teredo
netsh int ipv6 show route
netsh int ipv6 show int
netsh int ipv6 show prefix
netsh int ipv6 show address
route print

ipconfig /all
netsh int ipv6 show route
netsh int ipv6 show int
netsh int teredo show state

@echo ==================================================
@echo 所有命令都已执行完毕,如遇错误信息请反馈到 issues
@echo 如需修复 IPV6 请按任意键继续;不修复请直接关闭窗口
@echo ==================================================
pause
pause
netsh int ip reset
netsh int ipv6 reset
cmd

【重要提示】

(1)执行下面两条命令如报错是正常现象,无需纠结。
route delete ::1/128
route DELETE ::/0

(2)请注意你的teredo适配器名称,如果不是"Teredo Tunneling Pseudo-Interface",请更换。

(3)执行到批处理最后一步时,会询问是否修复 IP & IPV6 ,如果 IP & IPV6 工作正常,请勿修复,直接关闭窗口即可。

(4)随时用命令观察teredo运行状态,如不稳定请更换teredo公共服务器。
netsh int teredo show state
netsh int ipv6 show teredo

批处理文件下载:IPV6 update.zip
相关参考:
https://github.com/XX-net/XX-Net/wiki/%E5%A6%82%E4%BD%95%E5%BC%80%E5%90%AFIPv6
#7241

@jiangwjnano
Copy link

执行 netsh int ipv6 add route ::/0 "Teredo Tunneling Pseudo-Interface"出现“文件名、目录名或卷标语法不正确。“
类型 : disabled (Group Policy)
服务器名称 : teredo.remlab.net (Group Policy)
客户端刷新间隔 : 30 秒
客户端端口 : unspecified
状态 : offline
错误 : 无

@jiangwjnano
Copy link

修改组策略全部为未配置后显示如下
Teredo 参数

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

IPV6测试仍然不成功

@jiangwjnano
Copy link

Teredo 参数

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

@ylwszb
Copy link
Author

ylwszb commented Nov 15, 2017

@jiangwjnano

netsh int ipv6 add route ::/0 "Teredo Tunneling Pseudo-Interface"
类型 : disabled (Group Policy)
通过命令行及类型来看,如果报错和无法开启很有可能是Teredo适配器出现了问题。

状态 : offline
如果状态一直是offline,说明电脑无法从teredo.remlab.net隧道服务器获取到IPV6的地址,建议更换公共隧道服务器,再试试。

客户端类型 : teredo host-specific relay
把客户端类型改一下:netsh int ipv6 set teredo client teredo.remlab.net
修改后应该是这样的:客户端类型: teredo client

把IPV4的首选DNS改成8.8.8.8,备用改成114.114.114.114,如果是WIN7系统建议把IPV6协议停用(不是删除)。

这样改完再试试,再到IPV6测试网站做一下测试 http://test-ipv6.com/

@ylwszb
Copy link
Author

ylwszb commented Nov 15, 2017

网络LSP修复:netsh winsock reset
IP修复:netsh int ip reset
IPV6修复:netsh int ipv6 reset

@jiangwjnano
Copy link

@ylwszb 方便加个QQ不?一会行,一会不行。这会变成了这样
Teredo 参数

类型 : enterpriseclient
服务器名称 : teredo.remlab.net
客户端刷新间隔 : 30 秒
客户端端口 : unspecified
状态 : dormant

@onplus
Copy link
Collaborator

onplus commented Nov 15, 2017

@jiangwjnano

ping ipv6.test-ipv6.com

@jiangwjnano
Copy link

@onplus
正在 Ping ipv6.test-ipv6.com [2001:470:1:18::119] 具有 32 字节的数据:
请求超时。
请求超时。
请求超时。
请求超时。

2001:470:1:18::119 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 0,丢失 = 4 (100% 丢失),

@jiangwjnano
Copy link

@ylwszb @onplus 找到原因了,原来是路由器的缘故。借了一个路由器,就可以上ipv6了。我们这里本来是教育网,但是把我之前的路由器设置成交换机之后,就不能上ipv6了,所以导致不能开启ipv6.
请问对于路由器,应该有什么额外的设置呢?

@ylwszb
Copy link
Author

ylwszb commented Nov 16, 2017

小贴士

当teredo服务器不稳定,可用IP数量往下降时,我们该如何处理呢?

首先,既然是翻墙就不要用国内的DNS了,首选谷歌的8.8.8.8或8.8.4.4,备选114.114.114.114
就如同用搜索引擎,翻墙后肯定用Google,基本上不会再去用baidu一样。

6

其次,要考虑更换teredo隧道服务器,当前teredo服务器被干扰的很严重,发现问题要随时更换。

通过这两步的修改后,XX的IPV6可用IP数量在缓慢回升。

@ylwszb
Copy link
Author

ylwszb commented Nov 23, 2017

小贴士

对于非教育·内网用户而言,IPV6只开Teredo就好,不要三个隧道同时都开,互相有干扰。
要想IPV6能够稳定的运行,IPV4的首选DNS尽量不要用国内的,也不要用不知名的DNS。
Teredo公共隧道服务器如不稳定,要随时观察随时更换。
以上三点做到了,每次开机都会自动连接Teredo,XX也能够稳定运行一整天。

大部分用户还能够ping通且可用的Teredo服务器状态

teredo.remlab.net
teredo2.remlab.net
teredo-debian.remlab.net
teredo.trex.fi
teredo.iks-jena.de

1
2
3
4
5

@davidchen1028
Copy link

@ylwszb 大佬我有一个问题,就是我是原生能直接用ipv6的 但速度很不理想,看youtube的连接速度只有300不到kbps,请问要用您的批处理文件弄一下会好一点吗? 关于teredo的服务器我换过一次 从微软的win10服务器换成了remlab的 但速度也没变化 所以想请问一下您。

使用 IPv4 域名记录进行测试   成功 (0.354s) 使用 ipv4
使用 IPv6 域名记录进行测试   失败 (0.028s)
使用双栈域名记录进行测试   成功 (0.393s) 使用 ipv4
双栈域名和大封包测试   成功 (0.401s) 使用 ipv4
不使用域名的 IPv4 测试   成功 (0.360s) 使用 ipv4
不使用域名的 IPv6 测试   成功 (0.650s) 使用 ipv6
IPv6 大封包测试   失败 (0.031s)
测试您 ISP 的域名服务器是否使用 IPv6   失败 (0.065s)
查找IPv4服务提供商   成功 (0.435s) 使用 ipv4 ASN 4134
查找IPv6服务提供商   失败 (0.026s)

Teredo 参数

类型 : client
服务器名称 : teredo.remlab.net
客户端刷新间隔 : 30 秒
客户端端口 : unspecified
状态 : dormant

@ghost
Copy link

ghost commented Nov 30, 2017

#8620 tertdo.bat自动选用更好的服务器

@ghost
Copy link

ghost commented Nov 30, 2017

netsh interface ipv6 set teredo enterpriseclient

@ylwszb
Copy link
Author

ylwszb commented Dec 13, 2017

@davidchen1028

做IPV6测试,如果出现部分项目是“失败”的,可以先考虑换一下IPV4协议中的DNS,推荐首选9.9.9.9

然后再更改一下Teredo参数类型,参考 @gjbg1989 的 netsh interface ipv6 set teredo enterpriseclient

运行一下最新的IPV6批处理文件,然后再选一下比较好的teredo服务器
#8620 tertdo.bat自动选用更好的服务器

@ghost
Copy link

ghost commented Dec 13, 2017

#8915 tertdo.bat自动或手动优选服务器,文件解压放在 XX-Net 程序的根目录
#8961 保持运行某批处理,或许能更稳定(不再偶尔中断)?

@pendave
Copy link

pendave commented Jan 16, 2018

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

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

No branches or pull requests