strongSwan是Linux/Unix上基于IPSec的VPN开源解决方案,支持iKEV1和iKEV2, 并且能完美地与Kernel space的NETKEY IPsec协议栈协同工作。strongSwan最大的优势是安全等级高,兼容性好。现在主流的OS,例如Android, iOS, Mac OS X和Windows 7/8, 其自带的IPsec的软件就能直接连接strongSwan VPN。
安装环境:
系统:CentOS 7.4
内存:1G
软件版本:strongSwan5.6.1
1. 安装strongSwan
大家可以到官网去下载最新版本,下载地址为:https://www.strongswan.org/download.html 接下来是根据官网的文档进行安装。
# 首先,需要下载最新的epel-release,下载地址:http://dl.fedoraproject.org/pub/epel/7/x86_64/e/
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
# 其次,安装epel-release
rpm -Uvh epel-release-7-11.noarch.rpm
# 最后,安装strongSwan
yum install strongswan -y
# 特殊说明,如果没有安装openssl 还要进行安装
yum install openssl -y
2. 创建证书
# 进入证书目录
cd /etc/strongswan/ipsec.d/
# 下载证书(服务器证书)
wget https://raw.githubusercontent.com/michael-loo/strongswan_config/8c6721a4a49ac0382ee9d48ed99abce676bde1c0/server_key.sh
# 对下载的证书添加执行权限
chmod a+x server_key.sh
# YOUR_SERVER_IP为你服务器的IP地址
./server_key.sh YOUR_SERVER_IP
# 下载证书(客户端证书)
wget https://github.com/michael-loo/strongswan_config/raw/8c6721a4a49ac0382ee9d48ed99abce676bde1c0/client_key.sh
# 对下载的证书添加执行权限
chmod a+x client_key.sh
# NAME 为你的用户名,使用英文名称,更换“USER@MAIL.COM”为你自己的电子邮箱
./client_key.sh NAME USER@MAIL.COM
此时会提示你输入两次密码,密码输入成功后,会生成你刚刚输入的“用户名称.p12”文件。
3. 配置strongSwan
# 修改 ipsec.conf 文件
vi /etc/strongswan/ipsec.conf
# 文件内容按如下修改,也可以将内容删除后,复制如下内容。
config setup uniqueids=never charondebug="cfg 2, dmn 2, ike 2, net 0" conn %default left=%defaultroute leftsubnet=0.0.0.0/0 leftcert=vpnHostCert.pem right=%any rightsourceip=172.16.1.100/16conn CiscoIPSec keyexchange=ikev1 fragmentation=yes rightauth=pubkey rightauth2=xauth leftsendcert=always rekey=no auto=addconn XauthPsk keyexchange=ikev1 leftauth=psk rightauth=psk rightauth2=xauth auto=addconn IpsecIKEv2 keyexchange=ikev2 leftauth=pubkey rightauth=pubkey leftsendcert=always auto=addconn IpsecIKEv2-EAP keyexchange=ikev2 ike=aes256-sha1-modp1024! rekey=no leftauth=pubkey leftsendcert=always rightauth=eap-mschapv2 eap_identity=%any auto=add
# 修改 strongSwan的配置文件
vi /etc/strongswan/strongswan.conf
# 将文件内容按如下修改,也可以将内容删除后,复制如下内容。
charon { load_modular = yes duplicheck.enable = no compress = yes plugins { include strongswan.d/charon/*.conf } dns1 = 8.8.8.8 dns2 = 8.8.4.4 nbns1 = 8.8.8.8 nbns2 = 8.8.4.4 } include strongswan.d/*.conf
4. 创建VPN用户
# 编辑/etc/strongswan/ipsec.secrets
vi /etc/strongswan/ipsec.secrets
# 修改文件内容,此内容为用户名与密码,USER为你添加的用户名;PASSWORD为你设置的密码,如果多个用户,可以分行写,EAP与XAUTH为认证模式,需要注意的是“:”两边是空格。
: RSA vpnHostKey.pem : PSK "PSK_KEY" USER %any : EAP "PASSWORD" USER1 %any : XAUTH "PASSWORD"
5. 配置防火墙
# 修改IP转发
vi /etc/sysctl.conf
# 文件内容加入如下
net.ipv4.ip_forward=1
# 让配置生效
sysctl -p
# 输入如下四条命令
firewall-cmd --permanent --add-service="ipsec" firewall-cmd --permanent --add-port=4500/udp firewall-cmd --permanent --add-masquerade firewall-cmd --reload
6. 开启VPN服务
# 开启服务,并设置为开机自启动。
systemctl start strongswan systemctl enable strongswan
7. 客户端设置说明
- 将证书拷贝到本地将服务器上的文件etc/strongswan/ipsec.d/用户名.p12和/etc/strongswan/ipsec.d/cacerts/strongswanCert.pem拷贝到本地。
- 在客户端安装上述两个证书如果你是使用iPhone, 可以通过邮件将这个两个证书发送到iPhone上然后安装。iPhone, Android, Windows PC都可以通过证书加密码的方式登录VPN;
- Mac OS X可以通过PSK key加密码的方式登录。
评论(10)
windows怎么登录linux配置好的vpn呢
你可以使用客户端工具,也可以使用windows自带的进行拨号。
我用mac尝试拨号,一直无法链接。
请问是使用Cisco IPSec么?还是L2TP?我好像试了两个都不行
L2TP,在高级里设置一下转发所有数据就好了。
请问客户端怎么使用这两个证书
在哪个里面呀
在配置文件里可以加多个
是不是 添加到 受信任的根证书
请问下,我手机可以正常连接,但是流量没有进入到strongswan里面
能截图一下嘛