02-EVPN VPWS配置
本章节下载: 02-EVPN VPWS配置 (532.01 KB)
目 录
EVPN VPWS(Virtual Private Wire Service,虚拟专线服务)是控制层面采用MP-BGP通告EVPN路由信息,数据层面采用MPLS封装的二层VPN技术。用户网络的数据报文直接通过交叉连接下的AC和PW转发,无需查找二层MAC地址,为用户提供点到点的二层服务。
图1-1 EVPN VPWS网络模型示意图
如图1-1所示,EVPN VPWS的典型网络模型中包括如下几部分:
· CE(Customer Edge,用户网络边缘):直接与服务提供商网络相连的用户网络侧设备。
· PE(Provider Edge,服务提供商网络边缘):与CE相连的服务提供商网络侧设备。PE主要负责EVPN业务的接入,完成报文从用户网络到公网隧道、从公网隧道到用户网络的映射与转发。
· AC(Attachment Circuit,接入电路):连接CE和PE的物理电路或虚拟电路。
· PW(Pseudowire,伪线):两个PE之间的虚拟双向连接。PW由一对方向相反的单向虚拟连接构成。
· 公网隧道(Tunnel):穿越IP或MPLS骨干网、用来承载PW的隧道。一条公网隧道可以承载多条PW,公网隧道可以是LSP、GRE隧道或MPLS TE隧道。
· 交叉连接(Cross connect):由两条物理电路或虚拟电路串连而成的一条连接,从一条物理、虚拟电路收到的报文直接交换到另一条物理、虚拟电路转发。交叉连接包括二种方式:AC到AC交叉连接和AC到PW交叉连接。
EVPN VPWS远程连接通过穿越IP或MPLS骨干网络的PW连接两端的用户网络,为用户提供点对点的二层服务。要想通过EVPN VPWS的远程连接转发报文,需要完成以下工作:
(1) 建立公网隧道,公网隧道用来承载PE之间的一条或多条PW。
(2) 建立用来传送特定用户网络报文的PW,PW标签标识了报文所属的用户网络。
(3) 建立用来连接CE和PE的AC,AC的报文匹配规则(显式配置或隐含的规则)决定了从CE接收到的哪些报文属于一个特定的用户网络。
(4) 将AC和PW关联,以便PE确定从AC接收到的报文向指定PW转发,从PW接收到的报文向指定AC转发。
完成上述配置后,PE从AC接收到用户网络的报文后,根据AC关联的PW为报文封装PW标签,并通过公网隧道将报文转发给远端PE;远端PE从公网隧道接收到报文后,根据PW标签判断报文所属的PW,并将还原后的原始报文转发给与该PW关联的AC。
公网隧道用来承载PW,可以是LSP隧道、MPLS TE隧道和GRE隧道等。不同隧道的建立方式不同,详细介绍请参见相关手册。
当两个PE之间存在多条公网隧道时,可以通过配置隧道策略,确定如何选择隧道。隧道策略的详细介绍,请参见“MPLS配置指导”中的“隧道策略”。
如果PW建立在LSP或MPLS TE隧道之上,则PW上传送的报文将包括两层标签:内层标签为PW标签,用来决定报文所属的PW,从而将报文转发给正确的CE;外层标签为公网LSP或MPLS TE隧道标签,用来保证报文在MPLS网络正确传送。
建立PW是指两端的PE设备分别为对方分配PW标签,以便建立方向相反的一对单向虚拟连接。PW的建立是通过在两端PE上分别指定local-service-id和remote-service-id,通过以太网自动发现路由互相通告local-service-id并与本地配置进行匹配实现的。若收到的local-service-id与本地配置的remote-service-id相同,则建立一条单向虚拟连接。当两端的PE间建立了两条方向相反的单向虚拟连接,则PW建立完成。
在EVPN VPWS中,AC是与交叉连接关联的三层以太网接口、三层以太网子接口或以太网服务实例。以太网服务实例在二层以太网接口上创建,它定义了一系列匹配规则,用来匹配从该二层以太网接口上接收到的数据帧。
通过命令行将AC连接对应的三层以太网接口、三层以太网子接口或以太网服务实例与PW关联,即可实现从该AC接收到的报文通过关联的PW转发,从关联的PW上接收到的报文通过该AC转发。
控制字字段位于MPLS标签栈和二层数据之间,用来携带额外的二层数据帧的控制信息,如序列号等。控制字具有如下功能:
· 避免报文乱序:在多路径转发的情况下,报文有可能产生乱序,此时可以通过控制字的序列号字段对报文进行排序重组。
· 指示净载荷长度:如果PW上传送报文的净载荷长度小于64字节,则需要对报文进行填充,以避免报文发送失败。此时,通过控制字的载荷长度字段可以确定原始载荷的长度,以便从填充后的报文中正确获取原始的报文载荷。
对于EVPN PW,控制字字段是可选的,由两端的配置共同决定是否携带控制字:如果两端PE上都使能了控制字功能,则报文中携带控制字字段;否则,报文中不携带控制字字段。
不同类型的数据流可能通过同一条PW来传输,这些数据流在PE节点上封装完全相同的PW标签。封装了PW标签的报文到达P节点时,尽管P节点上存在多条隧道可以进行负载分担,但同一条PW的多条数据流仍然只能选择同一条路径转发,不能针对不同的数据流进行负载分担。L2VPN流标签功能可以实现在P设备上针对不同的数据流进行负载分担。
如图1-2所示,在两端的PE节点上均开启L2VPN流标签功能后,入口PE对数据报文进行封装时,会在PW标签前加入一个流标签(Flow label)字段,不同类型的数据流可以添加不同的流标签。P节点根据流标签进行负载分担。出口PE剥离PW标签和流标签后,将报文转发到本地站点。
图1-2 L2VPN流标签示意图
PE节点上的L2VPN流标签能力分为:
· 流标签接收能力:PE从PW上接收到报文后,能够识别报文中的流标签,并在解封装时删除流标签字段。
· 流标签发送能力:PE在通过PW发送报文时,会为报文添加流标签字段。
EVPN VPWS组网中两端PE的L2VPN流标签能力需要手工指定,由用户保证两端PE的L2VPN流标签能力匹配,即一端具有接收能力、另一端具有发送能力。否则,可能会导致流量处理失败。
多段PW是指将两条或多条PW串连(concatenated)起来,形成一条端到端的PW。通过在同一个交叉连接下创建两条PW,可以实现将该交叉连接下的两条PW串连。PE从一条PW接收到报文后,剥离报文的隧道标识和PW标签,封装上与该PW串连的另一条PW的PW标签,并通过承载该PW的公网隧道转发该报文,从而实现报文在两条PW之间的转发。
如图1-3所示,通过在PE 2上将PW 1和PW 2串连、在PE 3上将PW 2和PW 3串连,可以建立从PE 1到PE 4的端到端PW,实现报文沿着PW 1、PW 2和PW 3形成的多段PW在PE 1和PE 4之间转发。
图1-3 多段PW示意图
多段PW分为:
· 域内多段PW:即在一个自治系统内部署多段PW。
在一个自治系统内部署多段PW,可以实现两个PE之间不存在端到端公网隧道的情况下,在这两个PE之间建立端到端PW。
如图1-4所示,PE 1和PE 4之间没有建立公网隧道,PE 1和PE 2、PE 2和PE 4之间已经建立了公网隧道。通过在PE 1与PE 2、PE 2与PE 4之间分别建立一条PW(PW 1和PW 2),在PE 2上将这两条PW串连,可以实现在PE 1和PE 4之间建立一条由两段PW组成的端到端域内多段PW。
通过建立域内多段PW可以充分利用已有的公网隧道,减少端到端公网隧道数量。
· 域间多段PW:即跨越自治系统部署多段PW。
非缺省MDC最多支持256个交叉连接。
建立远程连接的配置任务如下:
(1) 开启L2VPN功能
(2) 配置AC
(3) 配置BGP发布EVPN路由
b. (可选)控制BGP EVPN路由的优选和发布
c. (可选)维护BGP会话
(4) 配置交叉连接
(5) 配置PW
a. (可选)配置PW模板
b. 配置EVPN PW
(6) 配置AC与交叉连接关联
(7) (可选)配置EVPN VPWS的报文统计功能
建立多段PW的配置任务如下:
(1) 开启L2VPN功能
(2) 配置交叉连接
(3) 配置PW
在同一个交叉连接视图下需要配置两条EVPN PW,以便将这两条EVPN PW串连起来。
a. (可选)配置PW模板
b. 配置EVPN PW
(4) (可选)配置EVPN PW的报文统计功能
配置EVPN VPWS网络前,需要完成以下任务:
· 配置IGP(Interior Gateway Protocol,内部网关协议),实现骨干网的IP连通性。
· 配置MPLS基本功能、LDP、GRE或MPLS TE等,在骨干网上建立公网隧道。
执行本配置前,需要先通过mpls lsr-id命令配置本节点的LSR ID,并在PE连接公网的接口上通过mpls enable命令使能该接口的MPLS能力。mpls lsr-id命令和mpls enable命令的详细介绍,请参见“MPLS命令参考”中的“MPLS基础”。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启L2VPN功能 |
l2vpn enable |
缺省情况下,L2VPN功能处于关闭状态 |
PE通过二层以太网接口或二层聚合接口连接CE时,可以配置以太网服务实例,以便精确地匹配属于AC的报文。
不能通过重复执行encapsulation命令修改报文匹配规则。如需修改报文匹配规则,请先通过undo encapsulation命令删除报文匹配规则,再执行encapsulation命令。
删除以太网服务实例下的报文匹配规则后,会自动取消以太网服务实例与交叉连接的关联。
本配置中各命令的详细介绍,请参见“MPLS命令参考”中的“MPLS L2VPN”。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
· 进入二层以太网接口视图 · 进入二层聚合接口视图 |
- |
创建以太网服务实例,并进入以太网服务实例视图 |
service-instance instance-id |
- |
配置以太网服务实例的报文匹配规则 |
· encapsulation s-vid vlan-id-list [ only-tagged ] · encapsulation s-vid vlan-id c-vid { vlan-id-list | all } · encapsulation s-vid vlan-id-list c-vid vlan-id-list · encapsulation c-vid vlan-id-list · encapsulation { default | tagged | untagged } |
同一个接口上最多只能有一个服务实例采用缺省的报文匹配规则 如果接口上只存在一个配置了encapsulation default规则的以太网服务实例,则该接口上的所有报文都匹配该以太网服务实例 缺省情况下,未配置报文匹配规则 |
BGP相关命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP”。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置全局Router ID |
router id router-id |
缺省情况下,未配置全局Router ID |
启动BGP实例,并进入BGP实例视图 |
bgp as-number [ instance instance-name ] |
缺省情况下,系统没有运行BGP |
将远端PE配置为对等体 |
peer { group-name | ipv4-address [ mask-length ] } as-number as-number |
- |
创建BGP EVPN地址族,并进入BGP EVPN地址族视图 |
address-family l2vpn evpn |
- |
使能本地路由器与指定对等体/对等体组交换BGP EVPN路由的能力 |
peer { group-name | ipv4-address [ mask-length ] } enable |
缺省情况下,本地路由器不能与对等体/对等体组交换BGP EVPN路由 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入BGP实例视图 |
bgp as-number [ instance instance-name ] |
- |
进入BGP EVPN地址族视图 |
address-family l2vpn evpn |
- |
配置对于从对等体/对等体组接收的BGP消息,允许本地AS号在该消息的AS_PATH属性中出现,并配置允许出现的次数 |
peer { group-name | ipv4-address [ mask-length ] } allow-as-loop [ number ] |
缺省情况下,不允许本地AS号在接收消息的AS_PATH属性中出现 |
开启BGP EVPN路由的VPN-Target过滤功能 |
policy vpn-target |
缺省情况下,BGP EVPN路由的VPN-Target过滤功能处于开启状态 |
(可选)配置BGP路由延迟优选 |
route-select delay delay-value |
缺省情况下,延迟时间为0秒,即路由优选不延迟 |
配置根据EBGP路由的第一个AS号来过滤发布对象 |
peer-as-check enable |
缺省情况下,设备接收到EBGP路由后,会将其发布给除发送该路由的对等体之外的所有BGP对等体,不会根据EBGP路由的第一个AS号来过滤发布对象。 配置本命令后,BGP向EBGP对等体发布EBGP路由时,会检查AS_Path属性中的第一个AS号,不会向EBGP对等体发布第一个AS号与该EBGP对等体所在的AS相同的路由 |
配置本机作为路由反射器,对等体/对等体组作为路由反射器的客户机 |
peer { group-name | ipv4-address [ mask-length ] } reflect-client |
缺省情况下,没有配置路由反射器及其客户机 |
(可选)允许路由反射器在客户机之间反射EVPN路由 |
reflect between-clients |
缺省情况下,允许路由反射器在客户机之间反射EVPN路由 |
(可选)配置路由反射器的集群ID |
reflector cluster-id { cluster-id | ipv4-address } |
缺省情况下,每个路由反射器都使用自己的Router ID作为集群ID |
(可选)配置路由反射器对反射的EVPN路由进行过滤 |
rr-filter ext-comm-list-number |
缺省情况下,路由反射器不会对反射的EVPN路由进行过滤 |
(可选)允许路由反射器反射路由时修改路由属性 |
reflect change-path-attribute |
缺省情况下,不允许路由反射器反射路由时修改路由属性 |
在本机上开启Route Server功能,配置对等体/对等体组作为Route Server的客户机 |
peer { group-name | ipv4-address [ mask-length ] } route-server-client [ external ] |
缺省情况下,未配置Route Server功能及其客户机。 在本机上配置Route Server功能后,对等设备上需要配置peer ignore-first-as命令,不检查从指定EBGP对等体发来的更新消息中AS_Path属性的第一个AS号,否则邻居关系无法正常建立 |
配置向EBGP对等体/对等体组发布路由时不改变下一跳 |
peer { group-name | ipv4-address [ mask-length ] } next-hop-invariable |
缺省情况下,向EBGP对等体/对等体组发布路由时会将下一跳改为自己的地址 |
对来自对等体/对等体组的路由或发布给对等体/对等体组的路由应用路由策略 |
peer { group-name | ipv4-address [ mask-length ] } route-policy route-policy-name { export | import } |
缺省情况下,没有为对等体/对等体组指定路由策略 |
设置基于二层ACL的路由过滤策略 |
· peer { group-name | ipv4-address [ mask-length ] } filter-policy { mac-acl-number | name mac-acl-name } { export | import } · filter-policy { mac-acl-number | name mac-acl-name } export · filter-policy { mac-acl-number | name mac-acl-name } import |
缺省情况下,未设置基于二层ACL的路由过滤策略。 在二层ACL中,rule [ rule-id ] { deny | permit } dest-mac dest-address dest-mask命令配置的规则用来过滤携带指定MAC地址的MAC/IP发布路由,不能过滤其他类型的BGP EVPN路由。除了上述规则之外,二层ACL中的其他规则对EVPN路由的过滤不生效 |
配置向对等体/对等体组发布团体属性 |
peer { group-name | ipv4-address [ mask-length ] } advertise-community |
缺省情况下,不向对等体/对等体组发布团体属性 |
为指定对等体/对等体组配置Add-Path功能 |
peer { group-name | ipv4-address [ mask-length ] } additional-paths { receive | send } * |
缺省情况下,未配置Add-Path功能 |
配置向指定对等体/对等体组发送的Add-Path优选路由的最大条数 |
peer { group-name | ipv4-address [ mask-length ] } advertise additional-paths best number |
缺省情况下,向指定对等体/对等体组发送的Add-Path优选路由的最大条数为1 |
配置Add-Path优选路由的最大条数 |
additional-paths select-best best-number |
缺省情况下,Add-Path优选路由的最大条数为1 |
请在用户视图下执行如下命令,复位或软复位BGP会话。
· 复位EVPN地址族下的BGP会话。
reset bgp [ instance instance-name ] { as-number | ipv4-address [ mask-length ] | all | external | group group-name | internal } l2vpn evpn
· 手工对EVPN地址族下的BGP会话进行软复位。
refresh bgp [ instance instance-name ] { ipv4-address [ mask-length ] | all | external | group group-name | internal } { export | import } l2vpn evpn
交叉连接组相关命令的详细介绍,请参见“MPLS命令参考”中的“MPLS L2VPN”。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建一个交叉连接组,并进入交叉连接组视图 |
xconnect-group group-name |
- |
(可选)配置交叉连接组的描述信息 |
description text |
缺省情况下,未配置交叉连接组的描述信息 |
(可选)开启交叉连接组 |
undo shutdown |
缺省情况下,交叉连接组处于开启状态 |
创建一个交叉连接,并进入交叉连接视图 |
connection connection-name |
- |
在PW模板中可以指定PW的属性,如PW的数据封装类型、是否使用控制字等。具有相同属性的PW可以通过引用相同的PW模板,实现对PW属性的配置,从而简化配置。
PW模板相关命令的详细介绍,请参见“MPLS命令参考”中的“MPLS L2VPN”。
建议在同一条PW的两端PE上配置相同的PW数据封装类型。
同一条PW的两端PE的控制字功能配置必须保持一致,即两端均开启控制字功能或均不开启控制字功能,否则会导致PW无法建立。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建PW模板,并进入PW模板视图 |
pw-class class-name |
- |
启控制字功能 |
control-word enable |
缺省情况下,控制字功能处于关闭状态 |
PW数据封装类型 |
pw-type { ethernet | vlan } |
缺省情况下,PW数据封装类型为VLAN |
配置流标签功能 |
flow-label { both | receive | send } static |
缺省情况下,流标签功能处于关闭状态 目前,EVPN VPWS仅支持静态流标签,即必须指定static参数,否则流标签功能不生效 |
通过在本端PE和对端PE上分别配置一组local-service-id以及remote-service-id,使得两端PE间可以建立两条方向相反的单向虚拟连接。两端PE配置的local-service-id均与对端PE配置的remote-service-id匹配成功后,将会建立一条EVPN PW。
同一个交叉连接中不能通过重复执行evpn local-service-id remote-service-id修改已经创建的EVPN PW,如需修改已经创建的EVPN PW,请先通过undo evpn local-service-id remote-service-id命令删除已经创建的EVPN PW,再执行evpn local-service-id remote-service-id命令创建新的EVPN PW。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入交叉连接组视图 |
xconnect-group group-name |
- |
创建交叉连接组EVPN实例,并进入交叉连接组EVPN实例视图 |
evpn encapsulation mpls |
- |
配置交叉连接组EVPN实例的RD |
route-distinguisher route-distinguisher |
缺省情况下,未指定EVPN实例的RD |
配置交叉连接组EVPN实例的Route Target属性 |
vpn-target { vpn-target&<1-8> } [ both | export-extcommunity | import-extcommunity ] |
缺省情况下,未指定交叉连接组EVPN实例的Route Target属性 建议为交叉连接组EVPN实例配置的Import target不要与VPN实例、公网实例和VSI视图下EVPN实例的Export target匹配,反之亦然 |
进入交叉连接视图 |
connection connection-name |
- |
(可选)配置PW的MTU值 |
mtu size |
缺省情况下,PW的MTU值为1500字节 |
创建EVPN PW,并进入EVPN PW视图 |
evpn local-service-id local-service-id remote-service-id remote-service-id [ tunnel-policy tunnel-policy-name ] [ pw-class class-name ] |
本命令不能与交叉连接下的peer命令同时配置 |
配置某个接口的以太网服务实例与交叉连接关联后,从该接口接收到的、符合以太网服务实例报文匹配规则的报文,将通过关联该交叉连接的PW或另一条AC转发。以太网服务实例提供了多种报文匹配规则(包括接口接收到的所有报文、所有携带VLAN Tag的报文和所有不携带VLAN Tag的报文等),为报文关联EVPN PW或AC提供了更加灵活的匹配方式。
配置AC与交叉连接关联时,可以指定AC与Track项联动。仅当关联的Track项中至少有一个状态为positive时,AC的状态才会up,否则,AC的状态为down。
本配置与以太网链路聚合功能互斥。二层以太网接口加入聚合组后,不能再将该接口上的以太网服务实例与交叉连接关联;反之亦然。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入交叉连接组视图 |
xconnect-group group-name |
- |
进入交叉连接视图 |
connection connection-name |
- |
将以太网服务实例与交叉连接关联 |
ac interface interface-type interface-number service-instance instance-id [ access-mode { ethernet | vlan } ] [ track track-entry-number&<1-3> ] |
缺省情况下,以太网服务实例未与交叉连接关联 |
配置以太网服务实例的报文统计功能时,需要注意:
· 只有为以太网服务实例配置了报文匹配方式并关联了交叉连接,报文统计功能才会生效。如果在报文统计过程中修改报文匹配方式或关联的交叉连接,则重新进行报文统计计数。
· 用户可以通过display l2vpn service-instance verbose命令查看以太网服务实例的报文统计信息。
可以使用reset l2vpn statistics ac命令清除AC的报文统计信息。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
· 进入二层以太网接口视图 · 进入二层聚合接口视图 |
|
进入以太网服务实例视图 |
service-instance instance-id |
- |
开启以太网服务实例的报文统计功能 |
statistics enable |
缺省情况下,以太网服务实例的报文统计功能处于关闭状态 |
开启EVPN PW的报文统计功能后,可使用display l2vpn pw命令查看EVPN PW的报文统计信息,使用reset l2vpn statistics pw命令清除EVPN PW的报文统计信息。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入交叉连接组视图 |
xconnect-group group-name |
- |
进入交叉连接视图 |
connection connection-name |
- |
进入EVPN PW视图 |
evpn local-service-id local-service-id remote-service-id remote-service-id [ tunnel-policy tunnel-policy-name ] [ pw-class class-name ] |
- |
开启EVPN PW的报文统计功能 |
statistics enable |
缺省情况下,EVPN PW的报文统计功能处于关闭状态 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后EVPN VPWS的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,用户可以执行reset命令来清除EVPN的相关信息。
display bgp group、display bgp peer、display bgp update-group命令的详细介绍请参见“三层技术-IP路由命令参考”中的“BGP”。
display l2vpn forwarding、display l2vpn interface、display l2vpn pw、display l2vpn pw-class、display l2vpn service-instance、reset l2vpn statistics pw、reset l2vpn statistics ac命令的详细介绍请参见“MPLS命令参考”中的“MPLS L2VPN”。
表1-1 EVPN VPWS显示和维护
操作 |
命令 |
显示BGP对等体组的信息 |
display bgp [ instance instance-name ] group l2vpn evpn [ group-name group-name ] |
显示BGP对等体或对等体组的状态和统计信息 |
display bgp [ instance instance-name ] peer l2vpn evpn [ ipv4-address mask-length | { ipv4-address | group-name group-name } log-info | [ ipv4-address ] verbose ] |
显示BGP打包组的相关信息 |
display bgp [ instance instance-name ] update-group l2vpn evpn [ ipv4-address ] |
显示EVPN的路由表信息 |
display evpn routing-table { public-instance | vpn-instance vpn-instance-name } [ count ] |
显示交叉连接的转发信息 |
(独立运行模式) display l2vpn forwarding { ac | pw } [ xconnect-group group-name ] [ slot slot-number ] [ verbose ] (IRF模式) display l2vpn forwarding { ac | pw } [ xconnect-group group-name ] [ chassis chassis-number slot slot-number ] [ verbose ] |
显示L2VPN的PW信息 |
display l2vpn pw [ xconnect-group group-name ] [ protocol { bgp | ldp | evpn | static } ] [ verbose ] |
显示PW模板的信息 |
display l2vpn pw-class [ class-name ] |
显示以太网服务实例的信息 |
display l2vpn service-instance [ interface interface-type interface-number [ service-instance instance-id ] ] [ verbose ] |
显示交叉连接的EVPN相关信息 |
display evpn xconnect-group [ name group-name [ connection connection-name ] ] [ count ] |
清除AC的报文统计信息 |
reset l2vpn statistics ac [ interface interface-type interface-number service-instance instance-id ] |
用户网络有两个站点,分别为CE 1和CE 2。CE 1的VLAN 10和CE 2的VLAN10希望通过骨干网建立的EVPN PW实现互通。
在PE 1和PE 2分别创建以太网服务实例1000,匹配接口Ten-GigabitEthernet1/0/1接收到的VLAN Tag为10的报文。
图1-5 EVPN VPWS单归属配置组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
CE 1 |
Vlan-int10 |
10.1.1.10/24 |
P |
Loop0 |
3.3.3.3/32 |
PE 1 |
Loop0 |
1.1.1.1/32 |
|
Vlan-int23 |
11.1.1.2/24 |
|
Vlan-int23 |
11.1.1.1/24 |
|
Vlan-int26 |
11.1.2.2/24 |
CE 2 |
Vlan-int10 |
10.1.1.20/24 |
PE 2 |
Loop0 |
2.2.2.2/32 |
|
|
|
|
Vlan-int26 |
11.1.2.1/24 |
请先在各台设备上创建VLAN,并将相应端口加入VLAN。
(1) 配置CE 1
<CE1> system-view
[CE1] interface vlan-interface 10
[CE1-Vlan-interface10] ip address 10.1.1.10 24
[CE1-Vlan-interface10] quit
(2) 配置PE 1
# 配置LSR ID。
<PE1> system-view
[PE1] interface loopback 0
[PE1-LoopBack0] ip address 1.1.1.1 32
[PE1-LoopBack0] quit
[PE1] mpls lsr-id 1.1.1.1
# 开启L2VPN功能。
[PE1] l2vpn enable
# 全局使能LDP。
[PE1] mpls ldp
[PE1-ldp] quit
# 配置连接P的接口Vlan-interface23,在此接口上使能LDP。
[PE1] interface vlan-interface 23
[PE1-Vlan-interface23] ip address 11.1.1.1 24
[PE1-Vlan-interface23] mpls enable
[PE1-Vlan-interface23] mpls ldp enable
[PE1-Vlan-interface23] undo shutdown
[PE1-Vlan-interface23] quit
# 在PE 1上运行OSPF,用于建立LSP。
[PE1] ospf
[PE1-ospf-1] area 0
[PE1-ospf-1-area-0.0.0.0] network 11.1.1.0 0.0.0.255
[PE1-ospf-1-area-0.0.0.0] network 1.1.1.1 0.0.0.0
[PE1-ospf-1-area-0.0.0.0] quit
[PE1-ospf-1] quit
# 在PE 1和PE 2之间建立IBGP连接,并配置在二者之间通过BGP发布路由信息。
[PE1] bgp 100
[PE1-bgp-default] peer 2.2.2.2 as-number 100
[PE1-bgp-default] peer 2.2.2.2 connect-interface loopback 0
[PE1-bgp-default] address-family l2vpn evpn
[PE1-bgp-default-evpn] peer 2.2.2.2 enable
[PE1-bgp-default-evpn] quit
[PE1-bgp-default] quit
# 在接入CE 1的接口Ten-GigabitEthernet1/0/1上创建以太网服务实例。
[PE1] interface ten-gigabitethernet 1/0/1
[PE1-Ten-GigabitEthernet1/0/1] service-instance 1000
[PE1-Ten-GigabitEthernet1/0/1-srv1000] encapsulation s-vid 10
[PE1-Ten-GigabitEthernet1/0/1-srv1000] quit
[PE1-Ten-GigabitEthernet1/0/1] quit
# 创建交叉连接组vpna和交叉连接组EVPN实例,并指定EVPN采用MPLS封装,同时配置交叉连接组EVPN实例的RD与RT信息。
[PE1] xconnect-group vpna
[PE1-xcg-vpna] evpn encapsulation mpls
[PE1-xcg-vpna-evpn-mpls] route-distinguisher 1:1
[PE1-xcg-vpna-evpn-mpls] vpn-target 1:1 export-extcommunity
[PE1-xcg-vpna-evpn-mpls] vpn-target 1:1 import-extcommunity
[PE1-xcg-vpna-evpn-mpls] quit
# 创建交叉连接pw1,将接口Ten-GigabitEthernet1/0/1的以太网服务实例1000与此交叉连接关联,并在交叉连接内创建EVPN PW,以实现AC和EVPN PW关联。
[PE1-xcg-vpna] connection pw1
[PE1-xcg-vpna-pw1] ac interface ten-gigabitethernet 1/0/1 service-instance 1000
[PE1-xcg-vpna-pw1-Ten-GigabitEthernet1/0/1-srv1000] quit
[PE1-xcg-vpna-pw1] evpn local-service-id 1 remote-service-id 2
[PE1-xcg-vpna-pw1-1-2] quit
[PE1-xcg-vpna-pw1] quit
[PE1-xcg-vpna] quit
(3) 配置P
# 配置LSR ID。
<P> system-view
[P] interface loopback 0
[P-LoopBack0] ip address 3.3.3.3 32
[P-LoopBack0] quit
[P] mpls lsr-id 3.3.3.3
# 全局使能LDP。
[P] mpls ldp
[P-ldp] quit
# 配置连接PE 1的接口Vlan-interface23,在此接口上使能LDP。
[P] interface vlan-interface 23
[P-Vlan-interface23] ip address 11.1.1.2 24
[P-Vlan-interface23] mpls enable
[P-Vlan-interface23] mpls ldp enable
[P-Vlan-interface23] undo shutdown
[P-Vlan-interface23] quit
# 配置连接PE 2的接口Vlan-interface26,在此接口上使能LDP。
[P] interface vlan-interface 26
[P-Vlan-interface26] ip address 11.1.2.2 24
[P-Vlan-interface26] mpls enable
[P-Vlan-interface26] mpls ldp enable
[P-Vlan-interface26] undo shutdown
[P-Vlan-interface26] quit
# 在P上运行OSPF,用于建立LSP。
[P] ospf
[P-ospf-1] area 0
[P-ospf-1-area-0.0.0.0] network 11.1.1.0 0.0.0.255
[P-ospf-1-area-0.0.0.0] network 11.1.2.0 0.0.0.255
[P-ospf-1-area-0.0.0.0] network 3.3.3.3 0.0.0.0
[P-ospf-1-area-0.0.0.0] quit
[P-ospf-1] quit
(4) 配置PE 2
# 配置LSR ID。
<PE2> system-view
[PE2] interface loopback 0
[PE2-LoopBack0] ip address 2.2.2.2 32
[PE2-LoopBack0] quit
[PE2] mpls lsr-id 2.2.2.2
# 开启L2VPN功能。
[PE2] l2vpn enable
# 全局使能LDP。
[PE2] mpls ldp
[PE2-ldp] quit
# 配置连接P的接口Vlan-interface26,在此接口上使能LDP。
[PE2] interface vlan-interface 26
[PE2-Vlan-interface26] ip address 11.1.2.1 24
[PE2-Vlan-interface26] mpls enable
[PE2-Vlan-interface26] mpls ldp enable
[PE2-Vlan-interface26] undo shutdown
[PE2-Vlan-interface26] quit
# 在PE 2上运行OSPF,用于建立LSP。
[PE2] ospf
[PE2-ospf-1] area 0
[PE2-ospf-1-area-0.0.0.0] network 2.2.2.2 0.0.0.0
[PE2-ospf-1-area-0.0.0.0] network 11.1.2.0 0.0.0.255
[PE2-ospf-1-area-0.0.0.0] quit
[PE2-ospf-1] quit
# 在PE 1和PE 2之间建立IBGP连接,并配置在二者之间通过BGP发布路由信息。
[PE2] bgp 100
[PE2-bgp-default] peer 1.1.1.1 as-number 100
[PE2-bgp-default] peer 1.1.1.1 connect-interface loopback 0
[PE2-bgp-default] address-family l2vpn evpn
[PE2-bgp-default-evpn] peer 1.1.1.1 enable
[PE2-bgp-default-evpn] quit
[PE2-bgp-default] quit
# 在接入CE 2的接口Ten-GigabitEthernet1/0/1上创以太网建服务实例。
[PE2] interface ten-gigabitethernet 1/0/1
[PE2-Ten-GigabitEthernet1/0/1] service-instance 1000
[PE2-Ten-GigabitEthernet1/0/1-srv1000] encapsulation s-vid 10
[PE2-Ten-GigabitEthernet1/0/1-srv1000] quit
[PE2-Ten-GigabitEthernet1/0/1] quit
# 创建交叉连接组vpna和交叉连接组EVPN实例,并指定EVPN采用MPLS封装,同时配置交叉连接组EVPN实例的RD与RT信息。
[PE2] xconnect-group vpna
[PE2-xcg-vpna] evpn encapsulation mpls
[PE2-xcg-vpna-evpn-mpls] route-distinguisher 1:1
[PE2-xcg-vpna-evpn-mpls] vpn-target 1:1 export-extcommunity
[PE2-xcg-vpna-evpn-mpls] vpn-target 1:1 import-extcommunity
[PE2-xcg-vpna-evpn-mpls] quit
# 创建交叉连接pw1,将接口Ten-GigabitEthernet1/0/1的以太网服务实例1000与此交叉连接关联,并在交叉连接内创建PW,以实现AC和PW关联。
[PE2-xcg-vpna] connection pw1
[PE2-xcg-vpna-pw1] ac interface ten-gigabitethernet 1/0/1 service-instance 1000
[PE2-xcg-vpna-pw1-Ten-GigabitEthernet1/0/1-srv1000] quit
[PE2-xcg-vpna-pw1] evpn local-service-id 2 remote-service-id 1
[PE2-xcg-vpna-pw1-2-1] quit
[PE2-xcg-vpna-pw1] quit
[PE2-xcg-vpna] quit
(5) 配置CE 2
<CE2> system-view
[CE2] interface vlan-interface 10
[CE2-Vlan-interface10] ip address 10.1.1.20 24
[CE2-Vlan-interface10] quit
# 在PE 1上查看PW信息,可以看到建立了一条EVPN PW。
[PE1] display l2vpn pw
Flags: M - main, B - backup, E - ecmp, BY - bypass, H - hub link, S - spoke link
N - no split horizon, A - administration, ABY - ac-bypass
PBY - pw-bypass
Total number of PWs: 1
1 up, 0 blocked, 0 down, 0 defect, 0 idle, 0 duplicate
Xconnect-group Name: vpna
Peer PWID/RmtSite/SrvID In/Out Label Proto Flag Link ID State
2.2.2.2 2 710127/710127 EVPN M 0 Up
# 在PE 1上查看交叉连接的EVPN信息。
[PE1] display evpn xconnect-group
Flags: P - Primary, B - Backup, C - Control word
Xconnect group name: vpna
Connection Name: pw1
ESI : 0000.0000.0000.0000.0000
Local service ID : 1
Remote service ID : 2
Control word : Disable
In label : 710127
Local MTU : 1500
AC State : Up
PW type : VLAN
Nexthop ESI Out label Flags MTU State
2.2.2.2 0000.0000.0000.0000.0000 710127 P 1500 Up
# 在PE 2上也可以看到EVPN PW信息。
[PE2] display l2vpn pw
Flags: M - main, B - backup, E - ecmp, BY - bypass, H - hub link, S - spoke link
N - no split horizon, A - administration, ABY - ac-bypass
PBY - pw-bypass
Total number of PWs: 1
1 up, 0 blocked, 0 down, 0 defect, 0 idle, 0 duplicate
Xconnect-group Name: vpna
Peer PWID/RmtSite/SrvID In/Out Label Proto Flag Link ID State
1.1.1.1 1 710127/710127 EVPN M 0 Up
# CE 1与CE 2之间能够ping通。
在图1-6中,PE 1和P、P和PE 2之间分别建立了一条MPLS TE隧道,但是在PE 1和PE 2之间未建立MPLS TE隧道。通过配置域内多段PW:P与PE 1之间、P与PE 2之间建立EVPN PW、在P上将两条PW关联,可以实现在PE 1和PE 2之间不存在公网隧道的情况下间接在PE 1和PE 2之间建立连接,确保CE 1和CE 2的二层报文跨越骨干网传送。
图1-6 域内多段PW配置组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
CE 1 |
Vlan-int10 |
100.1.1.1/24 |
P |
Loop0 |
192.4.4.4/32 |
PE 1 |
Loop0 |
192.2.2.2/32 |
|
Vlan-int23 |
23.1.1.2/24 |
|
Vlan-int23 |
23.1.1.1/24 |
|
Vlan-int26 |
26.2.2.2/24 |
CE 2 |
Vlan-int10 |
100.1.1.2/24 |
PE 2 |
Loop0 |
192.3.3.3/32 |
|
|
|
|
Vlan-int26 |
26.2.2.1/24 |
请先在各台设备上创建VLAN,并将相应端口加入VLAN。
(1) 配置CE 1
<CE1> system-view
[CE1] interface vlan-interface 10
[CE1-Vlan-interface10] ip address 100.1.1.1 24
[CE1-Vlan-interface10] quit
(2) 配置PE 1
# 配置LSR ID。
<PE1> system-view
[PE1] interface loopback 0
[PE1-LoopBack0] ip address 192.2.2.2 32
[PE1-LoopBack0] quit
[PE1] mpls lsr-id 192.2.2.2
# 开启L2VPN功能。
[PE1] l2vpn enable
# 配置MPLS TE,以便在PE 1和P之间建立MPLS TE隧道。详细配置过程,请参见“MPLS配置指导”中的“MPLS TE”。
# 在接入CE 1的接口Ten-GigabitEthernet1/0/1上创建以太网服务实例1000,并允许VLAN 10的报文通过。
[PE1] interface ten-gigabitethernet 1/0/1
[PE1-Ten-GigabitEthernet1/0/1] service-instance 1000
[PE1-Ten-GigabitEthernet1/0/1-srv1000] encapsulation s-vid 10
[PE1-Ten-GigabitEthernet1/0/1-srv1000] quit
[PE1-Ten-GigabitEthernet1/0/1] quit
# 创建交叉连接组vpna和交叉连接组EVPN实例,并指定EVPN采用MPLS封装,同时配置交叉连接组EVPN实例的RD与RT。
[PE1] xconnect-group vpna
[PE1-xcg-vpna] evpn encapsulation mpls
[PE1-xcg-vpna-evpn-mpls] route-distinguisher 1:1
[PE1-xcg-vpna-evpn-mpls] vpn-target 1:1 export-extcommunity
[PE1-xcg-vpna-evpn-mpls] vpn-target 1:2 import-extcommunity
[PE1-xcg-vpna-evpn-mpls] quit
# 创建交叉连接pw1,将接口Ten-GigabitEthernet1/0/1的以太网服务实例1000与此交叉连接关联与此交叉连接关联,并在交叉连接内创建EVPN PW,以实现AC和EVPN PW关联。
[PE1-xcg-vpna] connection pw1
[PE1-xcg-vpna-pw1] evpn local-service-id 2 remote-service-id 1
[PE1-xcg-vpna-pw1-2-1] quit
[PE1-xcg-vpna-pw1] ac interface ten-gigabitethernet 1/0/1 service-instance 1000
[PE1-xcg-vpna-pw1-Ten-GigabitEthernet1/0/1-srv1000] quit
[PE1-xcg-vpna-pw1] quit
[PE1-xcg-vpna] quit
# 在PE 1和P之间建立IBGP连接,并配置在二者之间通过BGP发布路由信息。
[PE1] bgp 100
[PE1-bgp-default] peer 192.4.4.4 as-number 100
[PE1-bgp-default] peer 192.4.4.4 connect-interface LoopBack0
[PE1-bgp-default] address-family l2vpn evpn
[PE1-bgp-default-evpn] peer 192.4.4.4 enable
[PE1-bgp-default-evpn] quit
[PE1-bgp-default] quit
(3) 配置P
# 配置LSR ID。
<P> system-view
[P] interface loopback 0
[P-LoopBack0] ip address 192.4.4.4 32
[P-LoopBack0] quit
[P] mpls lsr-id 192.4.4.4
# 开启L2VPN功能。
[P] l2vpn enable
# 配置MPLS TE,以便在PE 1和P、P和PE 2之间建立MPLS TE隧道。详细配置过程,请参见“MPLS配置指导”中的“MPLS TE”。
# 创建交叉连接组vpna和交叉连接组EVPN实例,并指定EVPN采用MPLS封装,同时配置交叉连接组EVPN实例的RD与RT。
[P] xconnect-group vpna
[P-xcg-vpna] evpn encapsulation mpls
[P-xcg-vpna-evpn-mpls] route-distinguisher 1:1
[P-xcg-vpna-evpn-mpls] vpn-target 1:2 export-extcommunity
[P-xcg-vpna-evpn-mpls] vpn-target 1:1 1:3 import-extcommunity
[P-xcg-vpna-evpn-mpls] quit
# 创建交叉连接pw1,在交叉连接内创建两条EVPN PW,将这两条PW关联,以便建立多段PW。
[P-xcg-vpna] connection pw1
[P-xcg-vpna-pw1] evpn local-service-id 1 remote-service-id 2
[P-xcg-vpna-pw1-1-2] quit
[P-xcg-vpna-pw1] evpn local-service-id 3 remote-service-id 4
[P-xcg-vpna-pw1-3-4] quit
[P-xcg-vpna-pw1] quit
[P-xcg-vpna] quit
# 在P上配置BGP发布带标签的EVPN路由。
[P] bgp 100
[P-bgp-default] peer 192.2.2.2 as-number 100
[P-bgp-default] peer 192.2.2.2 connect-interface LoopBack0
[P-bgp-default] peer 192.3.3.3 as-number 100
[P-bgp-default] peer 192.3.3.3 connect-interface LoopBack0
[P-bgp-default] address-family l2vpn evpn
[P-bgp-default-evpn] peer 192.2.2.2 enable
[P-bgp-default-evpn] peer 192.3.3.3 enable
[P-bgp-default-evpn] quit
[P-bgp-default] quit
(4) 配置PE 2
# 配置LSR ID。
<PE2> system-view
[PE2] interface loopback 0
[PE2-LoopBack0] ip address 192.3.3.3 32
[PE2-LoopBack0] quit
[PE2] mpls lsr-id 192.3.3.3
# 开启L2VPN功能。
[PE2] l2vpn enable
# 配置MPLS TE,以便在PE 2和P之间建立MPLS TE隧道。详细配置过程,请参见“MPLS配置指导”中的“MPLS TE”。
# 在接入CE 2的接口Ten-GigabitEthernet1/0/1上创建以太网服务实例1000,并允许VLAN 10的报文通过。
[PE2] interface ten-gigabitethernet 1/0/1
[PE2-Ten-GigabitEthernet1/0/1] service-instance 1000
[PE2-Ten-GigabitEthernet1/0/1-srv1000] encapsulation s-vid 10
[PE2-Ten-GigabitEthernet1/0/1-srv1000] quit
[PE2-Ten-GigabitEthernet1/0/1] quit
# 创建交叉连接组vpna和交叉连接组EVPN实例,并指定EVPN采用MPLS封装,同时配置交叉连接组EVPN实例的RD与RT。
[PE2] xconnect-group vpna
[PE2-xcg-vpna] evpn encapsulation mpls
[PE2-xcg-vpna-evpn-mpls] route-distinguisher 1:1
[PE2-xcg-vpna-evpn-mpls] vpn-target 1:3 export-extcommunity
[PE2-xcg-vpna-evpn-mpls] vpn-target 1:2 import-extcommunity
[PE2-xcg-vpna-evpn-mpls] quit
# 创建交叉连接pw1,将接口Ten-GigabitEthernet1/0/1的以太网服务实例1000与此交叉连接关联,并在交叉连接内创建EVPN PW,以实现AC和EVPN PW关联。
[PE2-xcg-vpna] connection pw1
[PE2-xcg-vpna-pw1] evpn local-service-id 4 remote-service-id 3
[PE2-xcg-vpna-pw1-4-3] quit
[PE2-xcg-vpna-pw1] ac interface ten-gigabitethernet 1/0/1 service-instance 1000
[PE2-xcg-vpna-pw1-Ten-GigabitEthernet1/0/1-srv1000] quit
[PE2-xcg-vpna-pw1] quit
[PE2-xcg-vpna] quit
# 在PE 2和P之间建立IBGP连接,并配置在二者之间通过BGP发布路由信息。
[PE2] bgp 100
[PE2-bgp-default] peer 192.4.4.4 as-number 100
[PE2-bgp-default] peer 192.4.4.4 connect-interface LoopBack0
[PE2-bgp-default] address-family l2vpn evpn
[PE2-bgp-default-evpn] peer 192.4.4.4 enable
[PE2-bgp-default-evpn] quit
[PE2-bgp-default] quit
(5) 配置CE 2
<CE2> system-view
[CE2] interface vlan-interface 10
[CE2-Vlan-interface10] ip address 100.1.1.2 24
[CE2-Vlan-interface10] quit
# 在PE 1上查看PW信息,可以看到已经建立了EVPN PW。
[PE1] display l2vpn pw
Flags: M - main, B - backup, E - ecmp, BY - bypass, H - hub link, S - spoke link
N - no split horizon, A - administration, ABY - ac-bypass
PBY - pw-bypass
Total number of PWs: 1
1 up, 0 blocked, 0 down, 0 defect, 0 idle, 0 duplicate
Xconnect-group Name: vpna
Peer PWID/RmtSite/SrvID In/Out Label Proto Flag Link ID State
192.4.4.4 1 1151/1150 EVPN M 0 Up
# 在P上查看PW信息,可以看到建立了两条PW连接,构成了多段PW。
[P] display l2vpn pw
Flags: M - main, B - backup, E - ecmp, BY - bypass, H - hub link, S - spoke link
N - no split horizon, A - administration, ABY - ac-bypass
PBY - pw-bypass
Total number of PWs: 2
2 up, 0 blocked, 0 down, 0 defect, 0 idle, 0 duplicate
Xconnect-group Name: vpna
Peer PWID/RmtSite/SrvID In/Out Label Proto Flag Link ID State
192.2.2.2 2 1150/1151 EVPN M 0 Up
192.3.3.3 4 1151/1151 EVPN M 1 Up
# 在PE 2上也可以看到PW信息。
[PE2] display l2vpn pw
Flags: M - main, B - backup, E - ecmp, BY - bypass, H - hub link, S - spoke link
N - no split horizon, A - administration, ABY - ac-bypass
PBY - pw-bypass
Total number of PWs: 1
1 up, 0 blocked, 0 down, 0 defect, 0 idle, 0 duplicate
Xconnect-group Name: vpna
Peer PWID/RmtSite/SrvID In/Out Label Proto Flag Link ID State
192.4.4.4 3 1151/1151 EVPN M 0 Up
# CE 1与CE 2之间能够ping通。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!