CentOS下使用Openswan搭建IPsec VPN的完整配置指南

dfbn6 2026-05-07 vpn 1 0

在企业网络与远程办公日益普及的今天,安全可靠的虚拟私人网络(VPN)已成为连接分支机构、员工远程访问内部资源的核心技术之一,作为Linux系统中经典的IPsec实现方案,Openswan因其稳定性、安全性以及对RFC标准的良好支持,在许多传统Linux环境中仍被广泛使用,本文将以CentOS 7或8为例,详细介绍如何通过Openswan搭建一个基于预共享密钥(PSK)的IPsec站点到站点(Site-to-Site)VPN。

确保你的CentOS服务器已安装基础系统,并具备公网IP地址,我们假设两台服务器分别为Server A(192.168.1.100)和Server B(192.168.2.100),它们分别位于不同网络中,目标是建立加密隧道以实现互访。

第一步:安装Openswan
登录服务器后,执行以下命令更新系统并安装Openswan:

sudo yum update -y
sudo yum install -y openswan

第二步:配置IPsec主文件 /etc/ipsec.conf
编辑此文件,定义两个站点的IPsec策略,示例配置如下:

config setup
    protostack=netkey
    plutodebug=all
    dumpdir=/var/log/pluto/
    nat_traversal=yes
    oe=off
conn myvpn
    left=192.168.1.100
    leftsubnet=192.168.1.0/24
    right=192.168.2.100
    rightsubnet=192.168.2.0/24
    authby=secret
    auto=start
    keyingtries=%forever
    rekey=no
    type=tunnel
    ike=aes256-sha1-modp1024
    phase2alg=aes256-sha1

注意:leftright 分别对应两端服务器的公网IP;leftsubnetrightsubnet 是各自内网网段;authby=secret 表示使用预共享密钥认证。

第三步:设置预共享密钥
编辑 /etc/ipsec.secrets 文件,添加密钥:

168.1.100 192.168.2.100 : PSK "your_strong_pre_shared_key_here"

请务必使用强密码(建议包含大小写字母、数字、特殊字符)并妥善保管该文件权限(chmod 600 /etc/ipsec.secrets)。

第四步:启动服务并检查状态
运行以下命令启用并启动IPsec服务:

sudo systemctl enable ipsec
sudo systemctl start ipsec

查看日志确认是否成功建立隧道:

sudo ipsec status
sudo journalctl -u ipsec.service

若看到“ESTABLISHED”状态,说明IPsec隧道已建立成功。

第五步:配置路由与防火墙
确保两端服务器都启用了IP转发(net.ipv4.ip_forward = 1),并在iptables中允许ESP协议(协议号50)和UDP 500端口(IKE):

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

验证连通性:从Server A ping Server B的内网IP(如192.168.2.1),应能正常通信。

Openswan虽然不如较新的StrongSwan或Libreswan那样现代化,但在CentOS等老旧但稳定的企业环境中依然可靠,通过上述步骤,你可以快速构建一个安全、高效的IPsec站点到站点VPN,满足跨地域网络互通需求,建议定期备份配置文件并监控日志,以保障长期稳定运行。

CentOS下使用Openswan搭建IPsec VPN的完整配置指南

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