【VxLAN】二、VxLAN-EVPN分布式网关-ensp实验

系列文章目录

一、VxLAN-EVPN集中式网关

二、VxLAN-EVPN分布式网关

三、VxLAN-EVPN外部路由引入


文章目录

前言

VXLAN(Virtual Extensible LAN)是一种基于IP的网络虚拟化技术,旨在解决数据中心网络中虚拟机跨主机通信的问题。随着云计算和虚拟化的广泛应用,数据中心网络规模越来越大,需要跨多个物理机实现虚拟机之间的通信。VXLAN分布式网关是VXLAN技术的一种扩展,用于解决跨不同子网的虚拟机之间的通信问题。


一、拓扑

二、需求

复制代码
1、采用分布式网关部署,CE1和CE2作为租户下的L2和L3网关、CE3作为RR部署,只传递EVPN路由。
2、PC1/PC3:192.168.10.0/24;PC2/PC4:192.168.20.0/24,网关地址均为254
3、环回口地址:10.0.x.x/32(举例:CE1=10.0.1.1/32、AR1=10.0.11.11/32),接口地址:xy.1.1.x或y/24
4、实现效果:租户内所有主机都能互相访问

三、配置

1、IGP配置

具体配置省略,主要实现CE1、CE2、CE3、AR1四台设备能互相学习到对方路由,以此建立BGP-EVPN邻居,此处使用OSPF作为IGP。

以AR1为例:

2、BGP-EVPN配置

2.1、EVPN邻居建立
复制代码
evpn-overlay enable				# 开启EVPN平面支持能力
#
bgp 100
 router-id 10.0.3.3
 peer 10.0.1.1 as-number 100
 peer 10.0.1.1 connect-interface LoopBack0
 peer 10.0.2.2 as-number 100
 peer 10.0.2.2 connect-interface LoopBack0
 #
 ipv4-family unicast
  peer 10.0.1.1 enable
  peer 10.0.2.2 enable
 #
 l2vpn-family evpn
  undo policy vpn-target	# 关闭BGP的VPN中RT的过滤规则
  peer 10.0.1.1 enable
  peer 10.0.1.1 reflect-client
  peer 10.0.2.2 enable
  peer 10.0.2.2 reflect-client
#

注意点

1、需要开启EVPN平面能力evpn-overlay enable,否则不仅是BGP下无法进入到l2vpn-family evpn地址簇下,bridge-domain内的EVPN的业务RD和RT也无法配置。

2、因CE3只做为RR设备,故不会配置bridge-domain和ip vpn-instance,所以本地是没有对应业务的RT值,如果不关闭policy vpn-target的RT过滤策略,所有经过RR的EVPN路由都会被丢弃
效果

命令:display bgp evpn peer

2.2、VxLAN-EVPN基础配置

配置BD域和VTEP对应关系,建立VxLAN隧道

复制代码
## 创建BD域和业务VNI
bridge-domain 100
 vxlan vni 100
 evpn					# 如果没有开启evpn-overlay enable无法配置
  route-distinguisher 100:10
  vpn-target 100:100 export-extcommunity
  vpn-target 100:100 import-extcommunity
#
bridge-domain 200
 vxlan vni 200
 evpn
  route-distinguisher 200:20
  vpn-target 200:200 export-extcommunity
  vpn-target 200:200 import-extcommunity
#
## 配置VTEP对应关系
interface Nve1
 source 10.0.1.1
 vni 100 head-end peer-list protocol bgp  # 承载BGP路由
 vni 200 head-end peer-list protocol bgp
#

注意点

1、通过bd域作为不同业务的隔离域,所以需要配置不同的RD和RT,本质类似于一个二层VPN隔离域(如果不开启evpn-overlay平面无法配置)并且一个子接口下只能绑定一个BD域

2、vxlan vni 100,主要区分VxLAN中不同的广播域(子网),每个VNI就代表Vxlan网络中的一个广播域,类似vlan编号。

3、NVE(网络虚拟边缘节点):运行了Vxlan的物理设备称为NVE,主要配置VxLAN的隧道对应关系,本次隧道建立通过BGP进行动态学习建立。
效果

命令: display bgp evpn all routing-table

命令: display vxlan tunnel

2.3、配置VxLAN三层网关

VPN实例和三层网关创建

复制代码
## 创建三层VPN实例
ip vpn-instance vxlan
 ipv4-family
  route-distinguisher 100:200
  vpn-target 100:200 export-extcommunity
  vpn-target 100:200 export-extcommunity evpn
  vpn-target 100:200 import-extcommunity
  vpn-target 100:200 import-extcommunity evpn
 vxlan vni 5010
#
## 建立二层VPN和三层VPN路由交叉,生成IFB路由
bridge-domain 100
 evpn
  vpn-target 100:200 export-extcommunity
bridge-domain 200
 evpn
  vpn-target 100:200 export-extcommunity
#
## 创建VxLAN三层网关
interface Vbdif100
 ip binding vpn-instance vxlan
 ip address 192.168.10.254 255.255.255.0
 mac-address 0000-005e-0001
 vxlan anycast-gateway enable
 arp collect host enable
#
interface Vbdif200
 ip binding vpn-instance vxlan
 ip address 192.168.20.254 255.255.255.0
 mac-address 0000-005e-0002
 vxlan anycast-gateway enable
 arp collect host enable
#

注意点

  1. ip vpn-instance vxlan,创建三层VPN实例,注意RD和RT需要和bridge-domain中的不同,一个承载二层MAC路由一个承载三层IP路由。
  2. vxlan vni 5010,配置三层VNI标识,需要不同于二层VNI。
  3. vpn-target 100:200 export-extcommunity,注意!!!需要在二层BD域中配置三层VPN的入向RT,用于产生IRB交叉路由。否则数据访问对端时,路由从二层BD域出去,对端三层VPN是无法接收路由。
  4. mac-address 0000-005e-0001,绑定网关MAC地址,因为CE1和CE2都会配置同样三层网关地址,如果不手动绑定相关MAC地址,设备默认使用本地的MAC,如果CE1和CE2使用本地接口MAC绑定,业务解包转发时会因为MAC地址不同而出现MAC地址偏移或数据包丢弃。
  5. vxlan anycast-gateway enable,开启VxLAN分布式网关能力。
  6. arp collect host enable,用来使能BGP EVPN进行主机信息搜集的功能,如果不开启无法产生对应的32位主机路由。

效果
正常Type2路由如下: 需要包含二三层RT和VNI

2.4、传递EVPN-Type2路由(IRB:32位的主机路由)

由上可知,本地已经产生对应的Type2的主机路由,但是RR和对端都无法学习到对端的主机路由

通告IRB路由给到BGP邻居

复制代码
## CE1/CE2 ##
bgp 100
 l2vpn-family evpn
  peer 10.0.3.3 advertise irb
#
## CE3 ##
bgp 100
 l2vpn-family evpn
  peer 10.0.1.1 advertise irb
  peer 10.0.2.2 advertise irb
#

注意点

不仅是CE1和CE2需要允许通告IRB路由,RR作为反射器也需要配置。
效果

RR上的EVPN正常学习到对端的主机路由

Edge节点设备正常学习到从RR传递过来的对端主机路由

目标主机路由正常加表

2.5、常见问题: 路由加表异常, 但evpn路由正常学习, 优先关注RT值是否配置正常

发现CE2的BD域配置中缺少对应业务VPN实例的RT值

增补配置后对端正常学习到主机路由

3、连通性测试




总结

优势:

  1. 跨子网通信效率高:VXLAN分布式网关将跨子网通信的负载分散到多台物理机上,减少了单台物理机的负担,提高了跨子网通信的效率。
  2. 网络灵活性:VXLAN分布式网关通过软件定义网络技术进行集中管理和配置,可以根据需要动态调整虚拟网络的拓扑结构,提供更加灵活的网络配置和扩展。
  3. 高级网络服务支持:VXLAN分布式网关可以结合其他高级网络功能,如负载均衡、安全策略等,为虚拟机提供更强大的网络服务。

不足:

  1. 配置复杂:由于VXLAN分布式网关需要借助SDN技术进行集中管理和配置,需要对SDN和VXLAN技术有一定的了解,配置相对复杂。
  2. 性能影响:分布式网关功能的实现需要占用一定的计算和存储资源,可能会对物理机的性能产生一定的影响。
  3. 依赖物理网络:虽然VXLAN分布式网关可以解决跨子网通信问题,但依然需要依赖底层物理网络设备的支持和配合,对物理网络的要求较高。
相关推荐
Hello.Reader4 小时前
Kafka 4.0 从零到一8 步快速上手 + 实战要点与避坑
分布式·kafka
一叶飘零_sweeeet5 小时前
在分布式环境下正确使用MyBatis二级缓存
java·分布式·mybatis
设计师小聂!11 小时前
RabbitMQ详解
java·spring boot·分布式·rabbitmq·maven
退役小学生呀21 小时前
十九、云原生分布式存储 CubeFS
分布式·docker·云原生·容器·kubernetes·k8s
smileNicky1 天前
Kafka 为什么具有高吞吐量的特性?
分布式·kafka
小白不想白a1 天前
【Hadoop】HDFS 分布式存储系统
hadoop·分布式·hdfs
随心............1 天前
Spark面试题
大数据·分布式·spark
Hello.Reader1 天前
用一根“数据中枢神经”串起业务从事件流到 Apache Kafka
分布式·kafka·apache
找不到、了1 天前
常用的分布式ID设计方案
java·分布式
AKAMAI2 天前
在分布式计算区域中通过VPC搭建私有网络
人工智能·分布式·云计算