本文IPsec部分参考 sqzhao 的优快云 博客 ,原文地址请点击:https://blog.youkuaiyun.com/sqzhao/article/details/76093994?utm_source=copy
一、方案背景
两台centos7服务器构建安全的VPN通道实现内网互通,IPsec接收端需要有弹性IP且安全组放通发起端的UDP500和UDP4500端口。
二、IP规划
接收端:
IPsec地址:192.168.255.31/32,GRE地址:192.168.254.1/30
发起端:
IPsec地址:192.168.255.28/32,GRE地址:192.168.254.2/30
三、部署IPsec
3.1、安装所需软件
yum install epel-release
yum install strongswan openssl iproute iptables
3.2、生成证书(在接收端生成,将client.cert.p12复制到发起端)
export PUBLIC_IP=x.x.x.x # 这里换成接收端的公网IP
mkdir -p /usr/local/ipsec && cd /usr/local/ipsec/
strongswan pki --gen --outform pem > ca.pem
strongswan pki --self --in ca.pem --dn "C=CN, O=VPN, CN=strongSwan CA" --ca --lifetime 3652 \
--outform pem > ca.cert.pem
strongswan pki --gen --outform pem > server.pem
strongswan pki --pub --in server.pem | strongswan pki --issue --lifetime 3652 --cacert ca.cert.pem \
--cakey ca.pem --dn "C=CN, O=VPN, CN=${PUBLIC_IP}" --san="${PUBLIC_IP}" \
--flag serverAuth --flag ikeIntermediate --outform pem > server.cert.pem
strongswan pki --gen --outform pem > client.pem
strongswan pki --pub --in client.pem | strongswan pki --issue --lifetime 3652 --cacert ca.cert.pem \
--cakey ca.pem --dn "C=CN, O=VPN, CN=strongSwan Client" --outform pem > client.cert.pem
openssl pkcs12 -export -inkey client.