Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

IPv4 网络中基于防火墙过滤器的 L2TP 通道概述

第2层隧道协议(L2TP)是一种客户端/服务器协议,允许点对点协议(PPP)通过网络进行隧道传输。L2TP 封装了2层数据包,例如 PPP,用于跨网络传输。在接入设备上配置的 L2TP 接入集中器(LAC)可从远程客户端接收数据包,并将其转发至远程网络上的 L2TP 网络服务器(LNS)。L2TPv3 定义了基本控制协议和封装,用于在两个 IPv6 节点之间建立隧道多个2层连接。L2TPv2 与 L2TPv3 之间的重大差异包括:

  • 分离所有与 PPP 相关的 AVPs 和引用,允许包括特定于 PPP 需求的 L2TP 数据包头的一部分。

  • 将16位会话 ID 和通道 ID 转换为32位会话 ID,并分别控制连接 ID。

  • 通道身份验证机制的扩展,可覆盖整个控制消息,而不仅仅是某些消息的一部分。

  • L2TPv3 仅支持 IPv6。

  • 对于防火墙过滤器,仅支持数据平面 L2TPv3 封装/和解封装。

L2TP 由两种类型的消息组成,控制消息和数据消息(有时分别称为控制数据包和数据数据包)。控制消息用于建立、维护和清除控制连接和会话。这些消息在 L2TP 内利用可靠控制通道来保证交付。数据消息用于封装 L2TP 会话传输的 L2 信息流。

您可以使用由两个标准防火墙过滤器操作启动的 GRE 隧道协议机制,将 IPv4 网络配置为传输 IPv4、IPv6 或 MPLS 传输流量。逻辑系统中也支持此功能。使用防火墙过滤器配置 L2TP 隧道时,无需在通道服务物理接口卡(pic)或 MPC3E 模块化端口集中器(Mpc)上创建通道接口。相反,数据包转发引擎为以太网逻辑接口或 MX 系列5G 通用路由平台中的模块化接口卡(Mic)或 Mpc 上托管的聚合以太网接口提供通道服务。

作为提供商边缘(PE)路由器安装的两个 MX 系列路由器在两个不相交的网络上提供与客户边缘(CE)路由器的连接。PE 路由器上的 MIC 或 MPC 接口执行 L2TP IPv4 封装和负载的反封装。和解封装后,数据包将根据 L2TP 标头的协议字段发送到在操作中指定的路由表的本地接口或默认路由表中。但是,L2TP 数据包可以选择通过与输出接口索引相同的令牌在结构中发送,以执行2层交叉连接。您可通过在decapsulate l2tp output-interface interface-name cookie l2tpv3-cookie[edit firewall family family-name filter filter-name term term-name then]层次结构级别上包含语句,指定用于要发送的 L2TP 数据包的输出接口说明符。

在和解封装期间,内部标头必须为 L2TP 隧道的以太网。默认情况下,转发类在防火墙之前应用,不会为 decapsulated 数据包保留(通过使用forwarding-class class-name[edit firewall family family-name]层次结构级别上的语句,这是 nonterminating 筛选器操作)。但是,您可以通过使用decapsulate l2tp forwarding-class class-name[edit firewall family family-name filter filter-name term term-name then]层次结构级别上的语句,指定要将数据包分类所需的转发类,包括 decapsulated 数据包的筛选器操作。

定义了以下字段定义,以便在所有 L2TP 会话标头封装中使用。

  • 会话 ID 字段是一个32位字段,包含会话的非零标识符。L2TP 会话以仅具有本地意义的标识符命名。在会话的整个生命周期内,控制连接的每一端都会为同一逻辑会话提供不同的会话 Id。当 L2TP 控制连接用于会话建立时,会话 Id 在创建会话期间被选择并作为本地会话 ID AVPs 进行交换。会话 ID 单独为所有数据包处理提供必要的上下文,包括 Cookie 的存在、大小和值、L2 特定子层的类型以及进行隧道传输的有效负载类型。

  • 可选 Cookie 字段包含可变长度值(最大64位),用于检查收到的数据消息与会话 ID 标识的会话的关联。Cookie 字段必须设置为本次会话配置的或发出信号的随机值。Cookie 提供了另一级别的保证,即数据消息已通过会话 ID 定向到正确的会话。精心选择的 Cookie 可能会阻止意外 misdirection 带有最近重新使用的会话 Id 的随机数据包,或导致数据包损坏的会话 Id。Cookie 还可能会针对某些特定恶意数据包插入攻击提供保护。将 L2TP 控制连接用于会话建立时,在会话创建期间,将选择随机 Cookie 值并将其交换为分配的 Cookie AVPs。

会话是在远程系统和 LNS 之间建立端到端 PPP 连接时在 LAC 和 LNS 之间创建的逻辑连接。建立的 L2TP 会话与其关联的 PPP 连接之间存在一对一关系。通道是一个或多个 L2TP 会话的聚合。

从 Junos OS 版本15.1 开始,通过使用标准防火墙过滤器匹配的 L2TP 通道发送的 IP 数据包的和解封装通过第3层查找执行。在 Junos OS 版本14.2 及更低层次中,通过防火墙过滤操作配置的 L2TP 通道上的和解封装流量使用第2层接口属性执行。

单向隧道

跨 IPv4 网络的基于过滤器的 L2TP 隧道是单向的。它们仅传输传输数据包,不需要通道接口。虽然您可以将防火墙过滤器应用于回传地址,但路由器回传接口上不支持 GRE 封装和反封装防火墙筛选器操作。在数据包转发引擎上为以太网逻辑接口和聚合以太网接口执行的过滤器启动的封装和和解封装操作。与使用通道接口的 GRE 隧道相比,这种设计能更有效地利用数据包转发引擎带宽。不能在基于防火墙的隧道顶部配置路由协议会话。

通道安全

不加密通过 IPv4 网络的基于过滤器的隧道。如果需要安全通道,则必须使用 IP 安全(IPsec)加密,这在 MIC 或 MPC 接口上不受支持。但是,MX240、MX480 和 MX960 路由器上的多服务 DPC (MS DPC)接口支持用于配置手动或动态安全关联(Sa)的 IPsec 工具,以加密数据流量以及目标为或来源于路由引擎的流量。

转发性能

与使用通道接口进行 L2TP 隧道相比,通过 IPv4 网络的基于过滤器的隧道可更有效地使用数据包转发引擎带宽。封装、反封装和路由查找是数据包标头处理活动,用于基于防火墙过滤器的隧道在基于 Junos Trio 芯片组的数据包转发引擎上执行。因此,encapsulator 从不需要将负载数据包发送至单独的通道接口(可能驻留在不同插槽中的 PIC 上,而不是接收有效载荷数据包的接口)。

转发可扩展性

使用隧道接口的转发 L2TP 流量需要将信息流发送到托管隧道接口的插槽。当您使用通道接口转发 GRE 流量时,此要求会限制可按 GRE 通道目标地址转发的流量数量。例如,假设您希望将 100 Gbps 的 L2TP 流量从路由器 A 发送到路由器 B,并且只有 10 Gbps 接口。为确保您的配置不会将同一板上的所有信息流封装到同一个 10 Gbps 接口上,您必须在多个封装点之间分配流量。

发布历史记录表
版本
说明
15.1
从 Junos OS 版本15.1 开始,通过使用标准防火墙过滤器匹配的 L2TP 通道发送的 IP 数据包的和解封装通过第3层查找执行。
14.2
在 Junos OS 版本14.2 及更低层次中,通过防火墙过滤操作配置的 L2TP 通道上的和解封装流量使用第2层接口属性执行。