手把手教你搭建L2TP/IPsec VPN服务器,安全远程访问的实战指南

hyde1011 3 2026-05-19 09:11:22

在现代企业网络中,远程办公已成为常态,而虚拟专用网络(VPN)则是保障远程访问安全的关键技术之一,L2TP(Layer 2 Tunneling Protocol)结合IPsec加密机制,因其兼容性强、配置灵活且安全性较高,被广泛应用于中小型企业和个人用户中,本文将带你从零开始,逐步搭建一个基于Linux系统的L2TP/IPsec VPN服务器,确保你能在不依赖第三方服务的情况下实现安全远程访问。

我们需要明确环境要求,假设你有一台运行Ubuntu 20.04或更高版本的Linux服务器(可以是云主机如阿里云、AWS或本地物理机),并已具备公网IP地址和基本的SSH访问权限,我们使用StrongSwan作为IPsec后端,xl2tpd作为L2TP守护进程,配合ppp模块完成用户认证与IP分配。

第一步:安装必要软件包
通过SSH登录服务器,执行以下命令更新系统并安装组件:

sudo apt update && sudo apt upgrade -y
sudo apt install xl2tpd strongswan strongswan-pki libstrongswan-standard-plugins -y

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

config setup
    plutostderrlog = /var/log/pluto.log
    crlcheckinterval = 600
    strictcrlpolicy = no
conn %default
    ikelifetime = 8h
    keylife = 1h
    rekeymargin = 3m
    rekeyfuzz = 1m
    keyingtries = 3
    keyexchange = ikev1
    authby = secret
    auto = route
conn l2tp-psk
    left=%any
    leftid=@your-server-domain.com
    right=%any
    rightsubnet=192.168.100.0/24
    authby=secret
    pfs=yes
    type=transport
    phase2alg=aes_gcm_128,aes_gcm_256,modp1024!
    modecfgdns="8.8.8.8,8.8.4.4"
    fragmentation=yes
    dpddelay=30
    dpdtimeout=120
    dpdaction=clear

注意:leftid应替换为你服务器的域名或公网IP,rightsubnet为内部分配的私网段(可自定义)。

第三步:设置预共享密钥(PSK)
编辑 /etc/ipsec.secrets,添加一行:

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

第四步:配置L2TP(xl2tpd)
修改 /etc/xl2tpd/xl2tpd.conf

[global]
ip range = 192.168.100.100-192.168.100.200
local ip = 你的公网IP
require chap = yes
refuse pap = yes
debug tunnel = yes
debug avp = yes
[lns default]
ip range = 192.168.100.100-192.168.100.200
local ip = 你的公网IP
require chap = yes
refuse pap = yes
require authentication = yes
name = l2tpserver
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tpd

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

+mschap-v2
ms-dns 8.8.8.8
ms-dns 8.8.4.4
auth
crtscts
lock
modem
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4

第六步:添加用户账号
/etc/ppp/chap-secrets 中添加用户名密码(格式:用户名 密码 IP):

username * password *

第七步:启动服务并配置防火墙
重启IPsec和L2TP服务:

sudo systemctl restart strongswan
sudo systemctl restart xl2tpd
sudo systemctl enable strongswan xl2tpd

确保防火墙开放UDP端口:

  • UDP 500(IKE)
  • UDP 4500(NAT-T)
  • UDP 1701(L2TP)

最后一步:客户端连接测试
Windows用户可在“网络和共享中心”中新建VPN连接,类型选择“L2TP/IPsec with pre-shared key”,输入服务器IP和密码即可连接,Android/iOS设备也可通过原生VPN功能配置。

L2TP/IPsec虽然配置略复杂,但稳定性好、兼容性强,适合对安全性有要求的远程办公场景,只要按步骤操作,即使是初学者也能成功部署,建议定期备份配置文件,并启用日志监控以排查异常,安全第一,合理使用!

手把手教你搭建L2TP/IPsec VPN服务器,安全远程访问的实战指南

上一篇:虚拟专用网络(VPN)的多样化应用场景解析,从企业安全到个人隐私保护
下一篇:手把手教你搭建安全高效的VPN服务器,从零开始的网络工程师指南
相关文章
返回顶部小火箭