系列文章目录
一、VxLAN-EVPN集中式网关
二、VxLAN-EVPN分布式网关
三、VxLAN-EVPN外部路由引入
文章目录
前言
在典型的VXLAN部署中,VXLAN封装和解封装过程在虚拟机所在的hypervisor级别完成。但是,在某些情况下,可能需要在不同的VXLAN网络之间或VXLAN网络与非VXLAN网络之间路由VXLAN流量。为了实现这一点,可以使用VXLAN类型5的外部路由机制。VXLAN Type5是VXLAN协议的扩展,允许在不同的VXLAN段之间或VXLAN和非VXLAN网络之间路由VXLAN流量。它定义了VXLAN数据包的新封装格式,其中包括新的组播组地址和路由器警报选项,当然主要作用还是用于引入外部路由到VxLAN环境中。
一、拓扑图
二、需求
1、采用分布式网关部署,CE1和CE2作为租户下的L2和L3网关、CE3作为RR部署和Border边界网关设备,不仅传递EVPN路由,
也作为外部路由引入的边界设备。
2、PC1/PC3:192.168.10.0/24;PC2/PC4:192.168.20.0/24,网关地址均为最后一个地址。
3、环回口地址:10.0.x.x/32(举例:CE1=10.0.1.1/32、AR1=10.0.11.11/32)
,接口地址:xy.1.1.x或y/24(举例:CE1=11.1.1.1/24)
4、实现效果:租户内所有主机都能互相访问,并且都能正常访问Internet,但是只有DC1区域的主机可以访问Server区域。
三、配置
1、VxLAN分布式网关配置
配置略,详情见上期 VxLAN-EVPN分布式网关。链接: VxLAN-EVPN分布式网关
2、VxLAN引入外部路由(Type5路由)
2.1、创建三层VPN实例
配置Internet和Server实例
## VPN实例配置
ip vpn-instance Internet
ipv4-family
route-distinguisher 110:110
vpn-target 120:120 export-extcommunity
vpn-target 120:120 export-extcommunity evpn
vpn-target 120:120 import-extcommunity
vpn-target 120:120 import-extcommunity evpn
vxlan vni 6010
#
ip vpn-instance Server
ipv4-family
route-distinguisher 100:100
vpn-target 100:100 export-extcommunity
vpn-target 100:100 export-extcommunity evpn
vpn-target 100:100 import-extcommunity
vpn-target 100:100 import-extcommunity evpn
vxlan vni 6020
#
## BGP配置
bgp 100
ipv4-family vpn-instance Internet
import-route direct
import-route static
advertise l2vpn evpn
#
ipv4-family vpn-instance Server
import-route direct
advertise l2vpn evpn
#
注意点
1、CE3作为Border边界网关设备,为每个服务区域配置对应的VPN实例进行路由收发转换。所以每个VPN实例内的收发RT要和DC数据中心内的租户收发RT要严格配对(同租户的VxLAN网关绑定的VPN实例的RT配对),多少租户配置多少个RT。
2、VPN实例的RT也仍需要加上evpn标识,否则进入到evpn无法正常被识别。并且vni不可以是租户使用的,vni具有全局标识特性。
3、BGP下配置对应VPN实例地址簇,用于导入对应路由,并且最重要是将这些导入的路由通告到evpn中advertise l2vpn evpn。
效果
命令:display bgp evpn all routing-table prefix-route
查看Type 5路由
2.2、通告Type5路由给到租户
问题:CE3上已经产生对应的5类路由,但是CE1和CE2上却没有收到
解释:因为原先CE3之作为RR,并不需要建立VxLAN隧道,但是现在本身有产生evpn的type5路由,所以需要和CE1/CE2建立隧道来传递VxLAN的数据包。
CE3边界设备创建Nve自动建立隧道
interface Nve1
source 10.0.3.3
#
注意点
因为CE3只会生成Type5的evpn路由,只需要三层VPN实例承载,不需要二层VPN的BD域配置,所以在创建隧道的时候,只需要创建Nve并标识源地址即可,无需写上二层vni的对应关系。
效果
查看是否正常学习到RR反射过来的Type5路由
查看传递过来的type5路由的详细信息,此时可以看出封装的VNI就是外部业务的三层VPN实例配置的VNI
查看路由是否正常加表外部路由
2.3、配置Server区域回程路由
问题:
1、在CE1内的VxLAN-租户VPN实例中添加Server区域的RT值
ip vpn-instance vxlan
ipv4-family
route-distinguisher 120:120
vpn-target 100:100 export-extcommunity
vpn-target 100:100 export-extcommunity evpn
vpn-target 100:100 import-extcommunity
vpn-target 100:100 import-extcommunity evpn
#
2、在BD域中添加对应的出向RT值
bridge-domain 100
evpn
vpn-target 100:100 export-extcommunity
#
bridge-domain 200
evpn
vpn-target 100:100 export-extcommunity
#
注意点
1、需要注意的是Type5路由本质上是一个三层的VPN路由,所以在CE3上不需要配置二层BD域,但是在租户侧如果要直接对Type5路由的加表,仍需要配置对应的RT值
2、理解:在CE1或CE2上的BD域内出口需要配置对应的出向RT,这样在本地的三层VPN实例才能正常接收,本地三层VPN接收后在打上和Edge边界设备上的三层VPN对应的出向RT值,这样在Border边界设备上才能正常接收到租户侧传递过来的VxLAN路由,在对其解封装,才能将租户侧的路由进行加表。
效果
可以看到Border设备(CE3)已经能正常学习到租户的主机路由
3、连通性测试
DC1侧既可以访问Internet区域也可以访问Server区域
DC2侧的Edge设备因为没有配置对应的VPN的RT值,所有只能学习到去往Internet区域的路由
DC2侧只能访问Internet不能访问Server区域
总结
VXLAN是一种虚拟化和覆盖Layer 2网络的技术,允许创建跨越多个物理网络或数据中心的虚拟网络。在一般的VXLAN部署中,VXLAN封装和解封装在虚拟机所在的hypervisor级别完成。但是,当需要在不同的VXLAN网络之间或VXLAN网络与非VXLAN网络之间路由VXLAN流量时,可以使用VXLAN类型5的外部路由机制。VXLAN类型5允许在VXLAN段之间或VXLAN和非VXLAN网络之间路由VXLAN流量,通过在VXLAN数据包中引入新的封装格式和路由器警报选项。通过VXLAN类型5的外部路由,部署在VXLAN网络边界的路由器可以充当VXLAN网关或桥接器,负责封装和路由VXLAN数据包。这扩展了VXLAN网络的范围,提供更灵活和可扩展的网络架构。