Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

概述

VPN 类型

虚拟专用网络 (VPN) 由两个拓扑区域组成:提供商的网络和客户网络。客户的网络通常位于多个物理站点,也是私有(非 Internet)。客户站点通常由位于单个物理位置的一组路由器或其他网络设备组成。该提供商的网络跨公共互联网基础架构运行,包含为客户网络提供 VPN 服务的路由器,以及提供其他服务的路由器。提供商的网络将各种客户站点连接在客户看来,提供商是专用网络。

为了确保 VPN 与其他 VPN 及公共互联网保持私有和隔离,提供商的网络维护将不同 VPN 的路由信息保持分隔的策略。提供商可以服务多个 VPN,只要其策略保持不同 VPN 的路由单独。同样,客户站点也可以属于多个 VPN,只要它使不同 VPN 的路由保持单独。

虚拟Junos®操作系统 (Junos OS) 提供几种类型的 VPN;您可以选择最适合网络环境的解决方案以下每个 VPN 都有不同的功能,需要不同类型的配置:

2 层 VPN

在路由器上实施第 2 层 VPN 类似于使用 ATM 或帧中继等第 2 层技术实施 VPN。但是,对于路由器上的第 2 层 VPN,流量以第 2 层格式转发至路由器。它由MPLS网络传输,然后在接收站点转换为第 2 层格式。您可以在发送和接收站点配置不同的第 2 层格式。第 2 层 vpn MPLS的安全性和隐私性与 ATM 或帧中继 VPN 的安全和隐私相同。

在 2 层 VPN 上,路由发生在客户的路由器上,通常是在 客户边缘 路由器上。连接到客户边缘 2 层 VPN 的服务提供商的路由器必须选择用于发送流量的适当电路。接收流量的 PE 路由器通过服务提供商的网络将其发送到连接到接收站点的 PE 路由器。PE 路由器无需存储或处理客户的路由;它们只需配置为将数据发送到相应的隧道

对于第 2 层 VPN,客户需要配置自己的路由器来承载所有 3 层流量。服务提供商只需知道第 2 层 VPN 需要承载的信息流量。服务提供商的路由器使用第 2 层 VPN 接口在客户站点之间承载流量。VPN 拓扑由 PE 路由器上配置的策略决定。

3 层 VPN

在 3 层 VPN 中,路由发生在服务提供商的路由器上。因此,服务提供商需要 3 层 VPN 进行更多配置,因为服务提供商的 PE 路由器必须存储和处理客户的路由。

在这Junos OS,3 层 VPN 基于 RFC 4364, BGP/MPLS IP 虚拟专用网络 (VPN)。此 RFC 定义了一种机制,服务提供商可以使用其 IP 骨干网为客户提供第 3 层 VPN 服务。作为第 3 层 VPN 的站点通过提供商的现有公共互联网主干网进行连接。

基于 RFC 4364 的 VPN 也称为 BGP/MPLS VPN,因为 BGP 用于在提供商的中枢上分配 VPN 路由信息,而 MPLS 用于跨骨干网将 VPN 流量转发至远程 VPN 站点。

客户网络是私有网络,因此可使用公共地址或私有地址,如 RFC 1918"专用互联网的地址分配" 中定义。当使用专用地址的客户网络连接到公共 Internet 基础架构时,专用地址可能会与其他网络用户使用的专用地址重叠。BGP/MPLS VPN 为来自特定 VPN 站点的每个地址指定 VPN 标识符前缀,从而解决此问题,从而创建 VPN 内部和公共互联网中唯一的地址。此外,每个 VPN 都有其自己的 VPN 特定路由表,仅包含该 VPN 的路由信息。

VPLS

虚拟专用 LAN 服务 (VPLS) 允许您连接地理位置分散的客户站点,就像连接到同一 LAN 一样。从许多方面来说,它就像第 2 层 VPN 一样工作。VPLS 和 2 层 VPN 使用相同的网络拓扑和类似的功能。源自客户网络的数据包将首先发送至客户边缘设备。然后,该路由器会发送至服务提供商网络内的 PE 路由器。数据包通过一个 LSP 遍历服务提供商MPLS。它到达出口 PE 路由器,然后将流量转发客户边缘目标客户站点的路由器设备。

VPLS 的主要区别在于,数据包可以点对多点方式遍历服务提供商的网络,也就是说,源自 客户边缘 设备的数据包可以广播至 VPLS 中的 PE 路由器。相比之下,第 2 层 VPN 仅以点到点的方式转发数据包。PE 路由器从路由客户边缘接收的数据包的目标必须已知第 2 层 VPN,方能正常运行。

只有在第 3 层网络中,您才能配置虚拟专用 LAN 服务 (VPLS),以通过一个网络中枢将地理位置分散的以太网局域网 (LAN) 站点相互MPLS连接。对于实施 VPLS 的 ISP 客户,即使流量跨服务提供商的网络传输,所有站点似乎都在同一以太网 LAN 中。VPLS 旨在通过支持MPLS网络传输以太网信息流。从某种程度来说,VPLS 会模拟以太网网络的行为。配置了 VPLS 路由实例的 PE 路由器从客户边缘接收数据包时,会首先检查 VPLS 数据包目标的适当路由表。如果路由器具有目标,则转发至相应的 PE 路由器。如果没有目标,它将将数据包广播给作为同一 VPLS 路由实例成员的所有其他 PE 路由器。PE 路由器将数据包转发至其客户边缘设备。数据包客户边缘接收者的设备将转发至其最终目的地。另一客户边缘设备将其丢弃。

虚拟路由器路由实例

虚拟路由器路由实例(如 VPN 路由和转发 (VRF) 路由实例)维护每个实例的单独路由和转转发表。但是,虚拟路由器路由实例不需要 VRF 路由实例所需的许多配置步骤。具体而言,无需在 P 路由器之间配置路由区分器、路由表策略 (、 和 语句MPLS vrf-export vrf-import route-distinguisher 语句。

但是,您需要在参与虚拟路由器路由实例的每个服务提供商路由器之间配置单独的逻辑接口。您还需要在服务提供商路由器与参与每个路由实例的客户路由器之间配置单独的逻辑接口。每个虚拟路由器实例都需要自己独特的逻辑接口集来连接所有参与的路由器。

图 1显示了其工作方式。服务提供商路由器 G 和 H 配置为虚拟路由器路由实例 红色和绿色。每个服务提供商路由器都直接连接到两个本地客户路由器,每个路由实例中一个。服务提供商路由器还可通过服务提供商网络连接。这些路由器需要四个逻辑接口:每个本地连接的客户路由器的逻辑接口以及每个虚拟路由器实例在两个服务提供商路由器之间承载流量的逻辑接口。

图 1:虚拟路由器路由实例中每个路由器的逻辑接口 Logical Interface per Router in a Virtual-Router Routing Instance

第 3 层 VPN 没有此配置要求。如果在 PE 路由器上配置多个第 3 层 VPN 路由实例,所有实例都可以使用相同的逻辑接口到达另一个 PE 路由器。这是因为 3 层 VPN 使用区分MPLS不同路由实例的流量的路由 (VPN) 标签。没有MPLS VPN 标签(如虚拟路由器路由实例中)一样,您需要单独的逻辑接口来将流量从不同实例中分离。

在服务提供商路由器之间提供此逻辑接口的一种方法是在路由器之间配置隧道。您可以在服务提供商路由器之间配置 IP 安全 (IPsec)、通用路由封装 (GRE) 或 IP-IP 隧道,以终止虚拟路由器实例上的隧道。

VPN 和逻辑系统

您可以将单个物理路由器分区为多个逻辑系统,用于执行独立路由任务。由于逻辑系统在由物理路由器处理后执行一部分任务,因此逻辑系统提供了最大限度利用单个路由平台的有效方式。

逻辑系统执行物理路由器的一部分操作,并拥有自己独特的路由表、接口、策略和路由实例。单个路由器中的一组逻辑系统可处理先前由多个小型路由器执行的功能。

逻辑系统支持 2 层 VPN、3 层 VPN、VPLS 和 2 层电路。有关逻辑系统的信息,请参阅 路由器和交换机 的逻辑系统用户指南

从 Junos OS版本17.4R1,以太网 VPN (EVPN) 支持也已扩展到 MX 设备上运行的逻辑系统。EVPN 选项和性能可用,可以在 层次结构下 [edit logical-systems logical-system-name routing-instances routing-instance-name protocols evpn] 配置。

了解 3 层 VPN

虚拟专用网络 (VPN) 是一种专用网络,可使用公共网络连接两个或多个远程站点。VPN 可使用通过公共网络(通常是服务提供商网络)路由(通过隧道传输)的虚拟连接,而非网络之间的专用连接。

第 3 层 VPN 在 OSI 模型(网络层)的 3 层层级操作。第 3 层 VPN 由一组通过服务提供商的现有公共互联网骨干网连接的客户站点构成。对等模型用于连接到客户站点,服务提供商在这里学习与客户对等的客户路由。通用路由信息使用多协议跨提供商的主干BGP,并且 VPN 流量使用协议转发至MPLS。

Junos OS支持基于 RFC 4364 的 3 层 VPN。RFC 介绍使用MPLS隧道进行连接的 VPN,BGP可到达性信息,以及用于传输的 IP 中枢。服务提供商可使用其 IP 骨干网链接一组属于同一 VPN 的客户站点。

3 层 VPN 的组件

VPN 有三种主要MPLS:2 层 VPN、2 层电路和 3 层 VPN。所有类型的 vpn 都MPLS共享某些组件:

  • 客户边缘设备 — 客户现场的客户边缘 (客户边缘) 设备,可连接到提供商的网络。某些型号称为这些客户现场设备 (CPE) 设备。

  • 客户网络 - 具有客户边缘 VPN 的客户站点。

  • 提供商网络 — 运行此主干网的MPLS网络。

  • P 设备 — 提供商网络核心内的提供商 (P) 设备。提供商设备不连接到客户站点的任何设备,是两对 PE 设备之间的隧道的一部分。提供商设备在隧道支持中支持标签交换系列 (LSP) 功能,但不支持 VPN 功能。

  • PE 设备 — 服务提供商核心网络内的提供商边缘 (PE) 设备,直接客户边缘客户站点的云设备。

  • MP-BGP — PE 设备使用 MP-BGP 将客户路由分布到整个网络主干MPLS PE 设备。

3 层 VPN 术语

VPN 使用不同的术语来识别网络组件:

  • IP 路由表(也称为全局路由表)— 此表包含 VRF 中不包括的服务提供商路由。提供商设备需要此表能够相互连接,而 VRF 表需要可到达特定 VPN 上的所有客户设备。例如,将接口 A 与 客户边缘 路由器连接且接口 B 连接到中枢 P 路由器的 PE 路由器将接口 A 地址放在 VRF 中,将接口 B 地址放在全局 IP 路由表中。

  • 路由区分器 — 一个预先建立到 IP 地址的 64 位值。此唯一标记有助于识别不同客户的路由,因为数据包会通过同一服务提供商隧道。

    由于典型的传输网络配置为处理多个 VPN,因此提供商路由器可能配置了多个 VRF 实例。因此,根据信息流的来源以及应用于信息流的任何过滤规则,BGP路由表可以包含特定目标地址的多个路由。由于BGP需要将每个BGP的一个路由导入转发表中,BGP 必须能区分从不同 VPN 接收的网络层可达性信息 (NLRI) 消息。

    路由识别器是本地唯一的编号,用于识别特定 VPN 的所有路由信息。唯一数字标识符BGP可区分其他相同路由。

    在 PE 路由器上配置的每个路由实例都必须具有唯一的路由识别器。有两种可能的格式:

    • as-number:number— 其中 as-number ,是 1 到 65,535 之间的自治系统 (AS) 编号(2 字节值),也是 number 任何 4 字节值。我们建议您使用 互联网编号分配机构 (IANA) 分配的非AS编号,首选是 ISP 或AS号码。

    • ip-address:number—其中 ip-address ,是一个 IP 地址(一个 4 字节值), number 也是任何 2 字节值。IP 地址可以是任何全球唯一单播地址。我们建议您使用在路由器 id 语句中配置的地址,该地址是分配前缀范围内的公共 IP 地址。

  • 路由目标 (RT) — 一个 64 位值,用于在特殊 VRF 中识别客户路由的最终出口 PE 设备,以便允许复杂共享路由。路由目标定义 VPN 中的路由。唯一路由目标可帮助区分同一路由器上的不同 VPN 服务。每个 VPN 也有一个策略,用于定义如何将路由导入路由器的 VRF 表中。第 2 层 VPN 配置有导入和导出策略。第 3 层 VPN 使用唯一的路由目标来区分 VPN 路由。例如,RT 允许将共享服务网络中路由共享给多个客户。每个 VPN 路由都可以有一个或多个 RT。PE 设备将 RT 作为扩展BGP社区值来处理,并使用 RT 安装客户路由。

  • VPN-IPv4 路由 — 一种由 96 位序列组成的路由,包含一个预先连接到 32 位 IPv4 地址的 64 位 RD 标记。PE 设备将 IBGP 会话中的 VPN-IPv4 路由导出到其他提供商设备。这些路由使用 iBGP MPLS网络中枢进行交换。当出站 PE 设备接收路由时,它会从路由识别器上去除,并通告路由至连接的 客户边缘 设备,通常是通过标准 BGP IPv4 路由播发。

  • VRF — 虚拟路由和转发 (VRF) 表可区分不同客户的路由,以及客户路由与 PE 设备的提供商路由。这些路由可以包含重叠的专用网地址空间、客户特定的公共路由,以及 PE 设备上对于客户有用的提供商路由。

    VRF 实例由一个或多个路由表、派生转转表、使用转转表的接口以及确定进入转发表的策略和路由协议组成。由于每个实例都为特定 VPN 配置,因此每个 VPN 都有单独表、规则和策略来控制其操作。

    对于与虚拟路由器有连接的每个 VPN,会创建一客户边缘表。VRF 表已填充从与 VRF 实例客户边缘直接连接的站点接收的路由,以及从同一 VPN 中其他 PE 路由器收到的路由。

3 层 VPN 架构

第 3 层 VPN 将客户边缘路由器(客户边缘 路由器)连接到服务提供商网络边缘的路由器(PE 路由器)。第 3 层 VPN 在本地 PE 和直接连接的路由器客户边缘使用对等路由模型。也就是说,无需在提供商中枢上多跳即可将 PE 和客户边缘路由器对连接。PE 路由器根据本地和跨提供商BGP路由识别器,将路由信息客户边缘属于同一 VPN 的所有路由器。每个 VPN 都为该 VPN 提供自己的路由表,并协调该 VPN 和 PE 对等客户边缘中的路由表。路由器客户边缘 PE 路由器有不同的 VRF 表。每个 客户边缘 路由器都只有一个 VRF 表,因为其他 VPN 对 客户边缘。PE 路由器可以连接到多个 客户边缘路由器,因此 PE 路由器具有用于与 VPN 相连的每个路由器客户边缘通用 IP 路由表和 VRF 表。

图 2 显示了第 3 层 VPN 的常规架构。

图 2:通用第 3 层 VPN 架构。 General Layer 3 VPN Architecture.

PE 路由器知道用于从远程 VPN 站点到达的数据包的 VRF 表,因为每个 VRF 表都有一个或多个与命中关联的扩展社区属性。社区属性将路由识别为属于特定路由器集合。路由目标社区属性标识 PE 路由器分发路由的站点集合(更准确地说,是 VRF 表的集合)。PE 路由器使用路由目标将正确的远程 VPN 路由导入其 VRF 表中。

VPN 站点之间的 VPN 路由导入和导出并非自动。该进程由 BPG 路由策略控制。路由策略制定规则,通过服务提供商的路由MPLS交换路由信息,并且必须正确配置网络拓扑,在网络拓扑发生变化时进行维护。

PE 路由器将对等方路由器宣布客户边缘且由 PE 路由器接收的 IPv4 路由分类为 VPN-IPv4 路由。当入口 PE 路由器接收从直接连接的对等方 客户边缘 路由器播发的路由时,入口 PE 路由器根据该 VPN 的 VRF 导出策略检查收到的路由。也就是说,入口 PE 路由器决定哪些远程 PE 路由器需要知道所播发的路由。此过程分两步完成:

  • 如果既定导出策略接受路由,PE 路由器将信息转换为 VPN-IPv4 格式,方法为 IPv4 地址添加路由识别器。然后,PE 路由器向远程 PE 路由器公布 VPN-IPv4 路由。VRF 表的已配置导出目标策略确定所连接路由目标的值。IBGP 会话在服务提供商的核心网络中分配 VNP-IPv4 路由。

  • 如果建立的导出策略不接受路由,PE 路由器不会将路由导出到其他 PE 路由器,但是 PE 路由器在本地使用路由。例如,当同一 VPN 中的客户边缘台路由器直接连接到同一 PE 路由器时,一般信息流可以从一个客户边缘站点流向另一个。

当服务提供商网络另一侧出口 PE 路由器收到路由时,出口 PE 路由器根据 PE 路由器之间的 IBGP 导入策略检查路由。如果出口 PE 路由器接受路由,则出口 PE 路由器将路由添加到 bgp.l3vpn.0 路由表中。路由器还会根据 VPN 的 VRF 导入策略检查路由。如果接受路由,出口 PE 路由器将移除路由识别器,将路由放入正确的 VRF 表中。VRF 表使用路由实例名称.inet.0 命名约定,因此"VPN A" 通常将表配置为 vpna.inet.0)。

支持第 3 层 VPN 标准

Junos OS可充分支持以下 RFC,这些 RFC 定义了第 3 层虚拟专用网络 (VPN) 的标准。

  • RFC 2283, 适用于 BGP-4 的多协议扩展

  • RFC 2685, 虚拟专用网标识符

  • RFC 2858, 适用于 BGP-4 的多协议扩展

  • RFC 4364,BGP/MPLS IP 虚拟专用网 (VPN)

  • RFC 4379, 检测多协议标签交换 (MPLS) 数据平面故障

    traceroute 功能仅在传输路由器上受支持。

  • RFC 4576,使用链路状态通告 (LSA) 选项位防止在 BGP/MPLS IP 虚拟专用网 (VPN) 中出现环路

  • RFC 4577,OSPF IP 虚拟专用网 (VPN) BGP/MPLS协议提供商/客户边缘协议

  • RFC 4659,BGP-MPLS IP 虚拟专用网 (VPN) IPv6 VPN 扩展

  • RFC 4684,边界网关协议/多协议标签交换(BGP/MPLS)互联网协议 (IP) 虚拟专用网络 (VPN) 的受限路由分配

以下 RFC 不定义标准,而是提供有关第 3 层 VPN 的相关技术的信息。标准IETF将其分类为"当前最佳做法"或"信息"。

  • RFC 1918, 专用互联网的地址分配

  • RFC 2917,IP VPN MPLS核心部分

了解通过核心进行 3 层 VPN 转发

提供商核心网络中 PE 路由器是唯一配置为支持 VPN 的路由器,因此是唯一具有 VPN 相关信息的路由器。从 VPN 功能的角度来看,核心中的提供商 (P) 路由器(未直接连接到 客户边缘 路由器)仅仅是入口和出口 PE 路由器之间隧道上的路由器。

隧道可以是 LDP,也可以MPLS。通道上的任何 P 路由器都必须支持用于通道的协议(LDP 或 MPLS。

当 PE 路由器至 PE 路由器转发通过 MPLS 标签交换系列 (LSP) 建立隧道时,MPLS 数据包具有两层标签堆栈(请参阅 图 3):

  • 外部标签 — 由下一跳跃分配给BGP下一跳跃IGP标签

  • 内部标签 — 数据包BGP地址分配的下一跳跃的标签

图 3:使用 MPLS LSP 在 PE 路由器之间创建隧道 Using MPLS LSPs to Tunnel Between PE Routers

图 4 说明了如何分配和移除标签:

  1. 当 客户边缘 路由器 X 将数据包转发至目标为 客户边缘 路由器 Y 的路由器 PE1 时,PE 路由将标识路由器 Y 的下一跳跃BGP,并分配与 BGP 下一跳跃对应的标签,并标识目标 客户边缘 路由器。此标签是内部标签。

  2. 然后,路由器 PE1 IGP下一跳跃BGP路由,然后分配与下一跃点 LSP 对应的BGP标签。此标签是外部标签。

  3. 内部标签与数据包遍历 LSP 隧道时保持相同。外部标签在 LSP 上的每个跳跃进行交换,然后被倒数第二跳跃路由器(第三个 P 路由器)弹出。

  4. 路由器 PE2 从路由中弹出内部标签,将数据包转发至路由器 Y。

图 4:标签堆栈 Label Stack

了解 3 层 VPN 属性

VPN 内的路由分配通过扩展社区属性BGP控制。RFC 4364 定义 VPN 使用的以下三个属性:

  • 目标 VPN — 识别 VPN 中的一组站点,提供商边缘 (PE) 路由器可将其分配至这些站点。此特性又称为 路由目标。路由目标由出口 PE 路由器用于确定收到的路由是否发往路由器服务的 VPN。

    图 5 展示了路由目标的功能。PE 路由器 PE1 将路由目标"VPN B"添加到从 VPN B 的站点 1 上的客户边缘 (客户边缘) 路由器收到的路由。当其收到路由时,出口路由器 PE2 将检查路由目标,确定路由是面向其服务的 VPN,并接受路由。当出口路由器 PE3 接收相同路由时,它不接受路由,因为它不为 VPN B 中客户边缘路由提供服务。

  • 源 VPN — 将一组站点和相应的路由标识为来自该集中的其中一个站点。

  • 起源站点 - 唯一标识 PE 路由器从特定站点学习的路由集。通过特定 PE-客户边缘 连接从特定站点学习的路由不会通过其他 PE-客户边缘 连接分发到客户边缘。如果在 PE 和 客户边缘 路由器之间使用 BGP 作为路由协议,并且 VPN 中的不同站点被分配了相同的自治系统 (AS) 编号,则特别有用。

图 5:VPN属性和路由分配 VPN Attributes and Route Distribution

VPN 中的路由器

图 6 说明了提供商边缘 (PE) 路由器如何提供 VPN 功能;提供商和客户边缘 (客户边缘) 路由器对 VPN 没有特殊配置要求。

图 6:VPN中的路由器 Routers in a VPN

配置 3 层 VPN 简介

要配置第 3 层虚拟专用网 (VPN) 功能,必须在提供商边缘 (PE) 路由器上启用 VPN 支持。您还必须配置用于 VPN 的任何提供商 (P) 路由器,并且必须配置客户边缘 (客户边缘) 路由器,以便将其路由分发到 VPN 中。

要配置第 3 层 VPN,请添加以下语句:

您可以在以下层次结构级别中包括这些语句:

  • [edit routing-instances routing-instance-name]

  • [edit logical-systems logical-system-name routing-instances routing-instance-name]

注意:

[edit logical-systems]层次结构级别不适用于 ACX 系列路由器。

sham-linksham-link-remotevrf-advertise-selective 语句不适用于 ACX 系列路由器。

对于第 3 层 VPN,层次结构中的某些语句 [edit routing-instances] 才有效。有关完全层次结构,请参阅 Junos OS 协议库

除了这些语句之外,您还必须启用信号协议、PE 路由器之间的 IBGP 会话,以及 PE 和 P 路由器上的内部网关协议 (IGP)。

默认情况下,第 3 层 VPN 处于禁用状态。

许多第 3 层 VPN 的配置过程对于所有类型的 VPN 都常见。

版本历史记录表
释放
描述
17.4
从Junos OS版本17.4R1,以太网 VPN (EVPN) 支持也扩展到了 MX 设备上运行的逻辑系统。EVPN 选项和性能也可用,可在 [edit logical-systems logical-system-name routing-instances routing-instance-name protocols evpn] 层次结构下配置。