安装StrongSwan-VPN IKEv2协议账号密码认证
安装strongSwan
安装strongswan
,这里安装成功后是使用自签证书,客户端连接前需要导入自签的ca证书
到设备中。
1 | yum -y install epel-release |
生成strongswan
的自签CA
证书
1 | strongswan pki --gen --type rsa --size 4096 --outform pem > ca.key.pem |
–self
表示自签证书–in
是输入的私钥–dn
是判别名–ca
表示生成 CA 根证书–lifetime
为有效期, 单位是天C
表示国家名,同样还有ST
州/省名,L
地区名,STREET
(全大写) 街道名O
组织名称CN
友好显示的通用名
生成server端公钥和私钥
1 | strongswan pki --gen --type rsa --size 4096 --outform pem > server.key.pem |
–issue
,–cacert
和–cakey
就是表明要用刚才自签的 CA 证书
来签这个服务器证书
。–dn
,–san
,–flag
是一些客户端方面的特殊要求:
iOS 客户端
要求CN
也就是通用名
必须是你的服务器的 URL 或 IP 地址
;
Windows 7
不但要求了上面,还要求
必须显式说明这个服务器证书的用途
(用于与服务器进行认证),–flag serverAuth
;
非 iOS
的Mac OS X
要求了“IP 安全网络密钥互换居间(IP Security IKE Intermediate)”这种增强型密钥用法(EKU
),–flag ikdeIntermediate
;
Android
和iOS
都要求服务器别名(serverAltName)
就是服务器的URL 或 IP 地址
,–san
。
复制生成的server证书到指定目录下
1 | cp -r ca.key.pem /etc/strongswan/ipsec.d/private/ |
配置VPN
,这里只配置了IKEV2-mschapv2认证
方式 IpsecConf
将leftid
的ip换成你的公网ip地址
1 | $ vim /etc/strongswan/ipsec.conf |
修改strongSwan参数
1 | $ vim /etc/strongswan/strongswan.conf |
配置VPN账号 IpsecSecrets
1 | $ vim /etc/strongswan/ipsec.secrets |
开启内核转发
1 | echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf |
配置firewalld防火墙 端口允许和ip伪装
1 | firewall-cmd --permanent --add-service="ipsec" |
启动strongSwan服务
1 | systemctl start strongswan |
免导入CA证书登录
免CA证书
的主要原理还是基于信任
,上面的手动安装CA证书
就要设置信任
,所以只要我们有一些机构签发的证书
,那就可以试用,这里主要使用Let’sencrypt 使用这个需要每三个月需要一次续签,你也可以用阿里云或者其他ssl机构
申请一年免费的ssl证书
。
前置条件:需要你先
设置一个
域名解析到这台服务器的公网ip地址
,比如ikev2.putianhui.cn
解析到104.199.132.207
后才能自动签发
证书。
1 | yum -y install certbot |
将生成的证书 /etc/letsencrypt/live/域名,通过链接的方式连接到strongswan使用的证书路径。
1 | # 使用链接的好处就是下次更新时不需要复制文件 |
修改strongswan配置文件
,配置原来的自签证书
更换成公网的ssl证书
。
修改ipsec.conf
配置文件
1 | $ vim /etc/strongswan/ipsec.conf |
修改ipsec.secrets
文件,添加公网ssl的key
1 | $ vim /etc/strongswan/ipsec.secrets |
客户端测试
IOS端
先导入
自签CA 证书
将之前创建的ca.cert.pem
文件放在web中,使用iOS自带的浏览器Safari访问ca.cert.pem
,然后进行安装(如果配置了免导入ca证书,这步可以省略
)使用
IKEv2 + EAP
认证找到手机上 “设置->VPN->添加配置”, 选IKEv2。1
2
3
4
5
6描 述:随便填
服 务 器:10.1.1.2 #如果是自签ca这里就填服务器公网ip,免导入ca证书就填绑定的域名地址
远 程 ID:10.1.1.2 #如果是自签ca这里就填服务器公网ip,免导入ca证书就填绑定的域名地址
用户鉴定:用户名
用 户 名:user #EAP 项用户名
密 码:password #EAP 项密码
使用 IKEv2 + EAP
认证找到手机上 “设置->VPN->添加配置”, 选IKEv2。