IKEv2 是一种加密隧道协议,主要用于 VPN 连接。搭建 IKEv2 服务需要以下步骤:
- 安装 strongSwan
strongSwan 是一个开源的 IPsec 实现工具包,可以通过以下命令安装:
sudo apt-get update
sudo apt-get install strongswan strongswan-pki libcharon-extra-plugins libcharon-extauth-plugins libstrongswan-extra-plugins
- 生成证书和私钥
使用 strongSwan 自带的 pki 工具生成服务器证书和私钥。首先创建一个证书颁发机构(CA):
sudo ipsec pki --gen --type rsa --size 4096 --outform pem > ca_key.pem
sudo ipsec pki --self --ca --lifetime 3650 --in ca_key.pem --type rsa --dn "CN=VPN CA" --outform pem > ca_cert.pem
然后生成服务器的证书和私钥:
sudo ipsec pki --gen --type rsa --size 4096 --outform pem > server_key.pem
sudo ipsec pki --pub --in server_key.pem --type rsa | sudo ipsec pki --issue --lifetime 730 --cacert ca_cert.pem --cakey ca_key.pem --dn "CN=<Your Server IP>" --san=<Your Server IP> --flag serverAuth --flag ikeIntermediate --outform pem > server_cert.pem
注意将 <Your Server IP>
替换为你的服务器 IP 地址。
- 配置 strongSwan
修改 strongSwan 的配置文件 /etc/ipsec.conf
,添加以下内容:
config setup
charondebug="ike 2, knl 3, cfg 3"
uniqueids=no
conn ikev2-vpn
auto=add
compress=yes
type=tunnel
keyexchange=ikev2
fragmentation=yes
forceencaps=yes
ike=aes256-sha256-modp1024!
esp=aes256-sha256!
left=%any
leftid=<Your Server IP>
leftcert=server_cert.pem
leftsendcert=always
leftsubnet=0.0.0.0/0
right=%any
rightid=%any
rightauth=eap-mschapv2
rightsendcert=never
eap_identity=%identity
注意将 <Your Server IP>
替换为你的服务器 IP 地址。
- 配置 strongSwan 的 secrets 文件
在 /etc/ipsec.secrets
中添加用户名和密码,格式如下:
: EAP "<password>"
其中 <password>
替换为你的 VPN 用户密码。
- 启动 strongSwan
使用以下命令启动 strongSwan:
sudo systemctl start strongswan
至此,IKEv2 服务已经搭建完成。可以在客户端上配置连接,使用 IKEv2 协议进行 VPN 连接。