第214篇:L2TP over IPsec 远程拨号

关键词:L2TP、L2TP over IPsec、远程拨号、远程访问、PPP、LAC、LNS、用户认证、Mobile Access

一、引言

前三篇 IPsec VPN 文章分别介绍了封装模式、IKE 协商模式和 Hub-Spoke 组网。这些场景均面向站点到站点的组网需求。但在企业中,大量远程办公人员(销售人员、外勤工程师、居家办公员工)需要从任意网络接入企业内网。此时,站点到站点的 IPsec VPN 不再适用,需要面向用户的远程访问解决方案。

L2TP over IPsec 是目前企业网络中最广泛部署的远程访问 VPN 技术。L2TP 提供隧道封装和用户级认证,IPsec 提供传输加密,两者结合实现了灵活、安全、可扩展的远程拨号方案。

二、核心概念

2.1 L2TP 协议架构

L2TP(Layer 2 Tunneling Protocol)是在两台 L2TP 设备之间建立虚拟点对点连接的第二层隧道协议。L2TP 本身不提供加密,需与 IPsec 配合使用。

组件 角色 位置
LAC(L2TP Access Concentrator) 接入集中器 用户侧,接收 PPP 连接并封装到 L2TP 隧道
LNS(L2TP Network Server) 网络服务器 企业侧,终止 L2TP 隧道并进行用户认证
Client(L2TP 客户端) 拨号用户 远程办公人员的终端设备

2.2 L2TP over IPsec 工作流程

L2TP over IPsec 工作流程 - 图示

2.3 L2TP vs IPsec VPN 对比

对比维度 L2TP over IPsec 站点间 IPsec VPN
用户类型 单个远程用户 站点网络
数量规模 数百至数千人同时在线 通常数个至数十个站点
认证方式 用户级(用户名/密码/证书) 设备级(预共享密钥/证书)
地址分配 动态分配(DHCP/RADIUS) 静态路由
隧道模式 传输模式(Transport Mode) 隧道模式(Tunnel Mode)
协议开销 PPP + L2TP + IPsec 多层封装 仅 IPsec 封装
管理粒度 按用户策略 按网络策略

三、技术细节

3.1 L2TP 隧道生命周期

L2TP 隧道生命周期 - 图示

3.2 IP 地址分配方式

方式 说明 配置位置
LNS 本地地址池 LNS 设备本地配置地址池 LNS 设备上配置
RADIUS 下发 RADIUS 服务器在 Access-Accept 中返回 Framed-IP-Address RADIUS 服务器配置
DHCP 中继 LNS 通过 DHCP 中继获取地址 DHCP 服务器配置

3.3 认证方式

认证方式 特点 安全性
PAP(密码认证协议) 明文传输密码,简单但不安全 低
CHAP(挑战握手认证协议) 使用挑战-响应机制,密码不传输 中
MS-CHAPv2 Microsoft 扩展,支持双向认证 高
EAP(可扩展认证协议) 支持多种认证方法(TLS、TTLS、PEAP) 高

3.4 安全加固建议

加固项 说明
IPsec 强加密 使用 AES-256-GCM,禁用弱加密算法
强制 CHAP 认证 禁用 PAP,使用 CHAP 或 MS-CHAPv2
账号密码复杂度策略 长度不少于 12 位,包含大小写字母、数字和特殊字符
连接超时设置 空闲超时 300 秒,最大会话时长 8 小时
接入 IP 限制 限制 L2TP 接入的源 IP 地址范围
多因素认证 配合 MFA/OTP 实现二次认证

四、实战配置/案例分析

4.1 华为 USG 防火墙:L2TP over IPsec 服务器配置

# ========== LNS 侧完整配置 ==========
system-view
sysname HQ-Firewall

# 1. 配置公网接口
interface GigabitEthernet 1/0/0
 ip address 203.0.113.1 255.255.255.0
 quit

# 2. 配置L2TP组参数
l2tp group 1
 tunnel authentication-mode chap
 local name HQ-L2TP
 password cipher Huawei@L2TP2024
 ip pool vpn-pool
 idle-timeout 300
 max-mtu 1400
quit

# 3. 配置IP地址池
local-user vpn-user access-level 0
 service-type l2tp
 l2tp-client
 l2tp-group 1
 authentication-cipher password cipher User@VPN2024
 quit

# 批量用户配置(通过RADIUS)
aaa
 authentication-scheme radius-auth
  authentication-mode radius
 quit

 radius-server group RADIUS-Group
  primary 10.100.1.10
  secondary 10.100.1.11
  user-name-format without-domain
  accounting enable
 quit

# 4. 配置IP地址池
ip pool vpn-pool
 network 10.200.0.0 mask 255.255.0.0
 gateway 10.200.0.1
 dns-preferred 10.100.1.53
 dns-optional 8.8.8.8
 section 0 10.200.1.1 10.200.254.254
 dns-preferred 10.100.1.53
 quit

# 5. 配置IKE和IPsec
ike proposal 1
 encryption-algorithm aes-256-gcm
 integrity-algorithm sha256
 dh-group group14
quit

ipsec proposal 1
 encapsulation-mode transport
 auth-algorithm sha256
 encrypt-algorithm aes-256-gcm
 dh-group group14
quit

# 6. 配置L2TP IPsec域
ipsec policy l2tp-policy 10 isakmp
 security-acquire-method ike
 proposal 1
 peer enable
quit

# 7. 应用到L2TP组
l2tp group 1
 ipsec policy l2tp-policy 10
quit

# 8. 安全策略放行
security-policy
 rule name Allow-L2TP-IPsec
  source-zone untrust
  destination-zone local
  action permit
  service ipsec
 rule name Allow-L2TP
  source-zone untrust
  destination-zone local
  action permit
  service l2tp
 rule name Allow-L2TP-IPsec-UDP4500
  source-zone untrust
  destination-zone local
  action permit
  service udp-sport-eq-4500
 rule name Allow-L2TP-UDP1701
  source-zone untrust
  destination-zone local
  action permit
  service udp-dport-eq-1701
quit

4.2 Windows 客户端连接配置

Windows 10/11 连接步骤:

1. 设置 → 网络和Internet → 代理 → VPN
2. 添加 VPN 连接
   - VPN 提供商:Windows (内置)
   - 连接名称:HQ-VPN
   - 服务器名称:203.0.113.1
   - VPN 类型:L2TP/IPsec 第2层隧道协议
   - _tunnel类型:使用我的 Windows 登录信息 / 使用空白用户名和密码
   - 隧道加密:可选
3. 点击"连接",输入用户名和密码
4. 连接成功后自动获取 10.200.x.x 网段 IP

4.3 故障排查案例:L2TP 连接成功但无法访问内网

故障现象:远程用户使用 L2TP over IPsec 成功连接企业 VPN,获得 IP 地址 10.200.1.50,但无法访问企业内网的文件服务器(10.10.1.100)。

排查步骤:

  1. 检查 L2TP 会话状态
display l2tp session

显示 L2TP Session 状态为 ACTIVE,IP 地址正确分配。

  1. 检查用户侧 ping 测试
# 从防火墙本地ping用户IP
ping -a 10.200.1.50

ping 不通,说明防火墙到用户侧路由有问题。

  1. 检查防火墙路由表
display ip routing-table protocol all

发现缺少 10.200.0.0/16 网段的路由条目指向 L2TP 隧道接口。

  1. 根因分析 L2TP 用户获得 IP 地址后,回包需要通过 L2TP 隧道接口转发。但防火墙的路由表中没有自动生成指向 L2TP 接口的路由条目,导致回包被丢弃。

  2. 解决方案

# 方法一:配置静态路由指向L2TP接口
ip route-static 10.200.0.0 255.255.0.0 Tunnel 0

# 方法二(推荐):配置L2TP地址池网关指向正确接口
ip pool vpn-pool
 gateway 10.200.0.1
quit

# 确保L2TP隧道接口存在且配置正确
interface Tunnel 0
 ip address 10.200.0.1 255.255.0.0
 quit

# 检查安全策略是否允许L2TP用户访问内网
security-policy
 rule name Allow-VPN-to-Trust
  source-zone l2tp-zone
  destination-zone trust
  action permit
  service any
quit

修改后,用户 ping 测试内网地址正常,可以访问文件服务器。

五、总结

知识点 要点
L2TP 架构 LAC(接入)+ LNS(服务器)+ AAA(认证)
L2TP over IPsec L2TP 提供隧道和认证,IPsec 提供加密
封装顺序 PPP → L2TP → UDP 1701 → IPsec (ESP) → IP
用户认证 CHAP/MS-CHAPv2/EAP,通过 RADIUS 实现集中管理
IP 分配 本地地址池 / RADIUS 下发 / DHCP 中继
IPsec 模式 L2TP over IPsec 通常使用传输模式(Transport Mode)
安全加固 强加密算法、CHAP 认证、连接超时、多因素认证
常见故障 路由缺失导致回包不通、安全策略未放行 L2TP 区域

思考

  1. L2TP over IPsec 的封装开销比纯 IPsec VPN 大多少?在 4G/5G 移动网络下,L2TP over IPsec 的额外开销对用户体验有什么影响?
  2. 当企业有 5000 名远程用户需要 VPN 接入时,LNS 服务器的性能瓶颈主要出现在哪些方面?如何横向扩展?
  3. L2TP over IPsec 使用传输模式还是隧道模式?为什么远程访问 VPN 通常选择传输模式?

下篇预告:第215篇:GRE 隧道与 Overlay 网络