在企业网络和远程办公场景中,虚拟专用网络(VPN)是保障数据传输安全的关键技术之一,对于仍在使用 CentOS 6 系统的老旧环境(尽管该版本已于2024年停止维护),搭建 IPsec 型的站点到站点或远程访问型 VPN 依然具有实际意义,本文将详细介绍如何在 CentOS 6 上基于 openswan 和 strongSwan 搭建一个稳定、安全的 IPsec VPN 服务,涵盖安装、配置、测试及常见问题排查。
确保系统已更新至最新补丁(建议升级到 EOL 后的最小安全版本,如 CentOS 6.10),并安装必要的依赖包:
yum update -y yum install -y openswan xl2tpd iptables-services
openswan 是 CentOS 6 默认支持的 IPsec 实现,适合大多数标准场景,接下来编辑 /etc/ipsec.conf 文件,配置主站点(网关)与远程客户端的连接参数:
config setup
plutostart=yes
protostack=netkey
nat_traversal=yes
interfaces=%defaultroute
conn my-vpn
left=YOUR_PUBLIC_IP
leftsubnet=192.168.1.0/24
right=%any
rightsubnet=192.168.2.0/24
authby=secret
pfs=yes
auto=add
type=tunnel
ike=aes256-sha1-modp1024
phase2alg=aes256-sha1
然后配置预共享密钥(PSK),在 /etc/ipsec.secrets 中添加:
YOUR_PUBLIC_IP %any : PSK "your_strong_pre_shared_key"
重启服务并启用自动启动:
service ipsec start chkconfig ipsec on
若需支持 L2TP/IPsec 客户端(如 Windows 或 iOS 设备),还需配置 xl2tpd:
编辑 /etc/xl2tpd/xl2tpd.conf:
[lns default]
ip range = 192.168.2.100-192.168.2.200
local ip = 192.168.2.1
require chap = yes
refuse pap = yes
require authentication = yes
name = l2tpd
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
同时配置 /etc/ppp/options.xl2tpd 以启用 PAP/CHAP 认证,并设置 DNS 和路由:
ms-dns 8.8.8.8
ms-dns 8.8.4.4
proxyarp
lock
noauth
require-chap
开启内核转发并配置防火墙规则(iptables):
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf sysctl -p iptables -A FORWARD -i eth0 -o ppp0 -j ACCEPT iptables -A FORWARD -i ppp0 -o eth0 -j ACCEPT iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE service iptables save
完成以上步骤后,即可在客户端通过 L2TP/IPsec 连接服务器,验证连接是否成功,若出现“failed to establish tunnel”错误,请检查日志 /var/log/messages 和 ipsec status 输出,确认 PSK 是否正确、端口(UDP 500/4500)是否开放、以及 NAT 穿透是否启用。
虽然 CentOS 6 已不再受官方支持,但上述配置在低风险、隔离环境中仍可作为临时方案使用,建议尽快迁移至 CentOS Stream 或 RHEL 8+ 等现代发行版,以获得持续的安全更新和更好的性能。

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

