配置 VPLS 简介
虚拟专用 LAN 服务 (VPLS) 允许您在虚拟专用网络 (VPN) 中的一组站点之间提供点对多点 LAN。
要配置 VPLS 功能,必须在提供商边缘 (PE) 路由器上启用 VPLS 支持。您还必须配置 PE 路由器,以便将路由信息分发到 VPLS 中的其他 PE 路由器。此外,您还必须配置 PE 路由器与客户边缘 (CE) 路由器之间的电路。
在 VPLS 文档中,PE 路由器等术语用于指提供路由功能的任何设备。
您可以通过在 Junos OS 上配置 vpls 路由实例或在 Junos Evolv OS 上配置 虚拟交换机 路由实例来支持 VPLS 流量。路由实例在服务提供商的网络中透明地传输以太网流量。与其他路由实例一样,属于 VPLS 路由实例的所有逻辑接口均列于该实例下。
vlan-id none
语句),则还必须将
service-type single
语句包含在层次结构中
[edit routing-instances routing-instance protocol vpls]
。
除了 VPLS 路由实例配置外,还必须配置 PE 路由器之间的 MPLS 标签交换路径 (LSP),PE 路由器之间的 IBGP 会话,以及 PE 和提供商 (P) 路由器上的内部网关协议 (IGP)。
VPLS 的许多配置过程与第 2 层 VPN 和第 3 层 VPN 的过程相同。
了解 VPLS 接口
接口名称:
对于 PE 路由器上的每个 VPLS 路由实例,您可以指定使用哪些接口在 PE 和 CE 设备之间传输 VPLS 流量。
指定接口名称的物理部分和逻辑部分,格式如下: physical.logical
。例如,在 ge-1/0/1.2 中,ge-1/0/1 是接口名称的物理部分,2 是逻辑部分。如果未指定接口名称的逻辑部分,则默认设置 0。
一个逻辑接口只能与一个路由实例相关联。
封装类型:
VPLS 接口的链路层封装类型可以是以下类型之一:
-
ethernet-vpls
:在启用了 VPLS 且必须接受携带标准标记协议标识符 (TPID) 值的数据包的以太网接口上使用以太网 VPLS 封装。extended-vlan-vpls
:在启用了 VLAN 802.1Q 标记和 VPLS 且必须接受携带 TPID 的数据包的以太网接口上使用扩展虚拟 LAN (VLAN) VPLS 封装,0x8100、0x9100和0x9901。从 1 到 1023 的所有 VLAN ID 均对快速以太网接口上的 VPLS VLAN 有效,1 到 4094 的所有 VLAN ID 均对千兆以太网接口上的 VPLS VLAN 有效。vlan-vpls:
在启用 VLAN 标记和 VPLS 的以太网接口上使用 VLAN VPLS 封装。使用 VLAN VPLS 封装的接口仅接受携带标准 TPID 值的数据包。您必须在物理接口和逻辑接口上配置此封装类型。VLAN ID 1 到 511 保留用于正常以太网 VLAN,ID 512 到 1023 保留用于快速以太网接口上的 VPLS VLAN,512 到 4094 ID 保留用于千兆以太网接口上的 VPLS VLAN。 flexible-ethernet-services
:如果要配置多个按单元以太网封装,请使用灵活的以太网服务封装。此封装类型允许您在单个物理端口上配置路由、TCC、CCC 和 VPLS 封装的任意组合。聚合以太网捆绑包不能使用此封装类型。对于灵活的以太网服务封装,不再为正常 VLAN 保留 1 到 511 的 VLAN ID。
VPLS CLI 配置层次结构 Junos OS 与 Junos OS 演化而成的区别
在运行 Junos OS 或 Junos OS Evolved 的设备上配置 VPLS 时,请注意 CLI 层次结构的差异。 表 解释了在 Junos OS 和 Junos OS Evolved 上运行的设备上的 VPLS CLI 层次结构配置差异。
要了解在 Junos OS 上运行的设备,请参阅 https://www.juniper.net/documentation/product/us/en/junos-os/#cat=by_product。
要了解在 Junos OS Evolved 上运行的设备,请参阅 https://www.juniper.net/documentation/product/us/en/junos-os-evolved/#cat=hardware_documentation。
任务 | Junos OS | Junos OS Evolved |
---|---|---|
启用 VPLS 路由实例 | user@host# set routing-instances routing-instance-name instance-type vpls user@host# set routing-instances routing-instance-name protocols vpls neighbor network-id user@host# set routing-instances routing-instance-name protocols vpls no-tunnel-services user@host# set routing-instances routing-instance-name protocols vpls vpls-id number user@host# set routing-instances routing-instance-name vlan-id number user@host# set routing-instances routing-instance-name interface interface-name |
user@host# set routing-instances routing-instance-name instance-type virtual-switch user@host# set routing-instances routing-instance-name protocols vpls neighbor network-id user@host# set routing-instances routing-instance-name protocols vpls no-tunnel-services user@host# set routing-instances routing-instance-name protocols vpls vpls-id number user@host# set routing-instances routing-instance-name vlans vlan-name vlan-id number user@host# set routing-instances routing-instance-name vlans vlan-name interface interface-name
注意:
您必须配置该配置, |
配置 VLAN,不带 VLAN ID,或者将 VLAN ID 作为 none 或 VLAN ID 作为 all |
user@host# set routing-instances routing-instance-name |
配置不带 VLAN ID 的 VLAN user@host# set routing-instances routing-instance-name vlans vlan-name user@host# set routing-instances routing-instance-name vlans vlan-name protocols vpls service-type single 将 VLAN 配置为或 user@host# set routing-instances routing-instance-name vlans vlan-name vlan-id none user@host# set routing-instances routing-instance-name vlans vlan-name protocols vpls service-type single
注意:
配置不带 VLAN ID 的 VLAN,或者将 VLAN ID 作为 |
在接口上配置 VPLS 系列 | user@host# set interfaces interface-name unit number family vpls |
注意:
在 Junos OS 演化型上运行的设备不支持在接口上配置系列 VPLS。 |
在接口上配置 VPLS 封装 | user@host# set interfaces interface-name flexible-vlan-tagging user@host# set interfaces interface-name speed 100g user@host# set interfaces interface-name encapsulation flexible-ethernet-services user@host# set interfaces interface-name unit number encapsulation vlan-vpls user@host# set interfaces interface-name unit number vlan-id number |
user@host# set interfaces interface-name flexible-vlan-tagging user@host# set interfaces interface-name speed 100g user@host# set interfaces interface-name encapsulation flexible-ethernet-services user@host# set interfaces interface-name unit number encapsulation vlan-bridge user@host# set interfaces interface-name unit number vlan-id number |
Junos OS 上的 VPLS 配置示例
以下是 Junos OS 上的 VPLS 配置示例:
配置
[edit] user@host# set interfaces xe-0/0/2 flexible-vlan-tagging user@host# set interfaces xe-0/0/2 speed 40g user@host# set interfaces xe-0/0/2 encapsulation flexible-ethernet-services user@host# set interfaces xe-0/0/2 unit 108 encapsulation vlan-vpls user@host# set interfaces xe-0/0/2 unit 108 vlan-id 108 user@host# set interfaces xe-0/0/2 unit 108 family vpls user@host# set routing-instances VPLS instance-type vpls user@host# set routing-instances VPLS interface xe-0/0/2.108 user@host# set routing-instances VPLS protocols vpls interface xe-0/0/2.108 user@host# set routing-instances VPLS protocols vpls neighbor 192.168.1.3 user@host# set routing-instances VPLS protocols vpls no-tunnel-services user@host# set routing-instances VPLS protocols vpls vpls-id 1001
结果
user@host> show configuration interfaces xe-0/0/2 flexible-vlan-tagging; speed 40g; encapsulation flexible-ethernet-services; } unit 108 { encapsulation vlan-vpls; vlan-id 108; family vpls; } user@host> show configuration routing-instances VPLS { protocols { vpls { interface xe-0/0/2.108; neighbor 192.168.1.3; no-tunnel-services; vpls-id 1001; } } instance-type vpls; interface xe-0/0/2.108; }
验证
确认配置工作正常。
通过运行 show vpls connections
命令验证 VPLS 连接状态。
user@host> show vpls connections Layer-2 VPN connections: Legend for interface status Up -- operational Dn -- down Instance: VPLS VPLS-id: 1001 Neighbor Type St Time last up # Up trans 192.168.1.3(vpls-id 1001) rmt Up Jun 12 12:50:07 2023 1 Remote PE: 192.168.1.3, Negotiated control-word: No Incoming label: 259, Outgoing label: 22 Negotiated PW status TLV: No Local interface: lsi.1049600, Status: Up, Encapsulation: ETHERNET Description: Intf - vpls VPLS neighbor 192.168.1.3 vpls-id 1001 Flow Label Transmit: No, Flow Label Receive: No
在此输出中,VPLS 连接状态处于两个 PE 路由器之间。
运行命令,验证在本地 PE 和远程 PE 上学习的 show vpls mac-table
MAC 地址。
user@host> show vpls mac-table MAC flags (S -static MAC, D -dynamic MAC, L -locally learned, C -Control MAC O -OVSDB MAC, SE -Statistics enabled, NM -Non configured MAC, R -Remote PE MAC, P -Pinned MAC) Routing instance : VPLS Bridging domain : __VPLS__, VLAN : NA MAC MAC Logical NH MAC active address flags interface Index property source 00:00:00:42:98:47 D lsi.1049346 00:00:00:42:98:4a D xe-0/0/2.108
在此输出中,您可以看到从具有 VLAN ID 10 的本地 PE 接口 (et-0/0/4) 学习的 MAC 地址 (00:00:00:42:98:47) 8 和 MAC 地址 (00:00:00:42:98:4a) 通过 VLAN ID 108 的远程 PE 接口 (lsi.104832) 学习。
Junos OS Evolved 上的 VPLS 配置示例
以下是 Junos OS Evolved 上的 VPLS 配置示例:
配置
[edit] user@host# set interfaces et-0/0/4 flexible-vlan-tagging user@host# set interfaces et-0/0/4 speed 40g user@host# set interfaces et-0/0/4 encapsulation flexible-ethernet-services user@host# set interfaces et-0/0/4 unit 108 encapsulation vlan-bridge user@host# set interfaces et-0/0/4 unit 108 vlan-id 108 user@host# set routing-instances VPLS instance-type virtual-switch user@host# set routing-instances VPLS protocols vpls neighbor 192.168.1.3 user@host# set routing-instances VPLS protocols vpls no-tunnel-services user@host# set routing-instances VPLS protocols vpls vpls-id 1001 user@host# set routing-instances VPLS vlans v108 vlan-id 108 user@host# set routing-instances VPLS vlans v108 interface et-0/0/4.108
结果
user@host> show configuration interfaces et-0/0/4 flexible-vlan-tagging; speed 40g; encapsulation flexible-ethernet-services; unit 108 { encapsulation vlan-bridge; vlan-id 108; } user@host> show configuration routing-instances VPLS { instance-type virtual-switch; protocols { vpls { neighbor 192.168.1.3; no-tunnel-services; vpls-id 1001; } } vlans { V108 { vlan-id 108; interface et-0/0/4.108; } } }
验证
确认配置工作正常。
通过运行 show vpls connections
命令验证 VPLS 连接状态。
user@host> show vpls connections Layer-2 VPN connections: Legend for interface status Up -- operational Dn -- down Instance: VPLS VPLS-id: 1001 Neighbor Type St Time last up # Up trans 192.168.1.3(vpls-id 1001) rmt Up Jun 12 12:50:07 2023 1 Remote PE: 192.168.1.3, Negotiated control-word: No Incoming label: 22, Outgoing label: 259 Negotiated PW status TLV: No Local interface: lsi.1048576, Status: Up, Encapsulation: ETHERNET Description: Intf - vpls VPLS neighbor 192.168.1.3 vpls-id 1001 Flow Label Transmit: No, Flow Label Receive: No
在此输出中,VPLS 连接状态处于两个 PE 路由器之间。
运行命令,验证在本地 PE 和远程 PE 上学习的 show ethernet-switching table instance VPLS
MAC 地址。
user@host> show ethernet-switching table instance VPLS MAC flags (S - static MAC, D - dynamic MAC, L - locally learned, P - Persistent static, C - Control MAC SE - statistics enabled, NM - non configured MAC, R - remote PE MAC, O - ovsdb MAC GBP - group based policy) Ethernet switching table : 2 entries, 2 learned Routing instance : VPLS Vlan MAC MAC Age GBP Logical NH RTR name address flags Tag interface Index ID V108 00:00:00:42:98:47 D - et-0/0/4.108 0 0 V108 00:00:00:42:98:4a D - lsi.1048832 0 0
在此输出中,您可以看到从具有 VLAN ID 10 的本地 PE 接口 (et-0/0/4) 学习的 MAC 地址 (00:00:00:42:98:47) 8 和 MAC 地址 (00:00:00:42:98:4a) 通过 VLAN ID 108 的远程 PE 接口 (lsi.104832) 学习。