在企业网络和远程办公场景中,虚拟专用网络(VPN)是保障数据安全传输的重要手段,对于仍在使用老旧系统如 CentOS 5.5 的环境,搭建稳定、安全的 IPsec-based VPN 服务依然具有现实意义,本文将详细介绍如何在 CentOS 5.5 系统上配置基于 Openswan 的 IPsec 安全隧道,实现跨公网的安全通信。

确保你已安装并更新 CentOS 5.5 系统,由于该版本为较早发行版,建议在部署前确认系统补丁已全部应用,并关闭不必要的服务以减少攻击面,安装必要的软件包,使用 yum 命令安装 Openswan 和相关依赖:

yum install openswan xl2tpd

Openswan 是 Linux 上广泛使用的 IPsec 实现,而 xl2tpd 提供 L2TP 协议支持,常用于结合 IPsec 构建更完整的远程访问解决方案(即 IPsec + L2TP),完成安装后,进入核心配置阶段。

编辑 /etc/ipsec.conf 文件,定义主策略,以下是一个基本示例,适用于站点到站点(Site-to-Site)或客户端连接:

config setup
    plutodebug=control
    protostack=netkey
    interfaces=%defaultroute
    uniqueids=yes
conn home-office
    left=your.public.ip.address
    leftsubnet=192.168.1.0/24
    right=%any
    rightsubnet=192.168.2.0/24
    authby=secret
    auto=start
    type=tunnel
    keyexchange=ike
    ike=aes256-sha1-modp1024
    phase2alg=aes256-sha1

此配置指定了本地网段(192.168.1.0/24)、远端网段(192.168.2.0/24),以及加密算法,若需客户端接入,可添加 right=%any 并启用证书认证或预共享密钥(PSK)。

接下来配置预共享密钥,在 /etc/ipsec.secrets 中添加一行:

%any %any : PSK "your_strong_pre_shared_key"

注意:此处应使用高强度密码,避免弱密钥被破解,保存后,启动 IPsec 服务:

/etc/init.d/ipsec start
chkconfig ipsec on

若使用 L2TP(如 Windows 或 Android 客户端),还需配置 xl2tpd,编辑 /etc/xl2tpd/xl2tpd.conf,设置监听地址和用户认证方式。

[lns default]
ip range = 192.168.3.100-192.168.3.200
local ip = 192.168.3.1
require chap = yes
refuse pap = yes
require authentication = yes
name = l2tpd
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd

配置 /etc/ppp/options.xl2tpd 以指定 DNS 和路由规则,确保客户端能正常访问内网资源。

启动 xl2tpd 服务:

/etc/init.d/xl2tpd start
chkconfig xl2tpd on

通过防火墙开放 UDP 500(IKE)和 UDP 4500(NAT-T)端口,并允许 ESP 协议(协议号 50),若使用 iptables,执行:

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

完成上述步骤后,可在客户端使用 L2TP/IPsec 连接,输入服务器公网 IP、用户名密码及预共享密钥即可建立安全通道,测试时可通过 ipsec status 查看隧道状态,确保 ESTABLISHED

尽管 CentOS 5.5 已于 2017 年停止支持,其 IPsec 配置仍具教学价值,建议生产环境逐步迁移到现代发行版(如 CentOS Stream 或 AlmaLinux),但对遗留系统维护者而言,掌握此类技能仍是必备能力。

CentOS 5.5环境下搭建IPsec VPN服务的完整指南  第1张

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