本文档的Copyleft归rosetta所有,使用GPL发布,可以自由拷贝、转载,转载时请保持文档的完整性。
原文地址:http://blog.youkuaiyun.com/rosetta
Openswan是Linux下IPsec的最佳实现方式,我之前使用的版本是openswan-2.4.7,它最大的缺点是不支持IPV6,现在国家大力扶持IPV6项目,下一代互联网IPV6全面普及已近在咫尺。有关操作系统、内核、应用层软件对于IPV6的支持配置问题将会更加受到关注。
本文将介绍如何在Linux下从源码安装openswa-2.6.38,并配置建立IPV6静态隧道,最后测试受隧道保护的子网之间通信。
1,实验环境
1).VMware CentOS 5.4虚拟机一台, 使用虚拟机有一个好处:当你配置完一边后,通过VMware的clone工具克隆一个镜像作为隧道的另一端,这样就不需要在隧道另一端做重劳动,所以你只需安装配置一遍。
需要注意的是CentOS 5.4内核版本比较老,为2.6.18-164,我试了在该内核下无法插入openswan的ipsec.ko模块,一insmod 内核就崩溃,具体原因没有去查,看openswan的READE,应该需要打内核补丁,我先不管它了,使用上回编译的2.6.34.11内核。
2).windows主机只要支持IPV6地址配置即可,我使用的是win7, xp是无法满足的。
3).软件环境当然使用的就是今天的主角openswa-2.6.38了,这个版本应该是目前最新的,可以从其官方下载ftp://ftp.openswan.fi/pub/openswan/
4).VMware网络接口类型:bridged
5).地址配置。
windows主机,在本地链接中增加即可:99:1::165/64
Linux:
eth0:99:1::162/64
77::1/64(保护子网通信时使用)
ip -f inet6 addr add 99:1::162/64 dev eth0
ip -f inet6 addr add 77::1/64 dev eth0
对端Linux:此设备要等会把这边安装完毕并配置好IPV6隧道后再clone再出来,所以此时还有这台设备,但为了方便起见把这台机器的IP地址先确定是可以的。
eth0:99:1::228/64
88::1/64(保护子网通信时使用)
2,编译安装openswan-2.6.38
在编译之前请确保完成以下步骤:
1,以内核2.6.34.11为例:
cd /lib/modules/2.6.34.11-xxx/ (xxx可以是你编译内核时自命名的)
ln -sf build /opt/study_new/kernel/linux-2.6.34.11 (做指向内核源