5.1 KiB
安装Strongswan - Linux上一个基于IPsec的vpn工具
IPsec是一个提供网络层安全的标准。它包含认证头(AH)和安全负载封装(ESP)组件。AH提供包的完整性,ESP组件提供包的保密性。IPsec确保了在网络层的安全特性。
- 保密性
- 数据包完整性
- 来源不可抵赖性
- 重放攻击防护
Strongswan是一个IPsec协议实现的开源代码,Strongswan代表强壮开源广域网(StrongS/WAN)。它支持IPsec的VPN两个版本的密钥自动交换(网络密钥交换(IKE)V1和V2)。
Strongswan基本上提供了自动交换密钥共享VPN两个节点或网络,然后它使用Linux内核的IPsec(AH和ESP)实现。密钥共享使用了IKE机制的特性使用ESP编码数据。在IKE阶段,strongswan使用OpenSSL加密算法(AES,SHA等等)和其他加密类库。无论如何,ESP组成IPsec使用的安全算法,它是Linux内核实现的。Strongswan的主要特性是下面这些。
- x.509证书或基于预共享密钥认证
- 支持IKEv1和IKEv2密钥交换协议
- 可选内置插件和库的完整性和加密测试
- 支持椭圆曲线DH群体和ECDSA证书
- 在智能卡上存储RSA私钥和证书
它能被使用在客户端或服务器(road warrior模式)和网关到网关的情景。
如何安装
几乎所有的Linux发行版都支持Strongswan的二进制包。在这个教程,我们将从二进制包安装strongswan也编译strongswan合适的特性的源代码。
使用二进制包
可以使用以下命令安装Strongswan到Ubuntu 14.04 LTS
$sudo aptitude install strongswan
strongswan的全局配置(strongswan.conf)文件和ipsec配置(ipsec.conf/ipsec.secrets)文件都在/etc/目录下。
strongswan源码编译安装的依赖包
- GMP(strongswan使用的Mathematical/Precision 库)
- OpenSSL(加密算法在这个库里)
- PKCS(1,7,8,11,12)(证书编码和智能卡与Strongswan集成)
步骤
1) 在终端使用下面命令到/usr/src/目录
$cd /usr/src
2) 用下面命令从strongswan网站下载源代码
$sudo wget http://download.strongswan.org/strongswan-5.2.1.tar.gz
(strongswan-5.2.1.tar.gz 是最新版。)
3) 用下面命令提取下载软件,然后进入目录。
$sudo tar –xvzf strongswan-5.2.1.tar.gz; cd strongswan-5.2.1
4) 使用configure命令配置strongswan每个想要的选项。
./configure --prefix=/usr/local -–enable-pkcs11 -–enable-openssl
如果GMP库没有安装,然后配置脚本将会发生下面的错误。
因此,首先,使用下面命令安装GMP库然后执行配置脚本。
无论如何,如果GMP已经安装而且还一致报错,然后在Ubuntu上使用下面命令创建libgmp.so库的软连到/usr/lib,/lib/,/usr/lib/x86_64-linux-gnu/路径下。
$ sudo ln -s /usr/lib/x86_64-linux-gnu/libgmp.so.10.1.3 /usr/lib/x86_64-linux-gnu/libgmp.so
创建libgmp.so软连后,再执行./configure脚本也许就找到gmp库了。无论如何,gmp头文件也许发生其他错误,像下面这样。
为解决上面的错误,使用下面命令安装libgmp-dev包
$sudo aptitude install libgmp-dev
安装gmp的开发库后,在运行一遍配置脚本,如果没有发生错误,则将看见下面的这些输出。
使用下面的命令编译安装strongswan。
$ sudo make ; sudo make install
安装strongswan后,全局配置(strongswan.conf)和ipsec策略/密码配置文件(ipsec.conf/ipsec.secretes)被放在**/usr/local/etc**目录。
根据我们的安全需要Strongswan可以用作隧道或者传输模式。它提供众所周知的site-2-site模式和road warrior模式的VPN。它很容易使用在Cisco,Juniper设备上。