更简单更通用的搭建v4-v6隧道的方法

这篇文章介绍gogoNET提供的使用客户端搭建v4-v6隧道方法,比上一篇《在IPv4环境下搭建IPv6隧道的方法》中的HE.NET隧道更简单且更通用。

这个隧道(Freenet6)的网站是:http://gogonet.gogo6.com

1. 第一步是注册一个账号,但是其实不注册也可以啦,其实这是一个社交账号,强迫你注册了才能看到下载页面= =。

2. 如果注册了账号,请直接点击 http://gogonet.gogo6.com/profile/gogoCLIENT 这个网页下载客户端,注意区分32或64位;如果没有注册,请用我提供的地址下载(包含32、64位,是发文时的最新版):点击下载

3. 完整安装客户端,一路点下一步即可,安装完之后启动软件。

4. 直接点击界面上的Connect按钮,待下方提示连接成功即可。可以使用命令 ping ipv6.google.com 测试。

之所以说这个隧道通用,是因为在客户端的高级页面上,可以看到这个隧道原生支持NAT后的用户(使用UDP打洞吧),而且支持反过来的v6-v4隧道,即用IPv6网络传送IPv4数据,比HE.NET强大很多啊。


附录1(看完上面的你就可以上IPv6去了,下面的内容仅供具有探索精神的人阅读):

这样连接的话,连接到的是公用匿名服务器,不需要账号登陆。如果想拥有固定IP、固定三级域名(可以CNAME过去的有木有)等服务,请使用Freenet6的认证服务器。

Freenet6账号(与上面的gogoNET账号不同)注册地址为:http://gogonet.gogo6.com/page/freenet6-account (这是介绍页面,有个“here”链接到注册页面),注册完毕后,请在Connect之前换成认证服务器(服务器地址),然后在下方输入用户名和密码后再连接。

下图是我登陆后连接成功的图片(为了防止被称作“没图你说个JB”):

连接的是montreal服务器,User Domain第一段是注册的用户名。根据官方说明,最好指定一台静态服务器,才能保证获得的地址是静态的,不然就算登陆了最后地址也可能会变。

附录2:英文Wikipedia上有全球各种IPv6隧道的列表,很多都是使用gogoClient客户端的,只需改个服务器或注册个账号,其中包括澳大利亚、中东和台湾等许多服务商的隧道服务器。当然也有其他像HE.NET一样的普通隧道,如果谁能注册上十来个隧道,然后写个路由表,你就成IPv6的神了……- –

Windows 轻松用“端口代理”实现 IPv6 多线程下载

迅雷和QQ旋风等软件本来不支持IPv6下载,我们现在要用它们来多线程下载IPv6的文件,而不需要安装第三方软件(Windows 7,其他系统未测试)。

Windows 7自带一个命令netsh,本来是用来管理网络的命令行程序,但是其中有一个经常被忽略的功能——Port Proxy(端口代理 / 端口转发)。利用这个代理可以将本地的一个v4或v6端口和远程的一个v4或v6端口进行数据转发,也就是常说的“端口转发”。

现在我们要做的就是,将一个远程IPv6服务器的80端口映射到本地IPv4(127.0.0.1)的80端口,然后用迅雷等软件直接下载,迅雷就会认为是IPv4,但是网络出口是IPv6。以下是具体步骤(所有命令均在cmd中输入):

1. 查询远程服务器IPv6地址,例如:

C:>nslookup -qt=aaaa mirrors.ustc.edu.cn
名称:    mirrors.ustc.edu.cn
Address:  2001:da8:d800:95::110

2. 进入netsh命令行,并建立v4 to v6的端口转发关系:(输入完成后按Ctrl+C退出即可)

C:>netsh
netsh>interface portproxy
netsh interface portproxy>add v4tov6 80 2001:da8:d800:95::110 80
netsh interface portproxy>show all

侦听 ipv4:                 连接到 ipv6:
地址            端口        地址            端口
————— ———-  ————— ———-
*               80          2001:da8:d800:95::110 80

3. 打开C:WindowsSystem32DriversEtcHosts,将远程服务器域名映射到127.0.0.1地址。使用记事本打开上述文件,在最后添加一行:

127.0.0.1 mirrors.ustc.edu.cn

解释:这一步的目的是,有些网站实际是虚拟主机,在请求时会发送Host(主机名)头,若直接用127.0.0.1请求,对于这些主机由于找不到会返回HTTP 400。

4. 打开迅雷或QQ旋风等下载软件,直接用原域名和地址下载即可。下载完成后可以用del v4tov6 80命令来删除端口映射。

利用IPv6的好处就是,教育网内不限速、不计流量;而利用多线程的好处是,单线程速度过低可以用多线程补救。这个方法可以让这两点好处结合起来,非常实用,是我走过HTTP代理、CCProxy转发之类的弯路之后找到的最佳方案了。希望能对大家有点用。

下面是QQ旋风使用本方法之后,在USTC的IPv6镜像下载的效果:

下面是在国外IPv6的下载速度(单线程下载我们学校只有200K左右,也没有备选资源之类的):

[NSLOOKUP] 名称:    mirror.nexicom.net
Addresses:  2607:f1f0:1:3::2
          98.124.49.250
Aliases:  centos.mirror.nexicom.net
 
[NETSH] netsh>i po
netsh interface portproxy>add v4tov6 80 2607:f1f0:1:3::2 80
 
netsh interface portproxy>s a
 
侦听 ipv4:                 连接到 ipv6:
 
地址            端口        地址            端口
————— ———-  ————— ———-
*               80          2607:f1f0:1:3::2 80

[HOSTS] 127.0.0.1 centos.mirror.nexicom.net

请注意:如果要转载、引用或以其他方式使用本站资料,请务必阅读下方的使用协议!否则本站将追究您的责任!

DNS主从服务器多点配置方法

DNS域名解析有主(Master)从(Slave)服务器的功能,可以在主服务器上修改记录,然后让从服务器自动同步主服务器的资料,从而实现多服务器冗余备份,避免因为一家服务商的网络问题导致域名无法解析。

注意:本文不包含“如何注册帐户”等简单问题,只介绍关键的步骤。

1. 主服务器配置

现在国内大部分免费DNS根本不知道主从为何物,国外免费DNS大部分只支持从的功能,而真正支持主服务器(同时也必然支持从服务器)的有以下三家:EveryDNS(实测所有服务器已挂)、XName(所有服务器都提示出错)和ZoneEdit(老牌可用)。以下用ZoneEdit(新版界面)来演示。

(1) 进入后台,点击New Zone添加一个域名,注意不要勾选Slave。这里以du9l-test.com(虚假域名)来测试。

(2) 添加好之后,在Zone Records中填入域名解析的记录,这里用一个A和一个A4来测试。添加好之后,在后面默认的两个NS记录中选择你所在地较快的解析服务器。至于最前面两个NS记录在第2步中详细介绍。如下图:

(3) 切换到Security栏,在Allow transfer中填入“Any”以允许所有Slave服务器访问。当然,不建议这种不安全的配置方法,在第2步中会提到真正安全的配置方法。填好之后点击Save Zone即可保存。如下图:

(4) 回到域名列表之后,点击Publish Zone即可启用这个域名。ZoneEdit给每个用户免费2个域名,用完之后就要付费了。启动好之后,可以用nslookup 4.du9l-test.com(你解析的记录) ns14.zoneedit.com(你选择的服务器)来测试是否成功。

2. 从服务器配置

正如1中所说,大部分国外DNS都支持从服务器功能,除上面提到的三个以外,还有free.afraid.org(免费域名允许别人随意创建二级域名,不推荐)和DNS.HE.NET(很稳定,推荐)这两家。我还是用HE来演示。

(1) 进入后台之后,点击Add New Slave,并填入你的域名和主服务器地址。这里他会告诉你,你应该允许哪个地址的从服务器抓取主服务器的记录,这里示例的是ns1.he.net,IP地址为216.218.130.2,你应该把这个地址填入第1(3)步的那个空里。如果有多个从服务器,应该用半角逗号“,”分隔开。如下图:

(2) 添加成功后,点击Validate按钮更新一下记录即可。以后从服务器就会自动抓取主服务器的记录。这个页面上也会告诉你HE的全部DNS服务器地址,这里对应于第1(2)步中的NS记录。至于要怎么填写会在第3步中介绍。如下图:

(3) 这时候你可以用nslookup 4.du9l-test.com(你在主服务器上填写的记录) ns1.he.net(从服务器地址)来测试从服务器是否抓取成功。如果返回了与主服务器一样的记录说明成功了。

3. 修改域名DNS服务器

当你的主从服务器都测试成功后,你可以到域名注册商处修改域名的DNS服务器地址。你可以选择添加或不添加主服务器,也可以只添加一部分从服务器。例如,你可以只添加ns16.zoneedit.com和ns2.he.net两台服务器。

添加成功后,应该回到主服务器(ZoneEdit)后台,将添加的从服务器DNS地址添加到NS记录中,也就是1(2)中前两条记录那样,点击Custom后手动输入从服务器地址(顺便要回到Security中看看Allow transfer是不是被清空了,ZoneEdit后台Bug),保存,然后提示你有未发布的修改,点击红色区域的Publish Zone即可修改成功。

在IPv4环境下搭建IPv6隧道的方法

在家还想上学校的IPv6 PT站下载东西,于是就需要自己搭建IPv6隧道,访问各种v6only的网站。下面共享一下方法。

UPDATE: 我新写了一篇《更简单更通用的搭建v4-v6隧道的方法》,适合更多普通用户,欢迎参考。

这里主要以美国HE.NET公司的TunnelBroker.NET(以下简称TBN)服务做示例,文章最后会介绍其他几个类似服务,也推荐看一下。操作系统主要以Windows7(/Vista/2008)为例。

1. 注册TBN服务,不多废话。注册链接:http://tunnelbroker.net/register.php

2. 登陆到TBN账号,点击左侧Create Regular Tunnel,在IPv4 endpoint中填入你的公网IPv4地址(这里强调是有用的,继续看),下面要选择一个隧道。联通线路建议选择Fremont或LA,其他线路没测试过,建议用自动推荐的隧道(We recommend you use)。选完后点Submit。

3. 建立好Tunnel之后,你会看到相关信息。下面是你需要的信息:Server IPv4 addr(以下用[Server4]代替)、Server IPv6 addr(以下用[Server6]代替)、Client IPv6 addr(以下用[Client6]代替)。另外,查到你联网的网卡上的本地IPv4地址(以下用[Client4]代替),方法是在适配器设置中双击联网的网卡,点详细设置。
这里跟上面的公网IPv4地址有什么区别呢?我所在的网络是一个特殊状况,网络前端有个路由器,本地拿到的地址是192.168的私有IP而非公网IP(强烈建议设置固定IP)。这里需要的就是你网卡的IP,而非你对公的IP。如果你的网卡就是直接联网的,那这里就需要你的公网IP。

4. 在页面下方你会看到Configure的命令行,但是(对于WinV/7/2008系统)建议你用我提供的这个格式,不容易出问题。(其他系统请直接使用官方的命令)
首先打开一个管理员权限的CMD,如果系统开了UAC则打开开始菜单–所有程序–附件–命令提示符右键–以管理员权限运行
netsh interface teredo set state disabled
netsh interface ipv6 add v6v4tunnel HE [Client4] [Server4]
netsh interface ipv6 add address HE [Client6]
netsh interface ipv6 add route ::/0 HE [Server6]
把其中的中括号内容替换成上面的对应值,粘贴完之后按回车。等全部成功即可。此时访问北邮人、Kame、IPv6 Google等应该都可以了。

以上就是做IPv6隧道的全部步骤,下面是几条我研究这些问题过程中的小发现之类的。推荐看一下,可能会有用的。

附录1: TBN的IPv4 Endpoint更新API地址为:http://ipv4.tunnelbroker.net/ipv4_end.php。在这里你会看到这个更新地址的使用方法,按照要求填写好四个参数(IP建议用AUTO,如果要指定应为公网IP而非本地IP),然后可以加为书签,以后IP改变后执行一次。

附录2: 在Google上搜Tunnel Broker还会得到其他几家类似的服务商,大概的介绍一下(有的只是瞥了一眼,如有错误欢迎劈头盖脸的指正):
大陆-浙江大学(tb.zju.edu.cn):测试项目,我开了之后下载了一会被封了,但是速度的确很给力,建议只是看网页的人使用。
台湾-某两家ISP:这里鄙视一下国内的ISP,根本不知道IPv6为何物,还把MS的Teredo屏蔽了……言归正传,这两家提供的貌似是基于客户端的,可能也只供他们的用户使用。没有测试,欢迎各种小白鼠。
美国-Sixxs:看到这五个字母瞬间就能想到他们的v4Gate和v6Gate吧?其实他们也有TB服务,但是要求申请条件很严格,需要提供很多资料并审核,不像HE这么简单。网上有人申请成功,但是我对Sixxs的网也持怀疑态度,于是懒得费事了。

2011年7月28日更新:英文Wikipedia上有一个IPv6 Tunnel Broker的列表,欢迎大家参考。地址:http://en.wikipedia.org/wiki/List_of_IPv6_tunnel_brokers

附录3: 接着附录2,既然你可能会有好几个Tunnel,你就需要用一个路由表,把国内的流量定位到比如ZJU的,再把国外的定位到TBN,这里就可以用route命令了。简单提一下,大家自己研究。(da8和250是教育网的两个/32段,其他六飞24xx之类的不熟也就不管了。)
route add 2001:da8::/32 [ZJU.Server6]
route add 2001:250::/32 [ZJU.Server6]
route add ::/0 [TBN.Server6]