本文主要是介绍动态 VxLAN 浅析及配置示例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言:
为了解决静态 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、在PE之间建立mp-bgp evpn peer邻居关系,并全局下使能 evpn
evpn-overlay enable
bgp 234
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系列有此命令,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地址
四、常用命令:
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 10vxlan vni 5010evpnroute-distinguisher 5010:1vpn-target 5010:1 export-extcommunityvpn-target 5010:1 import-extcommunity
#
bridge-domain 20vxlan vni 5020evpnroute-distinguisher 5020:1vpn-target 5020:1 export-extcommunityvpn-target 5020:1 import-extcommunity
#
interface GE1/0/0.10 mode l2encapsulation dot1q vid 10bridge-domain 10
#
interface GE1/0/0.20 mode l2encapsulation dot1q vid 20bridge-domain 20
#
interface GE1/0/1undo portswitchundo shutdownip address 10.1.12.1 255.255.255.0
#
interface LoopBack0ip address 10.1.1.1 255.255.255.255
#
interface Nve1source 10.1.1.1vni 5010 head-end peer-list protocol bgpvni 5020 head-end peer-list protocol bgp
#
bgp 123router-id 1.1.1.1undo default ipv4-unicastpeer 10.1.3.3 as-number 123peer 10.1.3.3 connect-interface LoopBack0#ipv4-family unicastundo peer 10.1.3.3 enable#l2vpn-family evpnpolicy vpn-targetpeer 10.1.3.3 enable
五、验证:
ping包过去,有回应:
抓包看包结构:
看一下 bgp evpn 的包结构:
看动态学习到的 BD 10 mac表:
看下evpn路由表:
这篇关于动态 VxLAN 浅析及配置示例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!