手把手教你用CentOS搭建L2TP/IPsec VPN服务,实现安全远程访问

在企业网络和远程办公场景中,构建一个稳定、安全的虚拟私人网络(VPN)至关重要,L2TP(Layer 2 Tunneling Protocol)结合IPsec加密机制,是目前广泛使用的远程接入解决方案之一,本文将以CentOS操作系统为基础,详细介绍如何从零开始搭建一套完整的L2TP/IPsec VPN服务,适用于中小企业或个人开发者部署私有网络通道。

确保你有一台运行CentOS 7或8的服务器(推荐使用最小化安装版本),并具备公网IP地址,我们使用的开源工具包括:xl2tpd(用于L2TP协议处理)、strongSwan(用于IPsec加密)以及pam认证模块(支持用户密码验证)。

第一步:安装必要软件包
登录服务器后,执行以下命令安装依赖:

sudo yum update -y
sudo yum install -y xl2tpd strongswan ipsec-tools pam-devel openssl-devel

第二步:配置IPsec
编辑 /etc/strongswan/ipsec.conf 文件,定义主配置:

config setup
    charondebug="ike 1, knl 1, cfg 1"
    uniqueids=yes
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-ip.com
    right=%any
    auto=add
    type=transport
    compress=no
    dpddelay=10
    dpdtimeout=30
    dpdaction=clear

编辑 /etc/strongswan/ipsec.secrets,添加预共享密钥(PSK):

%any %any : PSK "your-strong-psk-here"

第三步:配置L2TP服务
修改 /etc/xl2tpd/xl2tpd.conf

[global]
ipsec saref = yes
port = 1701
[lns default]
ip range = 192.168.100.10-192.168.100.100
local ip = 192.168.100.1
require chap = yes
refuse pap = yes
require authentication = yes
name = l2tpserver
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes

第四步:设置PPP选项
创建 /etc/ppp/options.xl2tpd

+mschap-v2
ipcp-accept-local
ipcp-accept-remote
noccp
auth
mtu 1280
mru 1280
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4

第五步:添加用户账户
使用PAM模块管理用户身份,编辑 /etc/ppp/chap-secrets


第六步:启用并启动服务

sudo systemctl enable ipsec xl2tpd
sudo systemctl start ipsec xl2tpd
sudo sysctl -w net.ipv4.ip_forward=1

在防火墙中开放端口(如使用firewalld):

sudo firewall-cmd --add-port=500/udp --permanent
sudo firewall-cmd --add-port=4500/udp --permanent
sudo firewall-cmd --add-port=1701/udp --permanent
sudo firewall-cmd --reload

完成以上步骤后,客户端即可通过Windows、iOS或Android设备连接至你的L2TP/IPsec服务器,只需输入服务器IP、用户名和密码,并选择“使用预共享密钥”即可建立安全隧道。

此方案兼顾安全性与易用性,适合对网络控制要求较高的用户,建议定期更新证书、加强日志监控,以保障长期运行的稳定性与安全性。

Secrets for authentication using CHAP  第1张

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