示例:配置基于 MPLS 的基本第 3 层 VPN
此示例说明如何在运行 Junos OS 的路由器或交换机上配置和验证基于 MPLS 的基本第 3 层 VPN。基于 IPv4 的示例使用 EBGP 作为提供商与客户边缘设备之间的路由协议。
我们的内容测试团队已经验证并更新了此示例。
您可以使用运行 Junos OS 的路由器和交换机部署基于 MPLS 的 3 层虚拟专用网络 (VPN),以便将客户站点与第 3 层连接互连。虽然支持静态路由,但第 3 层 VPN 通常让客户设备与提供商网络交换路由信息,并且需要 IP 协议(即 IPv4 和/或 IPv6)的支持。
这与第 2 层 VPN 形成鲜明对比,在第 2 层 VPN 中,客户设备可能无法基于 IP 协议,并且在客户边缘 (CE) 设备之间发生路由(如果有)。与第 3 层 VPN 不同,CE 设备与提供商边缘设备交互(对等方),在第 2 层 VPN 中,客户流量通过提供商核心透明地传递,而任何路由协议在 CE 设备之间运行端到端。
基于 MPLS 的 VPN 需要提供商网络中的基准 MPLS 功能。一旦基本 MPLS 运行,您就能够配置使用标签交换系列 (LSP) 在提供商核心上传输的 VPN。
增加 VPN 服务不会影响提供商网络中的基本 MPLS 交换操作。事实上,提供商 (P) 设备仅需要基准 MPLS 配置,因为它们不了解 VPN。VPN 状态仅在提供商边缘 (PE) 设备上维护。这也是基于 MPLS 的 VPN 如此大规模的关键原因。
要求
此示例使用以下软件和硬件组件:
用于路由和交换设备的 Junos OS 12.3 或更高版本
在 Junos OS 20.3R1 版上重新验证
两个提供商边缘 (PE) 设备
一个提供商 (P) 设备
两台客户边缘 (CE) 设备
该示例侧重于如何将第 3 层 VPN 添加到预先存在的 MPLS 基准。如果网络尚未部署 MPLS,将提供基本 MPLS 配置。
要支持基于 MPLS 的 VPN,底层 MPLS 基准必须提供以下功能:
具有 MPLS 系列支持的面向核心的回传接口
一种内部网关协议,如 OSPF 或 IS-IS,用于在提供商(P 和 PE) 设备的环路地址之间提供可访问性
MPLS 信号协议,如 LDP 或 RSVP,用于信号 LSP
在 PE 设备环路地址之间建立的 LSP
参与给定 VPN 的每对 PE 设备之间都需要 LSP。最好在所有 PE 设备之间构建 LSP,以适应未来的 VPN 增长。您可在 [edit protocols mpls]
层级配置 LSP。与电路交叉连接 (CCC) 连接的 MPLS 配置不同,您无需手动将 LSP 与 PE 设备面向客户的(边缘)接口相关联。相反,第 3 层 VPN 使用 BGP 信号来通告站点可访问性。此 BGP 信号可自动将远程 VPN 站点映射到下一跳跃的 LSP 转发。这意味着不需要将 LSP 的第 3 层 VPN 显式映射映射到 PE 设备面向边缘的接口。
概述和拓扑
第 3 层 VPN 允许客户利用服务提供商的技术专业知识来确保高效的站点到站点路由。客户边缘 (CE) 设备通常使用路由协议(如 BGP 或 OSPF)与服务提供商边缘 (PE) 设备交换路由。静态路由受第 3 层 VPN 支持,但通常首选动态路由协议。
VPN 的定义仅涉及对本地和远程 PE 设备的更改。提供商设备无需额外配置(假设它们已具有工作 MPLS 基准),因为这些设备仅提供基本的 MPLS 交换功能。CE 设备不使用 MPLS,仅需要基本接口和路由协议配置,以便与 PE 设备交互。
在第 3 层 VPN 中,您可将 CE 设备配置为与本地 PE 设备对等。这与第 2 层 VPN 形成鲜明对比。尽管 CE 设备通过基于 MPLS 的提供商核心连接,但却彼此对等,就像它们位于共享链路上一样。
一旦建立了 MPLS 基准,您必须在 PE 设备上配置以下功能,以便建立基于 MPLS 的第 3 层 VPN:
支持 BGP 组
family inet-vpn unicast
具有实例类型
vrf
和与所连接 CE 设备兼容的路由协议定义的路由实例配置了 PE 设备上面向客户的接口,
family inet
以及将接口与所连接的 CE 设备放在同一子网上的 IPv4 地址。如果还可配置所需的 VLAN 封装和相应的 VLAN ID。
要实现正确的端到端连接,CE 设备需要配置兼容的 IP 子网和路由协议参数,以支持与 PE 设备对等。
图 1 显示了此示例中使用的拓扑。该图详细介绍了提供商和客户网络中使用的接口名称、IP 寻址和路由协议。它还突出了 CE 和 PE 设备之间的对等关系。在此示例中,您希望每个 CE 设备都形成一个与本地 PE 设备的 EBGP 对 等会话 。请注意,提供商网络和两个客户站点都有一个分配的自治系统编号来支持 BGP 操作。在此示例中,CE 设备应用路由策略,让他们为其面向和回传接口的提供商通告直接路由。
快速配置
使用本节中的配置快速启动和运行基于 MPLS 的第 3 层 VPN。这些配置包括一个功能齐全的 MPLS 基准,可支持您的第 3 层 VPN。此示例侧重于配置的 VPN 方面。有关此示例中所用基准 MPLS 功能的附加信息,请参阅以下链接:
CLI 快速配置
设备配置省略管理接口、静态路由、系统日志、系统服务和用户登录信息。这些配置部分因位置而异,与 MPLS 或 VPN 功能没有直接关系。
根据环境细节需要编辑以下命令,并在层级配置模式 [edit]
下将其粘贴到本地 CE (CE1) 设备终端窗口:
CE1 设备的完整配置。
set system host-name ce1 set interfaces xe-0/0/0:0 description "Link from CE1 to PE1 for L3vpn" set interfaces xe-0/0/0:0 unit 0 family inet address 172.16.1.1/30 set interfaces lo0 unit 0 family inet address 172.16.255.1/32 set routing-options router-id 172.16.255.1 set routing-options autonomous-system 65410 set protocols bgp group PE1 type external set protocols bgp group PE1 export adv_direct set protocols bgp group PE1 peer-as 65412 set protocols bgp group PE1 neighbor 172.16.1.2 set policy-options policy-statement adv_direct term 1 from protocol direct set policy-options policy-statement adv_direct term 1 from route-filter 172.16.0.0/16 orlonger set policy-options policy-statement adv_direct term 1 then accept
PE1 设备的完整配置。
set system host-name pe1 set interfaces xe-0/0/0:0 description "Link from PE1 to CE1 for L3vpn" set interfaces xe-0/0/0:0 unit 0 family inet address 172.16.1.2/30 set interfaces xe-0/0/0:1 description "Link from PE1 to p-router" set interfaces xe-0/0/0:1 mtu 4000 set interfaces xe-0/0/0:1 unit 0 family inet address 10.1.23.1/24 set interfaces xe-0/0/0:1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 192.168.0.1/32 set routing-instances CE1_L3vpn protocols bgp group CE1 type external set routing-instances CE1_L3vpn protocols bgp group CE1 peer-as 65410 set routing-instances CE1_L3vpn protocols bgp group CE1 neighbor 172.16.1.1 set routing-instances CE1_L3vpn instance-type vrf set routing-instances CE1_L3vpn interface xe-0/0/0:0.0 set routing-instances CE1_L3vpn route-distinguisher 192.168.0.1:12 set routing-instances CE1_L3vpn vrf-target target:65412:12 set routing-options router-id 192.168.0.1 set routing-options autonomous-system 65412 set protocols bgp group ibgp type internal set protocols bgp group ibgp local-address 192.168.0.1 set protocols bgp group ibgp family inet-vpn unicast set protocols bgp group ibgp neighbor 192.168.0.3 set protocols mpls label-switched-path lsp_to_pe2 to 192.168.0.3 set protocols mpls interface xe-0/0/0:1.0 set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface xe-0/0/0:1.0 set protocols rsvp interface lo0.0 set protocols rsvp interface xe-0/0/0:1.0
P 设备的完整配置。
set system host-name p set interfaces xe-0/0/0:0 description "Link from p-router to PE1" set interfaces xe-0/0/0:0 mtu 4000 set interfaces xe-0/0/0:0 unit 0 family inet address 10.1.23.2/24 set interfaces xe-0/0/0:0 unit 0 family mpls set interfaces xe-0/0/0:1 description "Link from p-router to PE2" set interfaces xe-0/0/0:1 mtu 4000 set interfaces xe-0/0/0:1 unit 0 family inet address 10.1.34.1/24 set interfaces xe-0/0/0:1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 192.168.0.2/32 set protocols mpls interface xe-0/0/0:0.0 set protocols mpls interface xe-0/0/0:1.0 set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface xe-0/0/0:0.0 set protocols ospf area 0.0.0.0 interface xe-0/0/0:1.0 set protocols rsvp interface lo0.0 set protocols rsvp interface xe-0/0/0:0.0 set protocols rsvp interface xe-0/0/0:1.0
PE2 设备的完整配置。
set system host-name pe2 set interfaces xe-0/0/0:1 description "Link from PE2 to CE2 for L3vpn" set interfaces xe-0/0/0:1 unit 0 family inet address 172.16.2.2/30 set interfaces xe-0/0/0:0 description "Link from PE2 to p-router" set interfaces xe-0/0/0:0 mtu 4000 set interfaces xe-0/0/0:0 unit 0 family inet address 10.1.34.2/24 set interfaces xe-0/0/0:0 unit 0 family mpls set interfaces lo0 unit 0 family inet address 192.168.0.3/32 set routing-instances CE2_L3vpn protocols bgp group CE2 type external set routing-instances CE2_L3vpn protocols bgp group CE2 peer-as 65420 set routing-instances CE2_L3vpn protocols bgp group CE2 neighbor 172.16.2.1 set routing-instances CE2_L3vpn instance-type vrf set routing-instances CE2_L3vpn interface xe-0/0/0:1.0 set routing-instances CE2_L3vpn route-distinguisher 192.168.0.3:12 set routing-instances CE2_L3vpn vrf-target target:65412:12 set routing-options router-id 192.168.0.3 set routing-options autonomous-system 65412 set protocols bgp group ibgp type internal set protocols bgp group ibgp local-address 192.168.0.3 set protocols bgp group ibgp family inet-vpn unicast set protocols bgp group ibgp neighbor 192.168.0.1 set protocols mpls label-switched-path lsp_to_pe1 to 192.168.0.1 set protocols mpls interface xe-0/0/0:0.0 set protocols ospf traffic-engineering set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ospf area 0.0.0.0 interface xe-0/0/0:0.0 set protocols rsvp interface lo0.0 set protocols rsvp interface xe-0/0/0:0.0
CE2 设备的完整配置。
set system host-name ce2 set interfaces xe-0/0/0:0 description "Link from CE2 to PE2 for L3vpn" set interfaces xe-0/0/0:0 unit 0 family inet address 172.16.2.1/30 set interfaces lo0 unit 0 family inet address 172.16.255.2/32 set routing-options router-id 172.16.255.2 set routing-options autonomous-system 65420 set protocols bgp group PE2 type external set protocols bgp group PE2 export adv_direct set protocols bgp group PE2 peer-as 65412 set protocols bgp group PE2 neighbor 172.16.2.2 set policy-options policy-statement adv_direct term 1 from protocol direct set policy-options policy-statement adv_direct term 1 from route-filter 172.16.0.0/16 orlonger set policy-options policy-statement adv_direct term 1 then accept
对您的工作感到满意时,请务必在所有设备上提交配置更改。恭喜您的全新基于 MPLS 的 3 层 VPN!有关确认第 3 层 VPN 可根据预期工作所需的步骤,请参阅 验证 部分。
为基于 MPLS 的第 3 层 VPN 配置本地 PE (PE1) 设备
本节讲解为此示例配置 PE1 设备所需的步骤。之所以关注 PE 设备,是因为 VPN 配置就位于此处。请参阅此示例中使用的 CE 设备和 P 设备配置的 快速配置 部分。
配置 MPLS 基准(如有必要)
配置第 3 层 VPN 之前,请确保 PE 设备具有有效的 MPLS 基准。如果您已有 MPLS 基准,则可以跳至将第 3 层 VPN 添加至 PE 设备的逐步过程。
配置主机名。
[edit] user@pe1# set system host-name pe1
配置核心和回传接口:
[edit] user@pe1# set interfaces xe-0/0/0:1 description "Link from PE1 to P-router" [edit] user@pe1# set interfaces xe-0/0/0:1 mtu 4000 [edit] user@pe1# set interfaces xe-0/0/0:1 unit 0 family inet address 10.1.23.1/24 [edit] user@pe1# set interfaces xe-0/0/0:1 unit 0 family mpls [edit] user@pe1# set interfaces lo0 unit 0 family inet address 192.168.0.1/32
优秀实践:虽然第 3 层 VPN 可以在入口 PE 上执行分片,但这是设计网络的最佳实践,因此 CE 可以发送最大尺寸的帧,而无需分段。为确保不发生分片,提供商网络应支持 CE 设备在 PE 设备添加 MPLS 和虚拟路由和转发 (VRF) 标签 后 可以生成的最大帧。此示例使 CE 设备处于默认 1500 字节的最大传输单元 (MTU),同时将提供商核心配置为支持 4000 字节 MTU。这样,即使带有 MPLS 和 VRF 封装开销,CE 设备也不能超过提供商网络中的 MTU。
配置协议:
注意:RSVP 信号 LSP 支持流量工程,但基本 MPLS 交换或 VPN 部署不需要。提供的 MPLS 基准使用 RSVP 来信号 LSP,并为 OSPF 启用流量工程。但是,未配置路径约束,因此您期望 LSP 通过内部网关协议最短路径进行路由。
[edit] user@pe1# set protocols ospf area 0.0.0.0 interface lo0.0 passive [edit] user@pe1# set protocols ospf area 0.0.0.0 interface xe-0/0/0:1.0 [edit] user@pe1# set protocols ospf traffic-engineering [edit] user@pe1# set protocols mpls interface xe-0/0/0:1.0 [edit] user@pe1# set protocols rsvp interface lo0.0 [edit] user@pe1# set protocols rsvp interface xe-0/0/0:1.0
将 LSP 定义到远程 PE 设备的环路地址:
[edit] user@pe1# set protocols mpls label-switched-path lsp_to_pe2 to 192.168.0.3
MPLS 基准现已在 PE1 设备上配置。继续配置第 3 层 VPN。
程序
逐步过程
按照这些步骤为第 3 层 VPN 配置 PE1 设备。
配置面向客户的接口:
提示:您可以在同一 PE 设备上配置基于 MPLS 的第 2 层 VPN 和基于 MPLS 的第 3 层 VPN。但是,您无法配置相同的面向客户边缘的接口,以支持第 2 层 VPN 和第 3 层 VPN。
[edit interfaces] user@pe1# set xe-0/0/0:0 description "Link from PE1 to CE1 for L3vpn" [edit] user@pe1# set xe-0/0/0:0 unit 0 family inet address 172.16.1.2/30
为本地和远程 PE 设备之间的对等互连配置 BGP 组。将 PE 设备的环路地址用作本地地址,使
inet-vpn unicast
地址族支持第 3 层 VPN 路由交换。此示例中的 PE 设备上不需要 BGP 的路由策略。默认情况下,PE 设备会重新转换为 IBGP 通过与 CE 设备对等的 EBGP 学习的路由。[edit protocols bgp] user@pe1# set group ibgp local-address 192.168.0.1 [edit protocols bgp] user@pe1# set group ibgp family inet-vpn unicast
提示:如果 PE 到 PE IBGP 会话需要支持非 VPN 路由交换(例如分别使用
inet
或inet6
族的常规 IPv4 或 IPv6 路由),您可以指定其他地址族。将 BGP 组类型配置为内部。
[edit protocols bgp] user@pe1# set group ibgp type internal
将远程 PE 设备的环路地址配置为 BGP 邻接方。
[edit protocols bgp] user@pe1# set group ibgp neighbor 192.168.0.3
配置路由器 ID 以匹配其环路地址,并定义 BGP 对等互连所需的 BGP 自治系统编号。
[edit routing-options] user@pe1# set router-id 192.168.0.1 [edit routing-options] user@pe1# set autonomous-system 65412
配置路由实例。指定的实例名称CE1_L3vpn,并配置
instance-type
。vrf
[edit routing-instances] user@pe1# set CE1_L3vpn instance-type vrf
将 PE 设备面向客户的接口配置为属于路由实例。
[edit routing-instances] user@pe1# set CE1_L3vpn interface xe-0/0/0:0.0
配置路由实例的路由区分器。此设置用于区分从特定 PE 设备上的特定 VRF 发送的路由。对于每个 PE 设备上的每个路由实例,它都应该是唯一的。
[edit routing-instances] user@pe1# set CE1_L3vpn route-distinguisher 192.168.0.1:12
配置实例的虚拟路由和转发 (VRF) 表路由目标。语
vrf-target
句会将指定的公共组标记添加至所有播发的路由,同时自动匹配路由导入的相同值。需要在共享给定 VPN 的 PE 设备上配置匹配路由目标,以便进行适当的路由交换。[edit routing-instances] user@pe1# set CE1_L3vpn vrf-target target:65142:12
配置路由实例以支持与 CE1 设备对等 EBGP。使用与 VRF 链路 CE1 端对等的直接接口,并且使用参数正确指定
peer-as
CE1 的自治系统编号。[edit routing-instances] user@pe1# set CE1_L3vpn protocols bgp group CE1 type external [edit routing-instances] user@pe1# set CE1_L3vpn protocols bgp group CE1 peer-as 65410 [edit routing-instances] user@pe1# set CE1_L3vpn protocols bgp group CE1 neighbor 172.16.1.1
在 PE1 设备上提交更改并返回到 CLI 操作模式。
[edit] user@pe1# commit and-quit
结果
显示 PE1 设备上的配置结果。输出仅反映此示例中添加的功能配置。
user@pe1> show configuration
interfaces { xe-0/0/0:0 { description "Link from PE1 to CE1 for L3vpn"; unit 0 { family inet { } } unit 0 { family inet { address 10.1.23.1/24; } family mpls; } ge-0/0/1 { description "Link from PE1 to P-router"; mtu 4000; unit 0 { family inet { address 10.1.23.1/24; } family mpls; } } lo0 { unit 0 { family inet { address 192.168.0.1/32; } } } } routing-instances { CE1_L3vpn { protocols { bgp { group CE1 { type external; peer-as 65410; neighbor 172.16.1.1; } } } instance-type vrf; interface xe-0/0/0:0.0; route-distinguisher 192.168.0.1:12; vrf-target target:65412:12; } } routing-options { router-id 192.168.0.1; autonomous-system 65412; } protocols { bgp { group ibgp { type internal; local-address 192.168.0.1; family inet-vpn { unicast; } neighbor 192.168.0.3; } } mpls { label-switched-path lsp_to_pe2 { to 192.168.0.3; } interface xe-0/0/0:1.0; } ospf { traffic-engineering; area 0.0.0.0 { interface lo0.0 { passive; } interface xe-0/0/0:1.0; } } rsvp { interface lo0.0; interface xe-0/0/0:1.0; } }
为基于 MPLS 的第 3 层 VPN 配置远程 PE (PE2) 设备
本节讲解为此示例配置 PE1 设备所需的步骤。之所以关注 PE 设备,是因为 VPN 配置就位于此处。请参阅此示例中使用的 CE 设备和 P 设备配置的 快速配置 部分。
配置 MPLS 基准(如有必要)
配置第 3 层 VPN 之前,请确保 PE 设备具有有效的 MPLS 基准。如果您已有 MPLS 基准,则可以跳至将第 3 层 VPN 添加至 PE 设备的逐步过程。
配置主机名。
[edit] user@pe2# set system host-name pe2
配置核心和回传接口:
[edit] user@pe2# set interfaces xe-0/0/0:0 description "Link from PE2 to P-router" [edit] user@pe2# set interfaces xe-0/0/0:0 mtu 4000 [edit] user@pe2# set interfaces xe-0/0/0:0 unit 0 family inet address 10.1.34.2/24 [edit] user@pe2# set interfaces xe-0/0/0:0 unit 0 family mpls [edit] user@pe2# set interfaces lo0 unit 0 family inet address 192.168.0.3/32
优秀实践:虽然第 3 层 VPN 可以在入口 PE 上执行分片,但这是设计网络的最佳实践,因此 CE 可以发送最大尺寸的帧,而无需分段。为确保不发生分片,提供商网络应支持 CE 设备在 PE 设备添加 MPLS 和虚拟路由和转发 (VRF) 标签 后 可以生成的最大帧。此示例使 CE 设备处于默认 1500 字节的最大传输单元 (MTU),同时将提供商核心配置为支持 4000 字节 MTU。这样,即使带有 MPLS 和 VRF 封装开销,CE 设备也不能超过提供商网络中的 MTU。
配置协议:
注意:RSVP 信号 LSP 支持流量工程,但基本 MPLS 交换或 VPN 部署不需要。提供的 MPLS 基准使用 RSVP 来信号 LSP,并为 OSPF 启用流量工程。但是,未配置路径约束,因此您期望 LSP 通过内部网关协议最短路径进行路由。
[edit] user@pe2# set protocols ospf area 0.0.0.0 interface lo0.0 passive [edit] user@pe2# set protocols ospf area 0.0.0.0 interface xe-0/0/0:0.0 [edit] user@pe2# set protocols ospf traffic-engineering [edit] user@pe2# set protocols mpls interface xe-0/0/0:0.0 [edit] user@pe2# set protocols rsvp interface lo0.0 [edit] user@pe2# set protocols rsvp interface xe-0/0/0:0.0
将 LSP 定义到远程 PE 设备的环路地址:
[edit] user@pe2# set protocols mpls label-switched-path lsp_to_pe1 to 192.168.0.1
MPLS 基准现已在 PE1 设备上配置。继续配置第 3 层 VPN。
程序
逐步过程
按照这些步骤为第 3 层 VPN 配置 PE2 设备。
配置面向客户的接口:
提示:您可以在同一 PE 设备上配置基于 MPLS 的第 2 层 VPN 和基于 MPLS 的第 3 层 VPN。但是,您无法配置相同的面向客户边缘的接口,以支持第 2 层 VPN 和第 3 层 VPN。
[edit interfaces] user@pe2# set xe-0/0/0:1 description "Link from PE2 to CE2 for L3vpn" [edit] user@pe2# set xe-0/0/0:1 unit 0 family inet address 172.16.2.2/30
为本地和远程 PE 设备之间的对等互连配置 BGP 组。将 PE 设备的环路地址用作本地地址,使
inet-vpn unicast
地址族支持第 3 层 VPN 路由交换。[edit protocols bgp] user@pe1# set group ibgp local-address 192.168.0.1 [edit protocols bgp] user@pe1# set group ibgp family inet-vpn unicast
提示:如果 PE 到 PE IBGP 会话需要支持非 VPN 路由交换(例如分别使用
inet
或inet6
族的常规 IPv4 或 IPv6 路由),您可以指定其他地址族。将 BGP 组类型配置为内部。
[edit protocols bgp] user@pe2# set group ibgp type internal
将 PE1 设备的环路地址配置为 BGP 邻接方。
[edit protocols bgp] user@pe2# set group ibgp neighbor 192.168.0.1
配置路由器 ID 以匹配其环路地址,并定义 BGP 自治系统编号。
[edit routing-options] user@pe2# set routing-options router-id 192.168.0.3 [edit routing-options] user@pe2# set autonomous-system 65412
配置路由实例。指定的实例名称 CE2_L3vpn(含
instance-type
vrf
。[edit routing-instances] user@pe2# set CE2_L3vpn instance-type vrf
将 PE 设备面向客户的接口配置为属于路由实例。
[edit routing-instances] user@pe2# set CE2_L3vpn interface xe-0/0/0:1.0
配置路由实例的路由区分器。此设置用于区分从特定 PE 设备上的特定 VRF 发送的路由。对于每个 PE 设备上的每个路由实例,它都应该是唯一的。
[edit routing-instances] user@pe2# set CE2_L3vpn route-distinguisher 192.168.0.3:12
配置实例的虚拟路由和转发 (VRF) 表路由目标。语
vrf-target
句会将指定的公共组标记添加至所有播发的路由,同时自动匹配路由导入的相同值。需要在共享给定 VPN 的 PE 设备上配置匹配路由目标,以便进行适当的路由交换。[edit routing-instances] user@pe2# set CE2_L3vpn vrf-target target:65412:12
配置路由实例以支持与 CE2 设备对等 EBGP。使用与 VRF 链路 CE2 端对等的直接接口,并且使用参数正确指定
peer-as
CE2 的自治系统编号。[edit routing-instances] user@pe2# set CE2_L3vpn protocols bgp group CE2 type external [edit routing-instances] user@pe2# set CE2_L3vpn protocols bgp group CE2 peer-as 65420 [edit routing-instances] user@pe2# set CE2_L3vpn protocols bgp group CE2 neighbor 172.16.2.1
在 PE2 设备上提交更改并返回到 CLI 操作模式。
[edit] user@pe2# commit and-quit
结果
显示 PE2 设备上的配置结果。输出仅反映此示例中添加的功能配置。
user@pe2> show configuration
interfaces { xe-0/0/0:0 { description "Link from PE2 to p-router"; mtu 4000; unit 0 { family inet { address 10.1.34.2/24; } family mpls; } } xe-0/0/0:1 { description "Link from PE2 to CE2 for L3vpn"; unit 0 { family inet { address 172.16.2.2/30; } } } lo0 { unit 0 { family inet { address 192.168.0.3/32; } } } } routing-instances { CE2_L3vpn { protocols { bgp { group CE2 { type external; peer-as 65420; neighbor 172.16.2.1; } } } instance-type vrf; interface xe-0/0/0:1.0; route-distinguisher 192.168.0.3:12; vrf-target target:65412:12; } } routing-options { router-id 192.168.0.3; autonomous-system 65412; } protocols { bgp { group ibgp { type internal; local-address 192.168.0.3; family inet-vpn { unicast; } neighbor 192.168.0.1; } } mpls { label-switched-path lsp_to_pe1 { to 192.168.0.1; } interface xe-0/0/0:0.0; } ospf { traffic-engineering; area 0.0.0.0 { interface lo0.0 { passive; } interface xe-0/0/0:0.0; } } rsvp { interface lo0.0; interface xe-0/0/0:0.0; } }
验证
执行这些任务以验证基于 MPLS 的第 3 层 VPN 是否正常工作:
- 验证提供商 OSPF 邻接和路由交换
- 验证 MPLS 和 RSVP 接口设置
- 验证 RSVP 信号 LSP
- 验证 BGP 会话状态
- 验证路由表中的第 3 层 VPN 路由
- 使用第 3 层 VPN 连接对远程 PE 设备进行 Ping
- 验证第 3 层 VPN 上的 CE 设备的端到端操作
验证提供商 OSPF 邻接和路由交换
目的
通过验证邻接状态和 OSPF 学到的路由到远程提供商设备的环路地址,确认 OSPF 协议在提供商网络中正常工作。适当的 IGP 操作对于成功建立 MPLS LSP 至关重要。
行动
user@pe1> show ospf neighbor Address Interface State ID Pri Dead 10.1.23.2 xe-0/0/0:1.0 Full 192.168.0.2 128 37
user@pe1> show route protocol ospf | match 192.168 192.168.0.2/32 *[OSPF/10] 1w1d 23:59:43, metric 1 192.168.0.3/32 *[OSPF/10] 1w1d 23:59:38, metric 2
意义
输出显示 PE1 设备已与 P 设备建立 OSPF 邻接 (192.168.0.2
)。它还表明,通过本地 PE 设备上的 OSPF 正确学习 P 和远程 PE 设备环路地址 (192.168.0.2
) 和 (192.168.0.3
)。
验证 MPLS 和 RSVP 接口设置
目的
验证 RSVP 和 MPLS 协议是否配置为在 PE 设备面向核心的接口上运行。此步骤还验证是否 family mpls
已在 PE 设备面向核心的接口的单元级别正确配置。
行动
user@pe1> show mpls interface Interface State Administrative groups (x: extended) xe-0/0/0:1.0 Up <none>
user@pe1> show rsvp interface RSVP interface: 2 active Active Subscr- Static Available Reserved Highwater Interface State resv iption BW BW BW mark lo0.0 Up 0 100% 0bps 0bps 0bps 0bps xe-0/0/0:1.0 Up 1 100% 10Gbps 10Gbps 0bps 0bps
意义
输出显示 MPLS 和 RSVP 已在本地 PE 设备的核心和回传接口上正确配置。
验证 RSVP 信号 LSP
目的
验证 PE 设备的环路地址之间是否正确建立了 RSVP 信号入口和出口 LSP。
行动
user@pe1> show rsvp session Ingress RSVP: 1 sessions To From State Rt Style Labelin Labelout LSPname 192.168.0.3 192.168.0.1 Up 0 1 FF - 17 lsp_to_pe2 Total 1 displayed, Up 1, Down 0 Egress RSVP: 1 sessions To From State Rt Style Labelin Labelout LSPname 192.168.0.1 192.168.0.3 Up 0 1 FF 3 - lsp_to_pe1 Total 1 displayed, Up 1, Down 0 Transit RSVP: 0 sessions Total 0 displayed, Up 0, Down 0
意义
输出显示,在 PE 设备之间正确建立了入口和出口 RSVP 会话。成功建立 LSP 表示 MPLS 基准正在运行。
验证 BGP 会话状态
目的
验证 PE 设备之间的 IBGP 会话是否正确建立且支持第 3 层 VPN 网络层可访问性信息 (NLRI)。在此步骤中,您还确认已建立本地 PE 至 CE EBGP 会话并正确配置为交换 IPv4 路由。
行动
user@pe1> show bgp summary Groups: 2 Peers: 2 Down peers: 0 Table Tot Paths Act Paths Suppressed History Damp State Pending inet.0 0 0 0 0 0 0 bgp.l3vpn.0 2 2 0 0 0 0 Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped... 172.16.1.1 65410 26038 25938 0 0 1w1d 3:12:32 Establ CE1_L3vpn.inet.0: 1/2/2/0 192.168.0.3 65412 19 17 0 0 6:18 Establ CE1_L3vpn.inet.0: 2/2/2/0 bgp.l3vpn.0: 2/2/2/0
意义
输出显示已正确建立远程 PE 设备 () 的 IBGP 会话(192.168.0.3
Establ
),通过Up/Dwn
该字段,会话处于当前状态 (6:18
) 的时间。字flaps
段确认未发生状态转换 (0
),表示会话稳定。另请注意,第 3 层 VPN 路由 (NLRI) 已从远程 PE 学习,如表的存在bgp.l3vpn.0
所示。
显示屏还确认已建立本地 CE1 设备 (172.16.1.1
) 的 EBGP 会话,并且已从 CE1 设备接收 IPv4 路由,并安装在 CE1 设备路由实例中 (CE1_L3vpn.inet.0
)
此输出确认 PE 设备与 CE 设备之间的 BGP 对等互联工作正常,可为第 3 层 VPN 提供支持。
验证路由表中的第 3 层 VPN 路由
目的
确认 PE1 设备上的路由表已填充由远程 PE 通告的第 3 层 VPN 路由。这些路由用于将流量转发至远程 CE 设备。
行动
user@pe1> show route table bgp.l3vpn.0 bgp.l3vpn.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 192.168.0.3:12:172.16.2.0/30 *[BGP/170] 00:22:45, localpref 100, from 192.168.0.3 AS path: I, validation-state: unverified > to 10.1.23.2 via xe-0/0/0:1.0, label-switched-path lsp_to_pe2 192.168.0.3:12:172.16.255.2/32 *[BGP/170] 00:22:43, localpref 100, from 192.168.0.3 AS path: 65420 I, validation-state: unverified > to 10.1.23.2 via xe-0/0/0:1.0, label-switched-path lsp_to_pe2
user@pe1> show route table CE1_L3vpn.inet.0 CE1_L3vpn.inet.0: 5 destinations, 6 routes (5 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 172.16.1.0/30 *[Direct/0] 1w1d 03:29:44 > via xe-0/0/0:0.0 [BGP/170] 1w1d 03:29:41, localpref 100 AS path: 65410 I, validation-state: unverified > to 172.16.1.1 via xe-0/0/0:0.0 172.16.1.2/32 *[Local/0] 1w1d 03:29:44 Local via xe-0/0/0:0.0 172.16.2.0/30 *[BGP/170] 00:23:28, localpref 100, from 192.168.0.3 AS path: I, validation-state: unverified > to 10.1.23.2 via xe-0/0/0:1.0, label-switched-path lsp_to_pe2 172.16.255.1/32 *[BGP/170] 1w1d 03:29:41, localpref 100 AS path: 65410 I, validation-state: unverified > to 172.16.1.1 via xe-0/0/0:0.0 172.16.255.2/32 *[BGP/170] 00:23:26, localpref 100, from 192.168.0.3 AS path: 65420 I, validation-state: unverified > to 10.1.23.2 via xe-0/0/0:1.0, label-switched-path lsp_to_pe2
意义
命令 show route table bgp.l3vpn.0
显示从远程 PE 设备接收到的第 3 层 VPN 路由。命令 show route table CE1_L3vpn.inet.0
列出了导入 CE1_L3vpn
路由实例的所有路由。这些条目表示从本地 EBGP 对等到 CE1 设备的学习路由,以及从具有匹配路由目标的远程 PE2 设备接收的路由。
两个表都显示远程第 3 层 VPN 路由与 lsp_to_pe2
LSP 正确关联,作为转发下一跳跃。输出确认本地 PE 设备已从 PE2 设备学习与远程 CE2 位置关联的路由。它还表明,本地 PE 将使用通过提供商网络的 MPLS 传输将第 3 层 VPN 流量转发至远程 PE2 设备。
使用第 3 层 VPN 连接对远程 PE 设备进行 Ping
目的
使用 ping 验证本地和远程 PE 设备之间的第 3 层 VPN 连接。此命令可验证 PE 设备之间的第 3 层 VPN 路由和 MPLS 转发操作。
行动
user@pe1> ping routing-instance CE1_L3vpn 172.16.2.2 source 172.16.1.2 count 2 PING 172.16.2.2 (172.16.2.2): 56 data bytes 64 bytes from 172.16.2.2: icmp_seq=0 ttl=61 time=128.235 ms 64 bytes from 172.16.2.2: icmp_seq=1 ttl=61 time=87.597 ms --- 172.16.2.2 ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max/stddev = 87.597/107.916/128.235/20.319 m
意义
输出确认 3 层 VPN 控制平面和转发平面在 PE 设备之间正常运行。
验证第 3 层 VPN 上的 CE 设备的端到端操作
目的
验证 CE 设备之间的第 3 层 VPN 连接。此步骤确认 CE 设备具有操作接口,并已正确配置为基于 EBGP 的第 3 层连接。通过验证本地 CE1 设备已了解远程 CE 设备的路由,以及确认 CE 设备能够在其环路地址之间端到端传递流量,即可完成此操作。
行动
user@ce1> show route protocol bgp inet.0: 12 destinations, 12 routes (12 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 172.16.2.0/30 *[BGP/170] 00:40:50, localpref 100 AS path: 65412 I, validation-state: unverified > to 172.16.1.2 via xe-0/0/0:0.0 172.16.255.2/32 *[BGP/170] 00:40:49, localpref 100 AS path: 65412 65420 I, validation-state: unverified > to 172.16.1.2 via xe-0/0/0:0.0 inet6.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)
user@ce1> ping 172.16.255.2 source 172.16.255.1 size 1472 do-not-fragment count 2 PING 172.16.255.2 (172.16.255.2): 1472 data bytes 1480 bytes from 172.16.255.2: icmp_seq=0 ttl=61 time=79.245 ms 1480 bytes from 172.16.255.2: icmp_seq=1 ttl=61 time=89.125 ms --- 172.16.255.2 ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max/stddev = 79.245/84.185/89.125/4.940 ms
意义
输出显示,基于第 3 层 VPN 的连接在 CE 设备之间正常工作。本地 CE 设备已通过 BGP 学习远程 CE 设备的 VRF 接口和回传路由。ping 生成至远程 CE 设备的环路地址,并使用 source 172.16.255.1
该参数从本地 CE 设备的环路地址获取。 do-not-fragment
添加和 size 1472
交换机将确认 CE 设备能够在不引起本地 PE 设备分片的情况下传递 1500 字节 IP 数据包。
size 1472
添加到命令中的ping
论点将生成 1472 字节的回应数据。添加了另外 8 个 8 字节的互联网控制消息协议 (ICMP) 和 20 字节 IP 报头,使总有效负载大小达到 1500 字节。do-not-fragment
添加交换机可确保本地 CE 和 PE 设备无法执行分片。此 ping 方法可确认在 CE 设备之间交换标准 1500 字节最大长度以太网帧时不需要分片。
这些结果确认基于 MPLS 的第 3 层 VPN 工作正常。