在现代企业网络环境中,远程办公已成为常态,而安全可靠的虚拟私人网络(VPN)是保障数据传输机密性和完整性的关键,对于使用CentOS 7作为服务器操作系统的管理员而言,构建一个稳定、安全的IPsec/L2TP VPN服务是一个实用且常见的需求,本文将详细介绍如何在CentOS 7系统中部署并配置IPsec与L2TP结合的VPN服务,帮助用户实现安全远程访问内网资源。

确保你的CentOS 7服务器已安装并更新至最新版本,同时具备公网IP地址和基本防火墙配置(如firewalld或iptables),推荐使用SELinux为enforcing模式以增强安全性,但需注意在配置过程中可能需要调整SELinux策略以允许相关服务运行。

第一步:安装必要的软件包,我们主要依赖两个开源项目:strongSwan(用于IPsec协议栈)和xl2tpd(用于L2TP隧道),执行以下命令安装:

sudo yum install -y strongswan xl2tpd

第二步:配置IPsec,编辑/etc/strongswan/ipsec.conf文件,添加如下内容:

conn %default
    ikelifetime=60m
    keylife=20m
    rekeymargin=3m
    keyingtries=1
    keyexchange=ikev1
    authby=secret
    ike=aes128-sha1-modp1024!
    esp=aes128-sha1!
conn l2tp-psk
    left=%any
    leftid=@your-server.com
    right=%any
    rightauth=psk
    rightid=%any
    auto=add
    type=transport

然后配置预共享密钥(PSK),编辑/etc/strongswan/ipsec.secrets

@your-server.com : PSK "your-strong-password"

第三步:配置L2TP,编辑/etc/xl2tpd/xl2tpd.conf,添加如下内容:

[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 = l2tpserver
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tpd
length bit = yes

第四步:设置PPP选项,创建/etc/ppp/options.l2tpd,包含DNS、IP分配等配置:

+mschap-v2
ms-dns 8.8.8.8
ms-dns 8.8.4.4
proxyarp
lock
ncomp
mppe required,encrypt,state

第五步:创建用户账户,在/etc/ppp/chap-secrets中添加用户密码:

"username" l2tpserver "password" *

第六步:启动服务并启用开机自启:

sudo systemctl enable strongswan xl2tpd
sudo systemctl start strongswan xl2tpd

第七步:配置防火墙放行端口,IPsec使用UDP 500和4500,L2TP使用UDP 1701:

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

在客户端(如Windows、iOS、Android)上配置IPsec/L2TP连接时,输入服务器IP、预共享密钥、用户名和密码即可建立加密隧道,此方案适合中小型企业部署,兼顾安全性与易用性,是CentOS 7环境下构建远程访问解决方案的可靠选择。

CentOS 7下搭建IPsec/L2TP VPN服务详解,从零开始配置安全远程访问  第1张

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