header image

再谈免费IPv6——Teredo

第一次介绍的HE的隧道代理(tunnel broker)不能用于NAT环境(通俗点讲就是内网),第二次介绍的gogoNET的服务(以及这个这个)又速度很慢,难道只能放弃了吗?

其实,在第一篇里提到过微软的Teredo,本质上这也是一种隧道的方式,虽然微软不推荐,但是现在找到一种免费的、能穿透NAT的、速度又比较快的IPv6接入方式实在是太难了,所以还是说说吧!

Windows Vista/Windows 7

既然Teredo是微软搞的技术,微软自然很热衷地支持了,在Windows Vista/7里,不用作任何配置,默认就是启用的。你可以在命令行下输入ipconfig /all看看,是否类似如下内容:

隧道适配器 本地连接*:

   连接特定的 DNS 后缀 . . . . . . . :
   描述. . . . . . . . . . . . . . . : Teredo Tunneling Pseudo-Interface
   物理地址. . . . . . . . . . . . . : 00-00-00-00-00-00-00-E0
   DHCP 已启用 . . . . . . . . . . . : 否
   自动配置已启用. . . . . . . . . . : 是
   IPv6 地址 . . . . . . . . . . . . : 2001:0:4137:9e76:2d:40ff:c275:2cbd(首选)
   本地链接 IPv6 地址. . . . . . . . : fe80::2d:40ff:c275:2cbd%12(首选)
   默认网关. . . . . . . . . . . . . : ::
   TCPIP 上的 NetBIOS  . . . . . . . : 已禁用

如果IPv6地址一项是以2001开头,那就连接成功了。

还不放心,那么可以在命令行键入命令netsh interface teredo show state,看看结果是不是类似:

Teredo 参数
---------------------------------------------
类型                    : client
服务器名称              : teredo.ipv6.microsoft.com.
客户端刷新间隔          : 30 秒
客户端端口                : unspecified
状态                    : qualified
客户端类型              : teredo client
网络                    : unmanaged
NAT                     : restricted
NAT 特殊行为   : UPNP: 是,PortPreserving: 否
本地映射           : 192.168.11.2:61007
外部 NAT 映射    : 61.138.211.66:48896

如果状态是qualified的话,那么恭喜你,你已经有IPv6的环境了!

Windows XP

Windwos XP就麻烦一点了,因为默认并没有启用IPv6支持。不过只要一步一步来,也不是没有办法。

1、安装IPv6协议

很简单,打开命令行输入ipv6 install就行了。提示Succeeded就成功了。

或者可以通过图形界面来安装。打开网络连接,随便选个连接打开连接的状态窗口,然后点击属性打开属性窗口,点击安装,然后选择协议确定,最后找到Microsoft TCP/IP 版本 6然后确定即可,等一会就会在属性窗口中见到了。如果出错了,那除了重装系统,我不知道该给你什么更有建设性的建议。

2、配置Teredo

配置Teredo就完全需要在命令行下操作了。

我们在命令行下输入netsh就可以进入netsh的提示符,就像这样:

netsh>

在netsh提示符下我们可以使用help来获取帮助。

不过这次我们就直奔主题,直接输入命令interface ipv6 set teredo type=client servername=<服务器地址>(也可以不进入netsh提示符,直接在命令行下输入netsh interface ipv6 set teredo type=client servername=<服务器地址>),服务器地址见本文后面。显示确定就表示成功了。

3、检查Teredo

和Windows Vista/7类似,使用ipconfig /all来查看状态:

Tunnel adapter Teredo Tunneling Pseudo-Interface:

        Connection-specific DNS Suffix  . :
        Description . . . . . . . . . . . : Teredo Tunneling Pseudo-Interface
        Physical Address. . . . . . . . . : 00-00-DB-7F-C2-75-2C-BD
        Dhcp Enabled. . . . . . . . . . . : No
        IP Address. . . . . . . . . . . . : 2001:0:4137:9e76:0:db7f:c275:2cbd
        IP Address. . . . . . . . . . . . : fe80::ffff:ffff:fffd%4
        Default Gateway . . . . . . . . . : ::
        NetBIOS over Tcpip. . . . . . . . : Disabled

如果获取了2001开头的IP Address那么就表示已经连接上了。

使用命令netsh interface ipv6 show teredo来查看:

Teredo 参数
---------------------------------------------
类型                    : client
服务器名称              : teredo.ipv6.microsoft.com
客户端刷新间隔          :default
客户端口                : default
状态                    : qualified
类型                    : teredo client
网络                    : unmanaged
NAT                     : restricted

状态是qualified就表示连接上了。

Linux (Ubuntu)

虽然Teredo是微软的东西,但是开源的力量是很伟大的。在Linux下同样有软件可以连接Teredo,这就是Miredo!Ubuntu下只需要使用有超级牛力的APT就行了:

sudo apt-get install miredo

等安装完后,编辑配置文件/etc/miredo.conf,将ServerAddress后面的内容为Teredo服务器的地址就行了(注意ServerAddress前面不要有#啊,#代表这行被注释掉了)。

然后只要重启Miredo服务就行了:

sudo service miredo restart

然后通过命令ifconfig看看是否有类似如下的内容:

teredo    Link encap:未指定  硬件地址 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet6 地址: fe80::ffff:ffff:ffff/64 Scope:Link
          inet6 地址: 2001:0:4137:9e76:3c73:8929:c275:2cbd/32 Scope:Global
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1280  跃点数:1
          接收数据包:0 错误:0 丢弃:0 过载:0 帧数:0
          发送数据包:1 错误:0 丢弃:0 过载:0 载波:0
          碰撞:0 发送队列长度:500
          接收字节:0 (0.0 B)  发送字节:48 (48.0 B)

如果有的话,并且有2001开头的后面注明Scope:Global的地址,那么就成功连接上了。

其他

此方法连接上之后仍然无法直接访问IPv6网站,因为没有相应的DNS解析。可以去找一个支持AAAA记录(也就是IPv6的地址解析)DNS服务器来替换掉默认的DNS服务器,或者修改hosts文件。

下面给出几个Teredo服务器的地址:

  • teredo.ipv6.microsoft.com (微软官方的服务器,Windows Vista/7里默认连接的就是这个服务器)

  • teredo.remlab.net (Miredo默认的是teredo-debian.remlab.net

  • teredo.autotrans.consulintel.com

  • teredo.ngix.ne.kr

  • teredo.managemydedi.com

如果你处于公网,不建议使用这种方法,可以直接连到各大学的ISATSP,这样极快又方便。

谨以此文庆祝世界IPv6日(2011年6月8日)!

打赏

微信支付宝

  1. 试了下miredo还是很慢
    我在想到时候如果真的每个人固定分个IPV6地址是不是件很恐怖的事情

      1. 我不是说数量问题啦,要那么分配就等于顶着个“我是谁谁谁”的牌子上网了,也许会弄出不少问题的吧……

        1. 反正现在移动通信也在从电路交换向分组交换转变,说不定以后手机号直接对应域名什么的。
          另外内网有链路IP地址,公网有全球IP地址,不再需要NAT,对网络环境的改善是十分明显的。
          IPv6的地址分配和IPv4不一样。DHCP只提供一个前缀,由客户机自己用网卡MAC地址来生成地址,所以要换地址换个MAC地址就行了。

  2. 2022年高兴的告诉大家,IPv6正在普及,越来越多的地区安装宽带会得到ISP的IPv6支持,并且4G,5G网络均默认开启IPv6.

回复 取消

your email will keep secret. (* required).

你可以使用这些HTML标签和属性:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> .

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据