前缀路由(EVPN TYPE-5路由)
前面分析的大多数都是主机路由(32位)。EVPN也支持网段路由,通过EVPN type-5类型的路由进行发布。前缀路由的主要目的是为了数据中心与外部网络进行通信(典型的是数据中心访问Internent),理解这点很重要:前缀路由并不是只有在分布式对称路由模型中才使用,而且分布式对称路由模型不一定非得使用前缀路由才能进行跨子网通信。
当在数据中心的边界连接到一个广域网的时候,推荐使用border/exit leaf设备发布type-5路由。
配置交换机安装evpn type-5路由
为了使交换机安装type-5类型的路由到路由表中,必须配置l3vni相关信息(这种配置与分布式对称模型是一样的)。需要进行如下配置:
- 为每一个租户配置一个vxlan接口,指定具体vni,将该接口依附于一个网桥。对端vtep的路由mac会作为一个邻居表项安装在该这个接口上,即将router-mac安装一个fdb表项,出接口为vxlan接口。
- 为每一个租户在其vxlan接口所在的桥上配置一个SVI(三层接口,一般是vlanif),然后将svi从属于该租户的VRF。对端vtep发布的type-5路由将会安装在该svi上(即type-5类型的路由的下一跳出接口为该svi)。
- 在bgp中将vrf与vni关联。
#在bgp上将vni 104001指定为L3 VNI,真正的差别在这,linux上的配置l2vni与l3vni无差别。
vrf turtle
vni 104001
!
宣告EVPN type-5路由
可以通过如下的配置使能租户把BGP RIB中的路由作为evpn type-5路由发布给邻居:
router bgp 65005 vrf vrf1
address-family l2vpn evpn
advertise ipv4 unicast
exit-address-family
end
命令:advertise ipv4 unicast表示使能evpn发布type-5路由,是一个开关命令,该命令支持route-map进行过滤。
发布type-5路由可以使用命令network和redistribute connected进行发布。
例如:
router bgp 7676 vrf evpn-vrf
!
address-family ipv4 unicast
network 1.1.1.0/24
exit-address-family
!
注:network的上下文为 ipv4 unicast
分布式非对称模型中使用evpn type-5路由
在实际应用环境中,如果数据中心的所有vlan在每一个vtep上都有配置(网段分布比较分散),那采用分布式非对称路由模型是一种理想的选择。该模型简化了配置,不需要配置潜在额子网路由去处理静默主机。然而,大多数数据中心需要访问外部网络(比如Internet),或者进行数据中心互联。这个时候就需要基于子网在数据中心进行路由,就需要type-5路由。
FRR支持在分布式非对称模型中使用evpn type-5路由进行数据中心互联。在这种情况下,网段路由type-5路由使用l3vni进行交互,type-2路由使用l2-vni进行交互。(注:在分布式对称模型中,只要是跨网络通信都使用l3-vni)。
在分布式非对称模型中使用如下配置使能evpn type-5路由:
vrf turtle
vni 104001 prefix-routes-only
这个命令与分布式对称模型中仅仅是多了一个prefix-routes-only参数。该参数表示只有type-5路由携带l3-vni,type-2路由只会携带一个vni,那就是l2vni,而在分布式对称模型中,type-2路由会携带两个vni。
使用EVPN type-5路由发布默认路由
访问Internet一般是使用默认路由。在evpn中,一般是boder/exit leaf节点发布默认路由给POD中所有其它的叶子节点。在该POD的任一leaf默认将流量导向border节点(一般是其它POD流量或者internet的流量)。
可以使用如下配置发布默认evpn type-5路由:
switch(config)# router bgp 650030 vrf vrf1
switch(config-router)# address-family l2vpn evpn
switch(config-router-af)# default-originate ipv4
switch(config-router-af)# default-originate ipv6
switch(config-router-af)# exit
switch(config-router)# exit
switch(config)# exit
switch# write memory
注:上下文是address-family l2vpn evpn
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。