在企业网络环境中,安全的数据传输是至关重要的,IPsec(Internet Protocol Security)作为一种标准的网络安全协议,被广泛用于构建虚拟私有网络(VPN),实现跨公网的安全通信,对于仍在使用 CentOS 6 的老旧系统(尽管该版本已于2024年停止维护),若需搭建一个基于IPsec的站点到站点或远程访问型VPN,仍可通过开源工具如Openswan或StrongSwan来实现,本文将详细讲解如何在CentOS 6环境下配置IPsec VPN,涵盖环境准备、配置文件编写、服务启动及故障排查等关键步骤。

确保你的CentOS 6系统已安装基本开发工具和内核头文件,这是编译IPsec相关模块的前提,执行以下命令:

yum groupinstall "Development Tools" -y
yum install kernel-devel-$(uname -r) -y

推荐使用Openswan作为IPsec实现方案,因其在CentOS 6上兼容性良好且文档丰富,安装过程如下:

wget http://www.openswan.org/download/openswan-2.6.38.tar.gz
tar -xzf openswan-2.6.38.tar.gz
cd openswan-2.6.38
make all install

安装完成后,需要编辑主配置文件 /etc/ipsec.conf,该文件定义了IPsec连接的策略和参数,以下是一个典型的站点到站点IPsec配置示例:

config setup
    protostack=netkey
    plutodebug=none
    nat_traversal=yes
    virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12
conn mysite-to-remote
    type=tunnel
    authby=secret
    left=192.168.1.100         # 本地网关IP
    leftsubnet=192.168.1.0/24
    right=203.0.113.50          # 远端网关IP
    rightsubnet=192.168.2.0/24
    auto=start
    keyingtries=3
    rekey=no
    ike=aes256-sha1-modp1024
    esp=aes256-sha1

必须设置预共享密钥(PSK),存储在 /etc/ipsec.secrets 文件中:

168.1.100 203.0.113.50 : PSK "your_strong_pre_shared_key_here"

配置完成后,重启IPsec服务并检查状态:

/etc/init.d/pluto start
ipsec verify        # 检查配置是否合法
ipsec auto --add mysite-to-remote
ipsec auto --up mysite-to-remote

若一切正常,IPsec隧道应成功建立,你可以通过 ipsec status 查看当前活动的连接状态,为了验证数据能否穿越隧道,可在两端ping对方子网中的主机。

值得注意的是,CentOS 6默认防火墙iptables可能阻止IPsec所需的UDP端口(500/4500)和ESP协议(协议号50),需添加规则放行:

iptables -A INPUT -p udp --dport 500 -j ACCEPT
iptables -A INPUT -p udp --dport 4500 -j ACCEPT
iptables -A INPUT -p esp -j ACCEPT
service iptables save

建议启用日志记录以辅助调试,修改 /etc/syslog.conf 添加:

kern.info /var/log/ipsec.log

然后重启syslog服务。

虽然CentOS 6已过时,但上述配置依然适用于遗留系统或教学环境,实际部署前,请务必评估安全风险,并考虑升级至支持现代加密算法的系统(如CentOS Stream或RHEL),IPsec虽复杂,但掌握其原理与配置流程,对理解网络层安全机制具有重要意义。

CentOS 6下配置IPsec VPN,从基础到实战的完整指南  第1张

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