dfbn6 2026-04-16 半仙VPN 6 0

Linux搭建L2TP/IPsec VPN服务器完整指南:安全、稳定、易部署

在现代企业网络和远程办公场景中,虚拟专用网络(VPN)已成为保障数据传输安全的关键技术之一,L2TP(Layer 2 Tunneling Protocol)结合IPsec(Internet Protocol Security)可以提供强大的加密与认证机制,是Linux系统上构建私有安全通道的理想选择,本文将详细介绍如何在主流Linux发行版(如Ubuntu或CentOS)上搭建一个稳定、安全的L2TP/IPsec VPN服务器,涵盖安装配置、用户管理、防火墙设置及常见问题排查。

第一步:准备工作
确保你有一台运行Linux的服务器(推荐使用Ubuntu 20.04/22.04或CentOS Stream 9),具备公网IP地址,并能访问互联网,建议使用root权限或sudo权限执行以下命令,更新系统并安装必要软件包:

sudo apt update && sudo apt upgrade -y   # Ubuntusudo dnf update -y                      # CentOS

第二步:安装StrongSwan和xl2tpd
StrongSwan是开源的IPsec实现,xl2tpd用于L2TP协议栈,在Ubuntu上执行:

sudo apt install strongswan xl2tpd -y

在CentOS上:

sudo dnf install strongswan xl2tpd -y

第三步:配置IPsec(StrongSwan)
编辑 /etc/ipsec.conf 文件,添加如下内容:

config setup
    charondebug="ike 1, knl 1, cfg 1"
    uniqueids=no
conn %default
    ikelifetime=60m
    keylife=20m
    rekeymargin=3m
    keyingtries=1
    keyexchange=ikev1
    ike=aes256-sha1-modp1024!
    esp=aes256-sha1!
    dpdaction=clear
    dpddelay=30s
    dpdtimeout=120s
conn l2tp-psk
    auto=add
    left=%any
    leftid=@your-server-ip-or-hostname.com
    leftcert=serverCert.pem
    right=%any
    rightsourceip=192.168.100.0/24
    also=l2tp-psk

接着创建证书文件(可选但推荐)或使用预共享密钥(PSK),若使用PSK,编辑 /etc/ipsec.secrets

@your-server-ip-or-hostname.com : PSK "your-strong-pre-shared-key"

第四步:配置L2TP(xl2tpd)
编辑 /etc/xl2tpd/xl2tpd.conf

[global]
port = 1701
access control = yes
[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 = l2tpd
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tpd.server
length bit = yes

第五步:配置PPP选项
创建 /etc/ppp/options.l2tpd.server

+mschap-v2
ms-dns 8.8.8.8
ms-dns 8.8.4.4
proxyarp
lock
ncomp

第六步:添加用户
创建用户账户并设置密码:

sudo adduser vpnuser
sudo passwd vpnuser

然后在 /etc/ppp/chap-secrets 中添加:

"vpnuser" l2tpd "password" *

第七步:启用转发与防火墙
开启IP转发:

echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
sysctl -p

配置iptables(以Ubuntu为例):

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 udp --dport 1701 -j ACCEPT
sudo iptables -A FORWARD -s 192.168.100.0/24 -d 192.168.100.0/24 -j ACCEPT
sudo iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth0 -j MASQUERADE

第八步:启动服务
重启服务并检查状态:

sudo systemctl enable strongswan xl2tpd
sudo systemctl restart strongswan xl2tpd

客户端可通过Windows、iOS或Android连接,输入服务器IP、用户名和密码即可建立安全隧道。

通过以上步骤,你可以在Linux上成功搭建一个功能完整的L2TP/IPsec VPN服务器,满足企业级安全需求,关键点包括正确配置IPsec策略、用户认证、IP分配以及防火墙规则,运维过程中建议定期查看日志(journalctl -u strongswantail -f /var/log/syslog)以排查异常,此方案轻量高效,适合中小规模部署。

或

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