在企业网络与远程办公日益普及的今天,安全可靠的虚拟私人网络(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
注意:left 和 right 分别对应两端服务器的公网IP;leftsubnet 和 rightsubnet 是各自内网网段;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,满足跨地域网络互通需求,建议定期备份配置文件并监控日志,以保障长期稳定运行。

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






