多平台统一管理软件接口,如何实现多平台统一管理软件接口
855
2022-10-18
使用BGP EVPN方式部署分布式网关VXLAN
BGP EVPN
VXLAN能够通过VETP隧道实现大二层MAC IN UDP,但是没有控制平面,虽然可以手动创建隧道,但是再面对大规模虚拟机场景下,基本不太现实,同时BUM报文泛滥,占用带宽华为的VXLAN方案可以通过BGP EVPN方式来充当控制平面,解决相关问题。EVPN(Ethernet Virtual Private Network)是一种用于二层网络互联的VPN技术。EVPN技术采用类似于BGP/MPLS IP VPN的机制,在BGP协议的基础上定义了一种新的NLRI(Network Layer Reachability Information,网络层可达信息)即EVPN NLRI,EVPN NLRI定义了几种新的BGP EVPN路由类型,用于处在二层网络的不同站点之间的MAC地址学习和发布。
BGP EVPN路由
Type2路由,MAC/IP路由
主要实现的功能是:
主机MAC地址通告
要实现同子网主机的二层互访,两端VTEP需要相互学习主机MAC。作为BGP EVPN对等体的VTEP之间通过交换MAC/IP路由,可以相互通告已经获取到的主机MAC。其中,MAC Address Length和MAC Address字段为主机MAC地址。
主机ARP通告
MAC/IP路由可以同时携带主机MAC地址+主机IP地址,因此该路由可以用来在VTEP之间传递主机ARP表项,实现主机ARP通告。其中,MAC Address和MAC Address Length字段为主机MAC地址,IP Address和IP Address Length字段为主机IP地址。此时的MAC/IP路由也称为ARP类型路由。
Type3路由Inclusive Multicast路由
该类型路由在VXLAN控制平面中主要用于VTEP的自动发现和VXLAN隧道的动态建立。作为BGP EVPN对等体的VTEP,通过Inclusive Multicast路由互相传递二层VNI和VTEP IP地址信息。其中,Originating Router's IP Address字段为本端VTEP IP地址,MPLS Label字段为二层VNI。如果对端VTEP IP地址是三层路由可达的,则建立一条到对端的VXLAN隧道。同时,如果对端VNI与本端相同,则创建一个头端复制表,用于后续BUM报文转发。
在vxlan跨子网通信的场景中,使用typ3路由
VXLAN分布式网关
VXLAN网关划分
和VLAN类似,不同VNI之间的VXLAN,及VXLAN和非VXLAN之间不能直接相互通信。为了使VXLAN之间,以及VXLAN和非VXLAN之间能够进行通信,VXLAN引入了VXLAN网关。
VXLAN网关分为:二层网关:用于解决租户接入VXLAN虚拟网络的问题,也可用于同一VXLAN虚拟网络的子网通信。
三层网关:用于VXLAN虚拟网络的跨子网通信以及外部网络的访问。
根据三层网关部署方式的不同,VXLAN三层网关又可以分为集中式网关和分布式网关。
分布式网关
VXLAN分布式网关具有如下特点:同一个Leaf节点既可以做VXLAN二层网关,也可以做VXLAN三层网关,部署灵活。Leaf节点只需要学习自身连接服务器的ARP表项,而不必像集中三层网关一样,需要学习所有服务器的ARP表项,解决了集中式三层网关带来的ARP表项瓶颈问题,网络规模扩展能力强。
分布式网关模型
分布式网关实验
实验拓扑
组网说明:1、三台CE交换机,按照spine-leaf组网,CE1属于spine,可以使用不具备VXLAN的功能交换机,CE2,CE2分别数据LEAF-1,LEAF-2,除了作为NVE接入点之外,充当分布式网关,即leaf作为网关,两个网关是一样的2、spine,leaf之间,underlay网络使用ospf协议组网,使用area0,实现vtep之间的互通,每个ce交换机使用loopback接口,充当ospf的router id和vtep地址3、spine,leaf之间,配置bgp,使用loopback接口配置全互联邻居都属于一个AS 100,配置BGP EVPN协议来实现vxlan的控制层面,实现vxlan隧道的自动发现,配置4、leaf交换机上,配置VPN INSTANCE A,用来模拟区分不同租户,使他们路由信息隔离5、POD1,POD2,模拟数据中心下同一个租户的不同网络,实现同子网,跨子网通信6、在leaf上,配置VNI10,VNI20二层VNI,实现VXLAN标记,满足同一个VXLAN下同子网二层通信,同时在SPINE上配置VNI99三层VNI,满足不同VXLAN下跨子网三层通信
现在需要通过分布式网关,实现PC1->PC2的同子网和PC1->PC4的跨子网通信
POD网络配置
PC1 :192.168.1.1/24 ,GW192.168.1.254PC2:192.168.2.1/24,GW192.168.1.254PC3:192.168.1.2/24,GW192.168.1.254PC4:192.168.2.2/24,GW192.168.1.254交换机S1配置VLAN10,20,对应PC1,PC2,S1配置如下:
interface GigabitEthernet0/0/1 port link-type trunk port trunk allow-pass vlan 10 20 # interface GigabitEthernet0/0/2 port link-type access port default vlan 10 # interface GigabitEthernet0/0/3 port link-type access port default vlan 20
S2配置配置类似
UNDEYLAY配置
配置OSPF
CE1作为SPINE,配置如下
[HUAWEI]sysname CE1 [CE1-LoopBack0]ip address 1.1.1.1 32 [CE1-LoopBack0]q [CE1]interface GE 1/0/1 [CE1-GE1/0/1]undo portswitch [CE1-GE1/0/1]ip address 10.1.12.1 24 [CE1-GE1/0/1]q [CE1]interface GE 1/0/2 [CE1-GE1/0/2]undo portswitch [CE1-GE1/0/2]undo shutdown [CE1-GE1/0/2]ip address 10.1.13.1 24 [CE1-GE1/0/2]q [CE1]ospf 1 router-id 1.1.1.1 [CE1-ospf-1]are [CE1-ospf-1]area 0 [CE1-ospf-1-area-0.0.0.0]network 10.1.12.0 0.0.0.255 [CE1-ospf-1-area-0.0.0.0]network 10.1.13.0 0.0.0.255 [CE1-ospf-1-area-0.0.0.0]network 1.1.1.1 255.255.255.0
CE2作为leaf,配置如下:
CE3配置类似
配置完成后,检查OSPF邻居建立和路由,以CE2为例
配置BGP和BGP EVPN对等体
配置BGP全互联,使用loopback接口,创建BGP EVPN对等体,同时使用发布irb类型的路由,可以实现跨子网互访
CE1配置如下:
[CE1]evpn-overlay enable [CE1]bgp 100 [CE1-bgp]peer 2.2.2.2 as-number 100 [CE1-bgp]peer 3.3.3.3 as-number 100 [CE1-bgp]peer 2.2.2.2 connect-interface LoopBack 0 [CE1-bgp]peer 3.3.3.3 connect-interface LoopBack 0 [CE1-bgp]l2vpn-family evpn [CE1-bgp-af-evpn] [CE1-bgp-af-evpn]peer 2.2.2.2 enable [CE1-bgp-af-evpn] peer 2.2.2.2 advertise irb [CE1-bgp-af-evpn]peer 3.3.3.3 enable [CE1-bgp-af-evpn] peer 3.3.3.3 advertise irb
CE2,CE3配置类似配置完成后检查bgp邻居和BGP evpn邻居建立情况,以CE1为例
LEAF的CE2,CE3的VPN实例和EVPN实例
配置EVPN实例,以CE2为例
[CE2]bridge-domain 10 [CE2-bd10]vxlan vni 10 [CE2-bd10]evpn [CE2-bd10-evpn]rou [CE2-bd10-evpn]route-distinguisher 100:1 [CE2-bd10-evpn]vpn-target 100:1 both IVT Assignment result: Info: VPN-Target assignment is successful. EVT Assignment result: Info: VPN-Target assignment is successful. [CE2-bd10-evpn]q [CE2-bd10]q [CE2]bridge-domain 20 [CE2-bd20]vxlan vni 20 [CE2-bd20]evpn [CE2-bd20-evpn]route-distinguisher 100:2 [CE2-bd20-evpn]vp [CE2-bd20-evpn]vpn-target 100:2 b [CE2-bd20-evpn]vpn-target 100:2 both
说明:1、不同的BD域只能绑定一个vxlan vni2、ERT和IRT即vpn-target ,注意配置正确,即CE2的bd10的vpn-target和CE3的bd10的vpn-target一致,不然无法正确传递和接受3、EVPN的rd值和vpn的rd值可以配置一样,方便区分,但是两者不是一个概念
CE3的evpn实例配置与CE2类似,不再重复
配置VPN实例,以CE2为例
创建VPN实例A,用于区别不同租户,配置RD值为100:1,同时配置VPN-target,同时绑定EVPN实例,注意,需要创建三层vni,同时为三层vni绑定EVPN实例
[CE2]ip vpn-instance A [CE2-vpn-instance-A]vxlan vni 99 [CE2-vpn-instance-A]route-distinguisher 100:1 [CE2-vpn-instance-A-af-ipv4]vpn-target 100:1 both IVT Assignment result: Info: VPN-Target assignment is successful. EVT Assignment result: Info: VPN-Target assignment is successful. [CE2-vpn-instance-A-af-ipv4]vpn-target 100:1 both evpn IVT Assignment result: Info: VPN-Target assignment is successful. EVT Assignment result: Info: VPN-Target assignment is successful. [CE2-vpn-instance-A-af-ipv4]vpn-target 100:2 import-extcommunity evpn EVT Assignment result: Info: VPN-Target assignment is successful.
说明:1、相同的VPN实例RD值要一致2、vxlan vni 99为三层vni,二层VNI用于同子网互访,三层VNI用于跨子网互访。bd域下绑定的就是二层vni3、配置100:2的evpn实例是为了将 三层vni 99发布,三层VNI可以随意指定,但是不能和二层vni相同
CE3配置与此一样
配置LEAF的CE2,CE3的BD接口作为分布式网关
CE2上配置vbdif10,vbdif20,分别作为分布式网关,对应各自的BD域bdif接口绑定VPN实例,开启分布式网关功能
[CE2]interface Vbdif 10 [CE2-Vbdif10]ip binding vpn-instance A [CE2-Vbdif10]ip address 192.168.1.254 24 [CE2-Vbdif10]arp distribute-gateway enable [CE2-Vbdif10]arp collect host enable [CE2-Vbdif10]q [CE2]interface Vbdif 20 [CE2-Vbdif20]ip binding vpn-instance A [CE2-Vbdif20]IP address 192.168.2.254 24 [CE2-Vbdif20]arp distribute-gateway enable [CE2-Vbdif20]arp collect host enable
配置完成了后,在POD1,POD2,因为租户都是VPN实例A,可以区分租户路由
配置LEAF的CE2,CE3的vxlan接入点
CE2配置BD10,BD20,分别绑定vni10,vni20,同时配置二层子接口,以DOT1Q方式终结VLAN
[CE2]interface GE 1/0/2 [CE2-GE1/0/2]undo shutdown [CE2]bridge-domain 10 [CE2-bd10]vxlan vni 10 [CE2-bd10]q [CE2]interface GE 1/0/2.1 mode l2 [CE2-GE1/0/2.1]bridge-domain 10 [CE2-GE1/0/2.1]encapsulation dot1q vid 10 [CE2]interface GE 1/0/2.2 mode l2 [CE2]bridge-domain 20 [CE2-bd20]vxlan vni 20 [CE2-bd20]q [CE2]interface GE 1/0/2.2 mode l2 [CE2-GE1/0/2.2]bridge-domain 20 [CE2-GE1/0/2.2]encapsulation dot1q vid 20
CE3配置与之类似
配置完成后,测试pc1,PC2与leaf分布式网关的连通性
配置CE2,CE2的vxlan隧道自动发现
因为使用的bgp evpn作为控制层面,所以不用再手动配置vxlan 隧道
CE2上的配置如下
[CE2]interface Nve 1 [CE2-Nve1]source 2.2.2.2 [CE2-Nve1]vni 10 head-end peer-list protocol bgp [CE2-Nve1]vni 20 head-end peer-list protocol bgp
CE3配置类似
至此CE2,和CE3之间的vxlan隧道动态建立成功
测试分布式网关功能
同一个LEAF下不同子网
测试如下流量走向
此时数据包没有经过vxlan隧道,就像三层转发一样
不同LEAF下同一个子网
流量走向
数据包经过了VXLAN 隧道,在CE2的ge1/01接口抓包
1.可以看到同一个子网,VXLAN VNI是一样的,都是VNI 102.可以看到VTEP信息,2.2.2.2->3.3.3.3
不通LEAF下的不同子网
此时PC1 ping PC4
在CE2上抓包分析
可以看到,在跨子网通信时,经过三层VNI,vxlan的vni是99,并非二层VNI
irb 路由
在手动触发evpn更新后,可以观察到irb路由信息
可以看到bgp邻居更新信息
好复杂额
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~