在当今远程办公和跨地域协作日益普及的背景下,构建一个安全、稳定的虚拟私人网络(VPN)成为企业与个人用户的刚需,IKEv2(Internet Key Exchange version 2)作为一种现代、高效且支持移动设备的协议,因其快速重连、强加密和良好兼容性而备受青睐,本文将详细介绍如何在 CentOS Linux 系统(以 CentOS Stream 9 或 CentOS 7/8 为例)上搭建基于 StrongSwan 的 IKEv2 VPN 服务,涵盖从环境准备到客户端连接的全流程。

确保你的 CentOS 主机满足基本要求:一台公网 IP 的服务器(推荐使用云服务商如阿里云、腾讯云或 AWS),root 权限,以及至少 1GB 内存,建议操作系统为最新稳定版,CentOS Stream 9,其包管理器 dnf 更适合现代软件依赖。

第一步是安装 StrongSwan(开源 IPSec 实现),执行以下命令:

sudo dnf install -y strongswan strongswan-openssl

安装完成后,编辑主配置文件 /etc/strongswan.conf,设置默认插件路径、日志级别等基础选项,特别注意启用 ikev2 插件,并配置证书验证机制(建议使用 X.509 证书而非预共享密钥,安全性更高)。

第二步,生成证书体系,StrongSwan 支持使用 easy-rsa 工具链创建 CA 和服务器/客户端证书,你可以通过如下步骤操作:

sudo mkdir /etc/ipsec.d/ca
cd /etc/ipsec.d/ca
sudo openssl req -new -x509 -days 3650 -keyout ca.key -out ca.crt
sudo openssl req -new -keyout server.key -out server.csr
sudo openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt

将这些证书复制到 /etc/ipsec.d/certs/ 并授权正确权限(chmod 600)。

第三步,配置 IPSec 策略,编辑 /etc/ipsec.conf,添加如下内容:

conn ikev2-vpn
    left=YOUR.SERVER.IP
    leftcert=server.crt
    leftid=@vpn.example.com
    right=%any
    rightsourceip=10.10.10.0/24
    auto=add
    ike=aes256-sha256-modp2048!
    esp=aes256-sha256!
    rekey=no
    dpdaction=restart
    keyexchange=ikev2

/etc/ipsec.secrets 中添加私钥:

 RSA server.key

第四步,启动并测试服务:

sudo systemctl enable strongswan
sudo systemctl start strongswan
sudo ipsec statusall

若无报错,说明服务已正常运行,接下来开放防火墙端口(UDP 500 和 4500):

sudo firewall-cmd --add-port={500,4500}/udp --permanent
sudo firewall-cmd --reload

最后一步是客户端配置,iOS、Android、Windows 均原生支持 IKEv2,只需在客户端导入 CA 证书和用户证书(或使用用户名密码认证),填入服务器地址、身份标识(如 vpn.example.com)即可连接。

重要提醒:为保障安全性,建议定期更新证书、禁用弱加密套件、启用双因素认证(可通过 Radius 或 LDAP 扩展),并部署日志监控(如 ELK Stack)追踪异常访问行为。

在 CentOS 上搭建 IKEv2 VPN 不仅技术成熟,而且具备企业级可靠性,合理规划证书生命周期、强化访问控制,可为企业构建一条安全、透明、高效的远程通信通道。

在 CentOS 系统上搭建 IKEv2 VPN 服务,完整配置指南与安全实践  第1张

VPN加速器|半仙VPN加速器-免费VPN梯子首选半仙VPN