因为最近要做了一个 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 的地址了
没有评论:
发表评论