|
Teredo 英文原意是 “蛀船虫”,计算机术语上又称 面向 IPv6 的 IPv4 NAT 网络地址转换穿越,是一项 IPv6/IPv4 过渡技术,在 IPv6/IPv4 主机位于一个或多个 IPv4 NAT 之后时,用来为单播 IPv6 连接提供地址分配和主机间自动隧道。为能够通过 IPv4 NAT, IPv6 数据包作为基于 IPv4 的用户数据包协议(UDP) 消息发送出去。
teredo 的设置幸运的话,或许不复杂,但是在具体的网络环境中又会遇到这样那样的问题,导致建立隧道失败,如经常会碰到 “客户端在对称NAT之后” 这样的失败提示。
下面以 Windows XP/Vista/7 以及 Linux 为例,说明详细的设置步骤以及解决可能遇到的问题:
1. 设置 teredo
如果系统是 XP,首先确保安装 IPv6 协议栈,如果还未安装,则运行下面的命令安装并设置:netsh interface ipv6 install
netsh interface ipv6 set teredo client teredo.remlab.net. 注意上面的服务器地址 teredo.remlab.net 后一个点符号。
对于 Vista/Win7 已经默认安装 IPv6 协议栈,所以直接设置:netsh int teredo set state client teredo.remlab.net.
对于 Debian/Ubuntu Linux 的安装与设置:sudo apt-get install miredo //安装软件包
vi /etc/miredo.conf //编辑配置文件 注释原来所有的 ServerAddress 段(在前面加上#号),然后增加下面的语句:然后重启服务:
对于 Redhat/Fedora Linux: 的安装与设置:yum install miredo
service miredo-client start 像上边一样,同样编辑 miredo.conf 文件,并添加服务器地址,然后重启:service miredo-client restart
一般家庭或一个小型办公环境里,都会通过路由上网,像上面的普通设置可能会失败,那么请尝试使用
netsh interface ipv6 set teredo enterpriseclient 代替 netsh interface ipv6 set teredo client 。即使用 enterpriseclient 代替 client 。
如果到此处还不成功 -- 不管你怎么设置重启换服务器都可能看到 “客户端在对称NAT之后” 这样的错误提示,那么请到路由里设置虚拟服务器,如在我的 TP-LINK 里是这么设置的:ID 服务端口 IP地址 协议 状态 编辑
1 34567 192.168.1.104 ALL 生效 编辑 删除 最后,再设置一下 teredo :netsh interface ipv6>set teredo enterpriseclient teredo.remlab.net. 60 34567
确定。 这里,给它指定一个 34567 的端口号,这样 teredo 客户端就能和外界通信了;或许还应该一并关掉系统中的防火墙。成功时会看到:netsh interface ipv6>show teredo state
Teredo 参数
---------------------------------------------
类型 : enterpriseclient
服务器名称 : teredo.remlab.net.
客户端刷新间隔 :60 秒
客户端口 : 34567
状态 : qualified
类型 : teredo client
网络 : unmanaged
NAT : cone 在上面的状态中看到 qualified 字样时表示和服务器已经建立了连接。
但到此为止,我们还可能只是连上纯的 IPv6 服务器,比如谷歌的 http://ipv6.google.com ,而 ping www.youtube.com 时看到的还是 IPv4 的地址,那么可以往下设置(往往是 XP 环境出现此问题):netsh int ipv6 set prefix ::1/128 50 0
netsh int ipv6 set prefix ::/0 40 1
netsh int ipv6 set prefix 2002::/16 30 1
netsh int ipv6 set prefix ::/96 20 3
netsh int ipv6 set prefix ::ffff:0:0/96 10 4
netsh int ipv6 set prefix 2001::/32 5 1
最后,修改下 hosts 文件,使能够访问 IPv6 的服务器,这里可参考:http://www.groad.net/bbs/read.php?tid-3851.html
再 ping 一下 www.youtube.com 会看到:C:\Documents and Settings\l4nneret>ping www.youtube.com
Pinging youtube-ui-china.l.google.com [2404:6800:8005::65] with 32 bytes of data
:
Reply from 2404:6800:8005::65: time=1737ms
Reply from 2404:6800:8005::65: time=461ms
Reply from 2404:6800:8005::65: time=459ms
Ping statistics for 2404:6800:8005::65:
Packets: Sent = 3, Received = 3, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 459ms, Maximum = 1737ms, Average = 885ms 表示已经成功,当然也可以用浏览器进行检验。
下面是一组 teredo 服务器的地址:* teredo.remlab.net / teredo-debian.remlab.net (法国) (Miredo 默认设置)
* teredo.autotrans.consulintel.com (西班牙)
* teredo.ipv6.microsoft.com (美国 雷蒙德) (Windows XP/2003/Vista/7/2008 系统默认设置)
* teredo.ngix.ne.kr (韩国)
* teredo.managemydedi.com (美国 芝加哥)
* teredo.trex.fi |
|