「VPN」- L2TP over IPSec

问题描述

企业出差用户和总部通信,使用 L2TP 功能建立 VPN 连接,总部部署为 LNS 对接入的用户进行认证;

当企业对数据和网络的安全性要求较高时,要求出差用户需要向总部传输高机密信息,L2TP 无法为报文传输提供足够的保护;

解决方案

将 L2TP 和 IPSec 功能结合使用(L2TP over IPSec),保护传输的数据,有效避免数据被截取或攻击;

在出差用户的 PC 终端上运行拨号软件,将数据报文先进行 L2TP 封装,再进行 IPSec 封装,发往总部。在总部网关,部署 IPSec 策略,最终还原数据。这种方式 IPSec 功能会对所有源地址为 LAC、目的地址为 LNS 的报文进行保护;

原理简述

L2TP over IPsec,在隧道中,当传输报文时,先用 L2TP 封装报文,再用 IPsec 封装;

在 IPsec 封装过程中,增加的 IP 头即源地址为 IPsec 网关应用 IPsec 安全策略的接口 IP 地址,目的地址即 IPsec 对等体中应用 IPsec 安全策略的接口 IP 地址;

IPsec 需要保护的是从 L2TP 的起点到 L2TP 的终点数据流。在 L2TP 封装过程中,增加的 IP 头即源 IP 地址为 L2TP 起点地址,目的 IP 地址为 L2TP 终点的地址。

在分支接入总部组网中,L2TP 起点地址为 LAC 出接口的 IP 地址,L2TP 终点的地址为 LNS 入接口的 IP 地址;

在出差用户远程接入总部网络的组网中,L2TP over IPsec 的协商顺序和报文封装顺序跟分支接入总部网络的组网中的协商顺序和报文封装顺序是一样的。所不同的是出差用户远程接入总部网络的组网中,用户侧的 L2TP 和 IPsec 封装是在客户端上完成的。L2TP 起点的地址为客户端将要获取的内网地址,此地址可以是 LNS 上配置的 IP 地址池中的任意地址。L2TP 终点地址为 LNS 入接口的地址;

Q:推荐采用传输模式 L2TP over IPsec?
A:由于 L2TP 封装时已经增加了一个公网 IP 头,而隧道模式跟传输模式相比又多增加了一个公网 IP 头,导致报文长度更长,更容易导致分片。

关于 L2TP 与 IPSec 关系

首先,我们需要明确 IPSec 与 L2TP 间没有必然关系:
1)没有 IPSec 依旧能够实现 L2TP 隧道;
2)没有 L2TP 依旧能够使用 IPSec 来搭建 VPN 隧道;

在 L2TP over IPSec(L2TP/IPSec)中:
1)IPSec,处于传输模式,仅负责认证及网络层数据加密(除了 IP Address 以外,之上的信息都是加密的)
2)L2TP,隧道协议,负责实现 VPN 功能;

即 IPSec 提供的是网络层的数据加密,而 VPN 功能实际上是由 L2TP 支持的。也就是说有没有 IPSec 都能够实现 VPN 功能的;

如果不使用 IPSec 加密,就表示我们放弃安全和数据保密。我们的数据在网络中是以“明文”传输的(说“明文”也不准确,数据能否被解码还要看上层所使用的协议)

如果使用 IPSec 加密,即使数据被监听,也不会被发现网络层中的数据信息(有几种情况例外)。而且 IPSec 也可以单独使用;

特性特征

这样可以综合两种 VPN 的优势:
1)通过 L2TP 协议,实现用户验证和地址分配;
2)利用 IPsec 协议,保障通信的安全性;

应用场景

L2TP over IPsec 既可以用于分支接入总部,也可以用于出差员工接入总部;

参考文献

RFC 3193/Securing L2TP using IPsec
Wikipedia/Layer 2 Tunneling Protocol/L2TP/IPsec