在企业网络环境中,安全可靠的远程访问是保障业务连续性的关键,IPSec(Internet Protocol Security)作为一种成熟、标准化的网络安全协议,广泛用于构建虚拟专用网络(VPN),实现数据加密传输和身份验证,对于运行CentOS操作系统的服务器或边缘设备,配置IPSec VPN是一项常见但需谨慎执行的任务,本文将详细介绍如何在CentOS 7/8系统中使用strongSwan开源项目搭建IPSec IKEv2协议的站点到站点(Site-to-Site)或远程访问(Remote Access)型VPN服务。
确保你的CentOS主机具备以下前提条件:
- 系统版本为CentOS 7或8(推荐使用8以获得更好的安全性支持)
- 已安装并配置好静态IP地址(192.168.1.100)
- 开放必要的端口(UDP 500、UDP 4500,以及ESP协议50和AH协议51)
- 拥有合法的SSL/TLS证书(若使用IKEv2认证)
第一步:安装strongSwan
sudo yum install -y strongswan
此命令会安装IPSec核心组件与常用插件,包括IKEv2、EAP、XAuth等认证机制。
第二步:配置strongSwan主文件 /etc/strongswan.conf
该文件定义了全局参数和加载模块,示例配置如下:
charon {
load_modular = yes
duplicar_detect = no
compress = yes
plugins {
attr {
default = yes
}
}
}
第三步:配置IPSec策略(/etc/ipsec.conf)
这是最关键的部分,定义连接规则和加密算法,以下是一个站点到站点示例:
conn my-vpn
left=192.168.1.100
leftid=@myserver.example.com
leftsubnet=192.168.1.0/24
right=203.0.113.50
rightid=@remote-server.example.com
rightsubnet=192.168.2.0/24
ike=aes256-sha256-modp2048!
esp=aes256-sha256!
keyexchange=ikev2
auto=start
注意:leftid 和 rightid 应使用FQDN或IP地址,用于证书匹配;auto=start 表示启动时自动连接。
第四步:设置预共享密钥(PSK)或证书认证
若使用PSK,编辑 /etc/ipsec.secrets:
%any %any : PSK "your-strong-pre-shared-key"
若使用证书,则需配置CA、服务器证书和客户端证书路径,并启用certload选项。
第五步:启动服务并测试
sudo systemctl enable strongswan sudo systemctl start strongswan sudo ipsec status
输出应显示“installed”状态表示连接已建立,可使用ipsec up my-vpn手动触发连接。
第六步:防火墙与路由配置 确保iptables或firewalld允许IPSec流量:
sudo firewall-cmd --permanent --add-port={500,4500}/udp
sudo firewall-cmd --reload
在路由表中添加目标子网的静态路由(如:ip route add 192.168.2.0/24 via 192.168.1.1)。
建议定期检查日志(journalctl -u strongswan)以排查连接失败问题,生产环境中应使用证书而非PSK,并启用审计功能,通过上述步骤,你可以在CentOS上成功部署一个稳定、安全的IPSec VPN解决方案,满足跨地域办公、云环境互联等多种场景需求。

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

