用OpenSWAN做Linux下的IPSec VPN的详细配置指南
用Openswan组建Linux IPSec
by toorq1.概述 2.安装Openswan 3.认证和配置
3.1 RSAsig认证方式的配置 3.2 x.509证书认证的配置 3.3 RoadWarrior模式的配置 5.Windows客户端的配置 ***** 1.概述
LInux上的VPN支持主要有三种:
1)IPSec 's VPN 其主要代表有 FreeS/WAN、KAME IPSec在Linux上支持主要有两个主要的分类,一为FreeS/WAN,现在已经停止开发,其分裂为两个项目,Openswan与 Strongswan。其可以用自身的IPsec内核堆栈(Kernel stack),称为KLIPS,也可以用2.6内核中的堆栈代码(下面我们称其为26sec),可以说是非常的灵活。还有就是来自BSD世界的KAME。 KAME只能用内核堆栈。
IPSec差不多是最老的VPN标准了,她的依然很安全,当然是在配置好以后。言下之意,她的配置比较麻烦。本文下面将做说明。 2)SSL-Based VPN 其主要代表有 OpenVPN SSL只要跑在应用层,所以理所当然的配置简单,只要机子能跑TCP或UDP就行,也可以穿过大多的防火墙。 3)PPTP-Based VPN 有(PoPTop) PoPTop可以说是PPTP在Linux下的实现。不过,IPSec上跑L2TP更安全。2.安装Openswan
因为FreeS/WAN已经在2004年三月停止开发,所以我们使用她的后继项目Openswan来做我们的IPSec实验。其相比FreeS/WAN有个好处,如果使用 26sec 的时候,Openswan不用打补丁,就可以用nat。
因为IPSec工作在网络层,所以需要系统内核态的支持,上面说过,有两个选择,用自带(26sec)的或用
Openswan(KLIPS)的,为了方便(如何打补丁和编译内核不是本文讨论的重点),本文使用2.6自带的实现代码。同时本文使用Debian Sarge作为实验系统,在Debian上安装。 #apt-get install openswan 如果你想从源码安装,到
http://www.openswan.org/code下载软件包,然后按照包中的说明安装。由于我们使用26sec,所以只要make
programs;make install就可以搞定。值得注意的是,现在的Openswan已经内建些个好用的补丁,比如x.509和NAT Traversal的支持,使用起来非常的方便。 你也可以用
#ipsec verify来检验你的安装3.认证和配置3.1 RSA Signature(RSA数字签名)认证的配制 Openswan支持许多不同的认证方式,包括RSA keys、pre-shared keys或x.509证书方式。RSA Signature比较简单,我先介绍下所要使用的命令 生成一个新的RSA密钥对 #ipsec newhostkey --output /etc/ipsec.secert 按left或right格式生成RSA Sig
#ipsec showhostkey --left(或--right) 知道了上面的命令,我们就可以配置一个net-to-net,就是网关对网关的通讯。所在的Linux主机为通讯的网关,作为其子网的出口,对于子网的用户来所是透明的,远程的子网在通讯后可以像自己的局域网一样的访问。
本文使用VMWare架设起一个四台虚拟Linux主机来进行试验。因为要在不同的机子上进行配置,所以请读者认清主机名。 192.168.183.44(子网客户机,计算机名RA) <->
192.168.49.2(Left网关主机,计算机名melin,同时