Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

分配 VPN 路由

本主题介绍如何配置路由器以处理策略、BGP、MPLS和策略中的路由信息。

启用 VPN 的路由信息交换

第 2 层 VPN、第 3 层 VPN、虚拟路由器路由实例、VPLS、EVPN 以及第 2 层电路可正常运行,服务提供商的 PE 和 P 路由器必须能够交换路由信息。为此,您必须在这些路由器上配置IGP路由(OSPF或 IS-IS)或静态路由。您可以在层次结构IGP路由协议进程的主实例(而非用于 VPN 的路由实例中)(即不在 层次结构级别)中配置 [edit protocols] [edit routing-instances] 组。

配置 PE 路由器时,请勿在区域边界配置 PE 路由器环路地址的任何汇总。每个 PE 路由器的环路地址应显示为单独路由。

在 VPN 中的 PE 路由器之间配置 IBGP 会话

您必须在 PE 路由器之间配置 IBGP 会话,以便 PE 路由器交换有关在 VPN 中发起和终止的路由的信息。PE 路由器依赖此信息来确定用于发往远程站点的信息流的标签。

按如下方式为 VPN 配置 IBGP 会话:

语句中的 IP local-address 地址是本地 PE 路由器上的环路接口地址。VPN 的 IBGP 会话通过环路地址运行。(您还必须在 层次结构级别配置 [edit interfaces] 环路接口。)

语句中的 IP neighbor 地址是邻接 PE 路由器的环路地址。如果您使用 RSVP 信号发送,则当配置 LSP 时,此 IP 地址与在层次结构级别的语句 to [edit mpls label-switched-path lsp-path-name] 中指定的MPLS地址。

family 语句允许您为 2 层 VPN、VPLS、EVPN 或 3 层 VPN 配置 IBGP 会话。

  • 要配置第 2 层 VPN 和 VPLS 的 IBGP 会话,请添加 层级 signaling[edit protocols bgp group group-name family l2vpn] 语句:

  • 要为 E VPN 配置 IBGP 会话,请包含 signaling 层级的 [edit protocols bgp group group-name family evpn] 语句:

  • 要为 3 层 VPN 配置 IPv4 IBGP 会话,请配置层级 unicast [edit protocols bgp group group-name family inet-vpn] 上的语句:

  • 要为 3 层 VPN 配置 IPv6 IBGP 会话,请配置层级 unicast [edit protocols bgp group group-name family inet6-vpn] 上的语句:

注意:

您可以同时配置 family inet 以及 family inet-vpn /或 family inet6 在同 family inet6-vpn 一对等组内配置。这允许您为同一对等组内的 IPv4 和 IPv4 VPN 路由或 IPv6 和 IPv6 VPN 路由启用支持。

配置 VPN 的聚合标签

VPN 的聚合标签允许瞻博网络路由平台将一组传入标签(从对等方路由器接收的标签)聚合为从一组传入标签选定的单一转发标签。单一转发标签对应于该标签集的下一跳跃。标签聚合减少了路由器必须检查的 VPN 标签数量。

一组要共享聚合转发标签的标签必须属于同一转发同等类 (FEC)。标记为 的数据包必须具有相同的目标出口接口。

community community-name 语句与 aggregate-label 语句一起用于指定公共源公共组前缀。由对等 PE 上的策略设置,这些前缀表示对等 PE 路由器上的 FEC。

谨慎:

如果目标社区被错误设置而非源社区,则可能导致在出口 PE 上转发问题。来自对等 PE 的所有前缀将显示为在同一 FEC 中,从而导致同一 VPN 中给定 PE 之后的所有 客户边缘 路由器都使用一个内部标签。

要第 3 层 VPN 网络中使用路由反射器,瞻博网络 M10i路由器仅在路由:

  • 从同一对等路由器接收

  • 拥有同一个起源社区站点

  • 具有相同的下一跳跃

下一跳跃要求很重要,因为路由反射器将源自不同路由器对等BGP的路由转发至另一BGP 对等体不更改这些路由的下一跳跃。

要配置 VPN 的聚合标签,请 包括聚合标签 语句:

有关可包含此语句的层次结构级别列表,请参阅此语句的语句摘要。

有关如何配置社区的信息,请参阅 了解BGP社区、扩展社区和大型 社区作为路由策略匹配条件

为 VPN 配置信号协议和 LSP

要运行 VPN,必须启用信号协议,包括提供商边缘 (PE) 路由器和提供商 (P) 路由器上的 LDP 或 RSVP。您还需要在入口和出口路由器之间配置标签交换系列 (LSP)。在典型的 VPN 配置中,您需要将每个 PE 路由器的 LSP 配置为以全网状方式加入 VPN 的所有其他 PE 路由器。

注意:

与涉及 MPLS 的配置一样,您无法在密集快速以太网PC 上的 PE 路由器上配置任何面向核心的接口。

要启用信号协议,请执行以下部分中的步骤:

将 LDP 用于 VPN 信令

要使用 LDP 进行 VPN 信号发送,请对 PE 和提供商 (P) 路由器执行以下步骤:

  1. 在 层次结构级别包含 语句,在服务提供商网络核心的接口上配置 ldp [edit protocols] LDP。

    只需在 PE 路由器之间的接口或 PE 和 P 路由器之间配置 LDP。您可以将这些接口视为"面向核心"的接口。无需在 PE 与客户边缘 (客户边缘) 路由器之间的接口上配置 LDP。

  2. 在 层次结构级别MPLS 语句,在启用 LDP 的接口(在步骤 1中配置的接口)上配置地址族 family mpls [edit interfaces type-fpc/pic/port unit logical-unit-number]

  3. 在每个 PE OSPF P IS-IS上配置路由器或交换机。

    您可以在路由协议的主实例上配置这些协议,而不是在用于 VPN 的路由实例中配置这些协议。

    • 要配置 OSPF,请包含 ospf 层级的 [edit protocols] 语句。至少必须在路由器的一个接口上配置中枢区域。

    • 要配置IS-IS,请包含 层级的 语句,在 层次结构级别配置环路接口和国际标准组织 isis [edit protocols] (ISO) [edit interfaces] 家族。至少必须在路由器上启用 IS-IS,在路由器的其中一个接口上配置网络实体名称 (NET)(首选是环路接口和 lo0),以及在所有要运行 IS-IS 的接口上配置 ISO 系列。启用 IS-IS时,默认情况下启用级别 1 和级别 2。以下是最低配置IS-IS。在 address 语句中 address ,是 NET。

使用 RSVP 进行 VPN 信令

要使用 RSVP 进行 VPN 信号发送,请执行以下步骤:

  1. 在每个 PE 路由器上配置信息流工程。

    为此,您必须配置支持信息流工程(IS-IS 或 OSPF)的内部网关协议 (IGP),并为此协议启用流量工程支持。

    要启用OSPF信息流工程支持,请包含 traffic-engineering 层级的 [edit protocols ospf] 语句:

    对于IS-IS,默认情况下会启用信息流工程支持。

  2. 在每个 PE 和 P 路由器上,在加入标签交换系列 (LSP) 的接口上启用 RSVP。

    在 PE 路由器上,这些接口是到 LSP 的入口和出口点。在 P 路由器上,这些接口在 PE 路由器之间连接 LSP。请勿在 PE 与 客户边缘 之间的接口上启用 RSVP,因为该接口不是 LSP 的一部分。

    要配置 PE 和 P 路由器上的 RSVP,请包含 interface 层级的 [edit protocols rsvp] 语句。为启用 RSVP 的每个接口均包含 interface 一个语句。

  3. 在每个 PE 路由器上,将MPLS LSP 配置到作为 LSP 出口点的 PE 路由器。

    为此,在 层次结构 interface label-switched-path 级别中包括 和 [edit protocols mpls] 语句:

    to 语句中,指定 LSP 出口点的地址,这是远程 PE 路由器上的地址。

    interface 语句中,指定接口的名称(物理部分和逻辑部分)。为 interface 与 LSP 关联的接口包含一个语句。

    在 层次结构级别配置相同接口的逻辑部分时,还必须 [edit interfaces] 配置 family inetfamily mpls 语句:

  4. 在参与 LSP 的所有 P 路由器上,MPLS语句来 interface [edit mpls] 启用配置。

    interface LSP 的每个连接包含一个语句。

  5. 在MPLS级别包含 语句,客户边缘路由器之间的接口 interface 上启用 [edit mpls] 配置。

    这样,PE 路由器可以将一个MPLS分配给进入 LSP 的信息流,或者从退出 LSP 的信息流中移除标签。

    有关配置路由器MPLS,请参阅 为信号 LSP MPLS 入口路由器

为 VPN 中的 PE 路由器上的 VRF 表配置策略

在每个 PE 路由器上,必须定义如何从路由器的 VRF 表中导入和导出路由的策略。在这些策略中,您必须定义路由目标,并可以选择定义路由源。

要配置 VRF 表的策略,请执行以下各节中的步骤:

配置路由目标

作为 VPN 路由表策略配置的一部分,您必须定义路由目标,用于定义路由属于哪个 VPN。在同一 PE 路由器上配置不同类型的 VPN 服务(第 2 层 VPN、3 层 VPN、EVPN 或 VPLS)时,请确保分配唯一路由目标值,以防向错误的 VPN 路由表添加路由和信令信息。

要配置路由目标,在 target 语句中包括 community 选项:

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

  • [edit policy-options]

  • [edit logical-systems logical-system-name policy-options]

name 是社区的名称。

community-id 是社区的标识。以下列格式之一指定:

  • as-numbernumber 其中 as-number 是一AS数(2 字节值), number 也是一个 4 字节社区值。AS编号的范围为 1 到 65,535。我们建议您使用IANA分配的、非AS编号,首选是 ISP 自己或客户自己的AS编号。社区值可以是 0 到 4,294,967,295(232 – 1)的一个数字。

  • ip-addressnumber:, ip-address 是一个 IPv4 地址(一个 4 字节值), number 也是一个 2 字节社区值。IP 地址可以是任何全球唯一单播地址。我们建议您使用在 语句中配置的地址,这是分配前缀范围内非 router-id 特定地址。社区值可以是 1 到 65,535 范围内编号。

配置路由源

在 PE 路由器 VRF 表的导入和导出策略中,您可以使用应用于发送至其他 PE 路由器的多协议外部 BGP (MP-EBGP) VPN IPv4 路由更新的 VRF 导出策略,可选分配 PE 路由器的 VRF 路由的路由源(也称为起源站点)。

与接收 PE 的 VRF 导入策略中分配的路由源属性匹配有助于确保通过一个 PE 的 MP-EBGP 更新学到的 VPN-IPv4 路由不会从连接到相同站点的不同 PE 重新导入同一 VPN 站点。

要配置路由源,请完成以下步骤:

  1. community 语句与 origin 选项包括:

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

    • [edit policy-options]

    • [edit logical-systems logical-system-name policy-options]

    name 是社区的名称。

    community-id 是社区的标识。以下列格式之一指定:

    • as-numbernumber 其中 as-number 是一AS数(2 字节值), number 也是一个 4 字节社区值。序列号AS范围为 1 到 65,535。我们建议您使用IANA分配的、非AS编号,首选是 ISP 自己或客户自己的AS编号。社区值可以是 0 到 4,294,967,295(232 – 1)的一个数字。

    • ip-addressnumber:, ip-address 是一个 IPv4 地址(一个 4 字节值), number 也是一个 2 字节社区值。IP 地址可以是任何全球唯一单播地址。我们建议您使用在 语句中配置的地址,这是分配前缀范围内非 router-id 特定地址。社区值可以是 1 到 65,535 范围内编号。

  2. 使用在层次结构级别的步骤 1 中定义的标识符配置语句,将社区包括在 PE 路由器 VRF 表的导入策略 community community-id [edit policy-options policy-statement import-policy-name term import-term-name from] 中。请参阅为 PE 路由器的 VRF 表配置导入策略

    如果策略 的 语句未指定社区条件,则将无法提交应用策略的 from vrf-import 语句。Junos OS提交操作不会通过验证检查。

  3. 使用在层次结构级别的步骤 1 中定义的标识符配置语句,将社区包括在 PE 路由器 VRF 表的导出策略 community community-id [edit policy-options policy-statement export-policy-name term export-term-name then] 中。请参阅为 PE 路由器的 VRF 表配置导出策略

有关 配置示例, 请参阅 配置 VPN 的路由源 。

为 PE 路由器的 VRF 表配置导入策略

每个 VPN 都有一个策略,用于定义如何将路由导入 PE 路由器的 VRF 表中。导入策略将应用于从 VPN 中其他 PE 路由器收到的路由。策略必须评估通过 IBGP 会话与对等 PE 路由器接收的所有路由。如果路由符合条件,则路由安装在 PE 路由器 routing-instance-name.inet.0 的 VRF 表中。导入策略必须包含拒绝所有其他路由的第二个术语。

除非导入策略仅包含 then reject 一个语句,否则它必须包含对社区的参考。否则,当您尝试提交配置时,提交失败。您可以配置多个导入策略。

导入策略根据通过 IBGP 从远程 PE 路由器学习的 VPN 路由确定要导入指定 VRF 表什么。IBGP 会话在 层次结构 [edit protocols bgp] 级别中配置。如果还会在 层次结构级别配置导入策略,则层次结构级别和层次结构级别的导入策略通过逻辑 [edit protocols bgp] [edit policy-options] AND [edit protocols bgp] 操作结合使用。这样,您即能将流量作为一组进行过滤。

要配置 PE 路由器 VRF 表的导入策略,请执行以下步骤:

  1. 要定义导入策略,请包含 policy-statement 语句。对于所有 PE 路由器,导入策略必须始终包含 policy-statement 语句,至少:

    您可以在以下 policy-statement 层次结构级别中包括 语句:

    • [edit policy-options]

    • [edit logical-systems logical-system-name policy-options]

    import-policy-name 策略评估通过 IBGP 会话与其他 PE 路由器接收的所有路由。如果路由与 语句中的条件匹配,则路由安装在 from PE 路由器 routing-instance-name 的 .inet.0 VRF 表中。策略中的第二个术语拒绝所有其他路由。

    有关创建策略的信息,请参阅 路由策略、防火墙过滤器和流量管制器用户指南

  2. 您可以选择使用正则表达式来定义一组用于 VRF 导入策略的社区。

    例如,您可以使用 层级的 语句 community 配置 [edit policy-options policy-statement policy-statement-name] 以下内容:

    请注意,不能将正则表达式配置为路由目标扩展社区的一部分。有关如何配置社区正则表达式的信息,请参阅 了解如何定义BGP 社区和扩展社区

  3. 要配置导入策略,请包含 vrf-import 语句:

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

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

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

为 PE 路由器的 VRF 表配置导出策略

每个 VPN 都有一个策略,用于定义如何从 PE 路由器的 VRF 表中导出路由。导出策略将应用于发送至 VPN 中其他 PE 路由器的路由。导出策略必须评估通过路由协议会话与路由器接收客户边缘路由。(此会话可使用BGP路由OSPF或路由信息协议 [RIP] 路由协议或静态路由。)如果路由符合条件,将添加到指定的社区目标(即路由目标)并导出到远程 PE 路由器。导出策略必须包含拒绝所有其他路由的第二个术语。

在 VPN 路由实例内定义的导出策略是应用于 VRF 表的唯一导出策略。在 PE 路由器之间的 IBGP 会话中定义的任何导出策略对 VRF 表没有影响。您可以配置多个导出策略。

要配置 PE 路由器 VRF 表的导出策略,请执行以下步骤:

  1. 对于所有 PE 路由器,导出策略必须将 VPN 路由分发到已连接的 客户边缘 路由器,以及根据在路由实例中的 客户边缘 和 PE 路由器之间配置的路由协议类型。

    要定义导出策略,请包含 policy-statement 语句。导出策略至少必须始终包含 语句 policy-statement

    注意:

    配置语句是 2 层 community add VPN VRF 导出策略的要求。如果将 语句更改为 语句,位于第 2 层 VPN 链路出口的路由器可能会 community add community set 丢弃连接。

    注意:

    配置在源特定模式下运行并使用该语句来指定导出策略的 draft-rosen 组播 VPN 时,策略必须有一个术语接受 vrf-export vrf-name.mdt.0 路由表中的路由。此术语可确保使用地址族正确自动 inet-mdt 发现 PE。

    配置在源特定模式下运行并使用该语句的 draft-rosen 组播 VPN 时,会自动生成 VRF 导出策略,并自动从 vrf-target vrf-name.mdt.0 路由表中接受路由。

    您可以在以下 policy-statement 层次结构级别中包括 语句:

    • [edit policy-options]

    • [edit logical-systems logical-system-name policy-options]

    export-policy-name 策略评估通过与路由器的路由协议会话接收客户边缘路由。(此会话可使用BGP、OSPF RIP 路由协议或静态路由。)如果路由与语句中的条件匹配,则语句中指定的社区目标将添加到其中,并导出到 from then community add 远程 PE 路由器。策略中的第二个术语拒绝所有其他路由。

    有关创建策略的信息,请参阅 路由策略、防火墙过滤器和流量管制器用户指南

  2. 要应用策略,请包含 vrf-export 以下语句:

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

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

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

同时应用 VRF 导出和BGP导出策略

当您应用为 PE 路由器 的 VRF表配置导出策略 中所述的 VRF 导出策略时,来自 VPN 路由实例的路由将依据此策略播发至其他 PE 路由器,而 BGP 导出策略将被忽略。

如果在 BGP 配置中包括 语句,则 VRF 导出和 BGP 组或邻接导出策略(先 VRF,然后是 BGP)将路由通告至其他 PE 路由器之前。 vpn-apply-export

注意:

当 PE 设备也充当运营商间或 AS 间 VPN 中的路由反射器 (RR) 或自治系统边界路由器 (ASBR) 时,vrf-export 策略中的下一跳跃操纵将被忽略。

当包含 vpn-apply-export 语句时,请注意以下事项:

  • 导入 bgp.l3vpn.0 路由表中的路由会保留原始路由的属性(例如,OSPF 路由即使存储在 bgp.l3vpn.0 路由表中,也仍然是 OSPF 路由)。为 IBGP PE 路由器与 PE 路由器、路由反射器与 PE 路由器或 AS 边界路由器 (ASBR) 对等方路由器之间的连接配置导出策略时,应了解这一点。

  • 默认情况下,bgp.l3vpn.0 路由表中的所有路由都导出到 IBGP 对等方。如果导出策略的最后一个语句是拒绝全部,并且导出策略在 bgp.l3vpn.0 路由表中的路由上没有特别匹配,则不导出任何路由。

要同时将 VRF 导出和BGP导出策略应用于 VPN 路由,请包括 vpn-apply-export 语句:

有关可包含此语句的层次结构级别列表,请参阅此语句的语句汇总部分。

配置 VRF 目标

将语句包括在 VRF 目标社区的配置中会导致生成默认 VRF 导入和导出策略,接受并标记具有指定目标社区的 vrf-target 路由。您仍然可以通过显式配置 VRF 导入和导出策略来创建更复杂的策略。这些策略将替代配置 语句时生成 vrf-target 的默认策略。

如果不配置 语句的 和 选项,则指定的 import export vrf-target 社区字符串会朝两个方向应用。 importexport 关键字为您提供更多灵活性,允许您为每个方向指定不同的社区。

VRF 目标社区的语法不是名称。必须采用 格式指定 target:x:y 。无法指定社区名称,因为这也需要您使用 语句配置该社区的社区 policy-options 成员。如果定义 语句,则通常只需配置 policy-options VRF 导入和导出策略。该语句的目的是通过允许您在 层次结构 vrf-target 级别配置大多数语句来 [edit routing-instances] 简化配置。

要配置 VRF 目标,请包含 vrf-target 语句:

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

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

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

如何配置语句的示例 vrf-target 如下:

要使用 vrf-target 和 选项配置 语句 export import ,请包含以下语句:

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

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

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

配置 VPN 的路由源

您可以使用路由源来防止从一个客户边缘 (客户边缘) 路由器(标记为源社区)的路由被发回至同一客户边缘路由器AS。

示例中,路由源用于防止从 客户边缘 路由器 A 中学习的以源社区标记的路由在 200客户边缘 200客户边缘路由器 AS E。示例拓扑如 图 1 所示

图 1:起源网络拓扑示例 Network Topology of Site of Origin Example

在此拓扑中,客户边缘路由器 A 和 客户边缘 E 在同一AS (AS200)。它们使用 EBGP 与相应的提供商边缘 (PE) 路由器、PE 路由器 B 和 PE 路由器 D 交换路由。两个客户边缘路由器具有后连接。

以下部分介绍如何配置一组 VPN 的路由源:

在路由器 A 上配置客户边缘社区站点

下面一节介绍如何配置客户边缘 A 以将具有源社区站点的路由播发至 PE 路由器 B。此示例。

注意:

此示例将配置直接路由播发,但可以配置任何路由。

配置策略以在路由器 A 上客户边缘 my-soo 社区通告路由,如下所示:

在路由器 A 客户边缘社区

my-soo 如下方式客户边缘路由器 A 上的社区:

在路由器 A 上客户边缘策略语句

将导出到 my-isp 策略语句作为导出策略应用于路由器 A 上的 EBGP 对等客户边缘,如下所示:

发出 命令 show route receive-protocol bgp detail 时,应该可以看到以下路由源自具有社区的 PE 路由器 my-soo B:

在 PE 路由器 D 上配置策略

在 PE 路由器 D 上配置策略,防止带有 客户边缘 路由器 A 标记的路由通告 my-soo 客户边缘路由器 E,如下所示:

在 PE 路由器 D 上配置社区

按如下方式配置 PE 路由器 D 上的社区:

在 PE 路由器 D 上应用策略

为了防止从 客户边缘 路由器 A 学到的路由通告给 客户边缘 路由器 E(两台路由器可以直接通信这些路由),请将策略语句作为导出策略应用于 PE 路由器 D 和 soo-ce1-policy 客户边缘 路由器 EBGP 会话 vpn_blue

使用 命令查看 PE 路由器 D 上的 EBGP show routing-instances 会话。

soo-ce1-policy 策略语句作为导出策略应用于 PE 路由器 D 和 客户边缘 路由器 EBGP 会话 vpn_blue ,如下所示: