前言:
为了解决静态 VxLAN的配置量大、mac表项学习仅能通过泛洪学习的这种低端方式的缺点,我们引入了控制层面,通过bgp evpn来构建VxLAN,起到自动建立隧道 (type 3) 、自动构建BUM转发层面 (type 3) 、自动学习mac路由(type2)的效果
一、拓朴图如下:
要求:AR1 能通过 ISP 对 AR2 进行动态方式的大二层互访;AR3 和 AR4 同样
二、配置过程:
运营商内部侧:
1、配网络侧底层互通(underlayer)
leaf之间loopback接口互访(以后的VTEP地址:VxLAN隧道IP地址)
2、配置运营商网络侧 overlayer:
a、全局下使能 evpn,并在 PE 之间建立 mp-bgp evpn peer 邻居关系
evpn-overlay enable
bgp 123
undo default ipv4-unicast
peer x.x.x.x as-number 123
peer x.x.x.x connect loopback 0
l2vpn-family evpn
peer x.x.x.x enable
b、创建 nve 接口,绑定二层 vni,配置控制层面使用 evpn bgp 协议和学习方式
int nve1
source 10.1.2.2
vni 5010 head-end peer-list protocol bgp
这一步,将产生 3 类 bgp evpn 路由,自动产生 vxlan tunnel,自动产生 bum 头端复制的转发表项,2 类路由模拟器里看不到表项
3、配置运营商用户侧 overlayer
a、创建BD,关联 vni,将 BD 引入到 evpn,配置RD、RT,用于evpn的区分:
bridge-domain 10
vxlan vni 5010 #针对 vlan10关联二层vni(1:1绑定,只能关联一个VNI)
evpn
route-distinguisher 5010:1
vpn-target 5010:1
b、配置 VAP,关联 BD
int G1/0/0.10 mode l2 #只有CE和NE系列有此命令,S系列没有此条命令
encapsulation dot1q vid 10 #
bridge-doain 10
4、真正用户侧:
a、AR1和AR2向交换机接口侧配置IP
b、S1和S2交换机起vlan10,向运营商侧配置trunk,允许vlan10通过
三、名词解释:
PMSI:Provider Multicast Service ID 运营商组播服务ID,包括二层vni(wireshark显示为MPLS Label,实则为 vni 值)、tunnel-id end point(出口)
NVE:Network Virtualization Edge(接口,用于连接网络侧,转发VxLAN的封装)
VTEP:Virtual Tunnel EndPoint #虚拟隧道终节点Leap loopback地址
VAP:Virtual Access Point,Leaf的用户侧接口,关联二层BD,用于终结|打标用户侧的vlan子接口
四、常用命令:
dis port vlan 10 G1/0/1 active #展示完整的该端口的vlan 列表
dis bridge-domain 10 verbose #查看BD10的详细信息
dis bgp evpn all routing-table mac-route | inclusive-route 0:32:10.1.3.3 #显示bgp evpn 的mac、arp路由
evpn-overlayer enable #全局使能evpn
l2vpn-family evpn #bgp下,起二层vpn地址簇
dis bgp evpn peer #查看bgp evpn 邻居是否建立
dis bgp evpn all routing-table peer 10.1.1.1 advertised #查看向peer发送的路由列表
dis bgp evpn all routing-table inclusive-route 0:32:10.1.3.3 #查看bgp evpn的inclusive-multist-route,用于构建
refresh bgp evpn all export | import #软清一下bgp evpn发送|收取的路由
reset bgp all #重置一下bgp进程
dis vxlan peer #查看VxLAN对端列表
dis vxlan tunnel | verbose #查看VxLAN隧道
dis vxlan vni #查看 VxLAN 的vni列表
dis bridge-domain x |verbose #查看BD
dis mac-address bridge-domain 10 | verbose #查看BD10的MAC表
dis port vlan 10 G0/0/1 #查看某个端口属于哪个vlan
dis interface nve | main | 1-2 #查看nve接口信息
[leaf1]:
evpn-overlay enable
#
bridge-domain 10
vxlan vni 5010
evpn
route-distinguisher 5010:1
vpn-target 5010:1 export-extcommunity
vpn-target 5010:1 import-extcommunity
#
bridge-domain 20
vxlan vni 5020
evpn
route-distinguisher 5020:1
vpn-target 5020:1 export-extcommunity
vpn-target 5020:1 import-extcommunity
#
interface GE1/0/0.10 mode l2
encapsulation dot1q vid 10
bridge-domain 10
#
interface GE1/0/0.20 mode l2
encapsulation dot1q vid 20
bridge-domain 20
#
interface GE1/0/1
undo portswitch
undo shutdown
ip address 10.1.12.1 255.255.255.0
#
interface LoopBack0
ip address 10.1.1.1 255.255.255.255
#
interface Nve1
source 10.1.1.1
vni 5010 head-end peer-list protocol bgp
vni 5020 head-end peer-list protocol bgp
#
bgp 123
router-id 1.1.1.1
undo default ipv4-unicast
peer 10.1.3.3 as-number 123
peer 10.1.3.3 connect-interface LoopBack0
#
ipv4-family unicast
undo peer 10.1.3.3 enable
#
l2vpn-family evpn
policy vpn-target
peer 10.1.3.3 enable