2013年3月8日星期五

搭建 ipv6 测试环境 (一)

因为最近要做了一个 ipv6 cdn 加速项目,所以开始着手准备 ipv6 相关的测试环境,从网上搜出来不少相关的文章:有一篇介绍是通过 DynamipsGUI vmware 来搭建ipv6 测试网络; 照着做了下,发现比较复杂,仅仅是 DynamipsGUI 的设置就比较麻烦; 后来看到老外的一篇文章,在 he.net 申请 ipv6 隧道,会获得一个 /64 ipv6 子网, 但因为 he.net 隧道要就客户端这边的 endpoint 要有独立的 ip 才行, 所以我就绕了个弯子; 在自己的美国的 vps 有独立的 ipv4 地址 建立了一个 ipv6 隧道,然后再搭建给予 TAP openvpn 服务器,并安装  radvd 服务进行 ipv6 地址的路由; 这样的话,我处于内网的电脑,通过 openvpn 连接到我的  vps 上面,组建一个网络;这样,我处于内网的 电脑就可以获得公网 ipv6 地址了。  这个方案总体满足了测试的需求,并且可以从公网访问。 但是这个方案也有很多的不足,首先就是 openvpn 协议收到  gfw 的影响,很难连的上,第二就是网络延迟比较大,不适合进行测试。 对于 openvpn 协议受到干扰的问题,有好几种方法,整体思路就是修改报文的指纹,使得 gfw 无法认出 openvpn 协议,所以就无法干扰了。 但是对于网络的高延迟这块,就没有办法解决了。 后来因为项目搁浅的原因,我也去忙其他的了。

 

今天因为这个项目又有点消息了,我就又从网上查了一些资料,其中看到 https://wiki.ubuntu.com/IPv6  ubuntu 的关于 ipv6 的相关文档。 有看了一篇 ibm 的一篇关于搭建 ipv6 测试环境的文章 http://www.ibm.com/developerworks/cn/linux/l-cn-ipv6env/ 我就尝试了在我的 vmware 局域网中的一台 Ubuntu 服务器上 安装  radvd  服务,并配置了 ipv6 子网; 我发现处于局域网内的其他设备默认就配置好了 ipv6 地址了。 通过测试,发现完全满足自己的 ipv6 需求。

 

下面简单总结一下安装和设置的步骤:

1.       开启 ipv6 的转发功能, 修改 /etc/sysctl.conf  文件,开启 ipv6 的转发功能 去掉对 net.ipv6.conf.all.forwarding=1 的注释),并 sudo sysctl �p  使生效。

 

2.       安装 radvd 服务 (基于  Ubuntu 12.04): sudo apt-get install  radvd

 

3.       配置 ipv6 静态 ip地址; /etc/network/interfaces  中添加下面配置

 

iface eth1 inet6 static

        address 2002:9ba:b4e:6::1

            netmask 64

4.       编辑 /etc/radvd.conf 文件

 

interface eth1

{

   AdvSendAdvert on;

   prefix 2002:9ba:b4e:6::/64

   {

        AdvOnLink on;

        AdvAutonomous on;

   };

};

5 重启 radvd 服务, /etc/init.d/radvd restart

 

现在看下你局域网里的其他设备是不是已经设置好了 ipv6 的地址了

没有评论:

发表评论