在现代企业网络架构中,安全远程访问是保障数据传输机密性和完整性的关键环节,IPsec(Internet Protocol Security)作为一种广泛采用的网络层加密协议,能够为跨公网的数据通信提供端到端的安全保护,本文将详细介绍如何在CentOS操作系统上配置IPsec VPN,涵盖安装、策略设置、认证方式(预共享密钥)、防火墙规则以及连接测试等全流程操作。
确保你的CentOS系统已更新至最新版本(推荐使用CentOS Stream或CentOS 7/8),打开终端并执行以下命令安装必要的软件包:
sudo yum update -y sudo yum install -y xl2tpd ipsec-tools openswan
注意:OpenSUSE和较新的发行版可能使用strongswan替代openswan,但本教程以兼容性更强的openswan为例。
接下来配置IPsec主服务,编辑 /etc/ipsec.conf 文件,定义一个名为“my-vpn”的连接策略:
conn my-vpn
left=your.public.ip.address
leftid=@server.example.com
right=%any
rightid=@client.example.com
authby=secret
pfs=yes
auto=add
type=tunnel
keyingtries=3
rekey=no
ike=aes256-sha1-modp1024
esp=aes256-sha1
left 是服务器公网IP,right 代表客户端,可设为 %any 表示接受任意客户端连接,此配置支持AES-256加密与SHA-1哈希算法,符合工业标准。
然后配置共享密钥文件 /etc/ipsec.secrets,添加如下内容:
@server.example.com @client.example.com : PSK "your-strong-pre-shared-key"
请务必使用高强度密码作为PSK,并妥善保管该文件权限(建议设置为 600)。
配置完成后,启动IPsec服务并检查状态:
sudo systemctl start ipsec sudo systemctl enable ipsec sudo ipsec auto --add my-vpn sudo ipsec auto --up my-vpn
此时若无错误提示,说明IPsec隧道已建立成功。
为了支持L2TP/IPsec组合协议(常见于Windows或移动设备),还需配置L2TP守护进程,编辑 /etc/xl2tpd/xl2tpd.conf:
[global] port = 1701 [lns default] ip range = 192.168.100.100-192.168.100.200 local ip = 192.168.100.1 require chap = yes refuse pap = yes require authentication = yes name = l2tp-server ppp debug = yes pppoptfile = /etc/ppp/options.l2tpd
在 /etc/ppp/options.l2tpd 中定义PPP选项,例如DNS服务器地址、身份验证方式等。
完成上述步骤后,重启相关服务并开放防火墙端口(UDP 500、4500用于IPsec,UDP 1701用于L2TP):
sudo firewall-cmd --permanent --add-port=500/udp sudo firewall-cmd --permanent --add-port=4500/udp sudo firewall-cmd --permanent --add-port=1701/udp sudo firewall-cmd --reload
至此,你已在CentOS上成功搭建了一个功能完整的IPsec/L2TP VPN服务器,客户端可通过手机或电脑上的IPsec客户端(如iOS自带、Android第三方工具)连接,输入服务器IP、预共享密钥及用户名密码即可接入内网资源,此方案适用于中小型企业远程办公场景,兼顾安全性与易用性。

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

