前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VXLAN网络中的RD、RT是什么?如何配置RD、RT?

VXLAN网络中的RD、RT是什么?如何配置RD、RT?

作者头像
网络技术联盟站
发布2023-03-13 18:58:49
2.5K0
发布2023-03-13 18:58:49
举报
VXLAN网络中的RD、RT是什么?

VPN

VPN(Virtual Private Network):也称VRF(Virtual Route Forwarding,虚拟路由及转发) ,目的是解决不同企业私网地址段相同,为了防止冲突,采用将相同私网地址放到不同的VRF表中。

一台设备由于可能同时连接了多个用户,这些用户(的路由)彼此之间需要相互隔离,那么这时候就用到了VRF,设备上每一个用户都对应一个VRF。设备除了维护全局IP路由表之外,还为每个VRF维护一张独立的IP路由表,这张路由表称为VRF路由表。要注意的是全局IP路由表,以及每一个VRF路由表都是相互独立或者说相互隔离的。

对于每一个VRF表,都具有路由区分符(Route Distinguisher:RD)和路由目标(Route Target:RT)两大属性。

RD

RD(Route-Distinguisher,路由区分符):RD用来区分本地VRF,该属性仅本地有效。8个字节的RD+4个字节的IPv4地址组成96位VPNv4路由,使不唯一的IPv4地址转化为唯一的VPN-IPv4地址,该VPNv4路由在ISP域内传递(区分),RD给某VRF里面的路由打上标签,进而实现地址的复用而不产生冲突。

RT

RT(Route Tagert):是BGP的扩展团体属性,它分成Import RT和Export RT,分别用于路由的导入、导出策略。

通过配置import和export RT,来控制收发路由。

  1. 当从VRF表中导出路由时,要用export RT对VRF路由进行标记。
  2. 当往VRF表中导入路由时,只有所带RT标记与该VRF表中任意一个import RT相符的路由才会被导入到VRF表中。

EVPN

EVPN(Ethernet Virtual Private Network)是一种用于二层网络互联的VPN技术,在VXLAN网络中引入EVPN作为VXLAN的控制平面。对于每一个EVPN,都具有路由区分符(Route Distinguisher:RD)和路由目标(Route Target:RT)两大属性,这些属性用于控制在VTEP之间发送或接收EVPN路由。

相同网段互通场景下,如何配置RD、RT?

组网需求

如下图所示,某企业在不同的数据中心中都拥有自己的VM,服务器1上的VM1属于VLAN 30,服务器2上的VM1属于VLAN 20,服务器1和服务器2位于相同网段。现需要配置通过VXLAN实现相同网段用户通信。

配置通过VXLAN实现相同网段用户通信组网图

配置关键点分析

1、关于VNI,配置有哪些要求?

相同网段用户通信时,EVPN需要发布Type2和Type3路由,并只使用二层VNI,本端和对端的二层VNI需要一致。

(1)VTEP之间通过发布Type3路由,用于在VTEP之间相互通告二层VNI、VTEP IP信息,通过建立头端复制列表,实现VTEP设备的自动发现和VXLAN隧道的动态建立。

(2)VTEP之间通过发布Type2路由,实现两端VTEP相互学习主机MAC。

2、 关于EVPN实例的RD和RT值,配置有哪些要求?

RD值,只在本地有效,不同的EVPN实例使用不同的RD值,在本地不能冲突。

相同网段用户通信时,发布EVPN路由时,发送端VTEP会携带本地EVPN实例出方向VPN-Target属性列表中的所有VPN-Target属性。当接收端VTEP收到的EVPN路由携带的VPN-Target属性,与自己在EVPN实例的入方向VPN-Target属性列表有相同条目时,才允许接收该EVPN路由。所以本地EVPN实例出方向VPN-Target属性值(ERT)需要与对端的EVPN实例入方向VPN-Target属性值(IRT)有相同的值。

总体配置关键配置步骤及要求

如下仅描述在VXLAN的Overlay网络中的关键配置要求以及NVE设备的具体配置样例:

Overlay网络中关键配置要求及举例

定义广播域BD为20,BD作为VXLAN网络的实体,通过BD转发流量。相同网段用户通信时,对端的BD需要与本端一致。

Device1的配置文件:

代码语言:javascript
复制
#
bridge-domain 20

Device3的配置文件:

代码语言:javascript
复制
#
bridge-domain 20

定义二层VNI为5020,VNI将以1:1方式映射到广播域BD 20。相同网段用户通信时,本端和对端的二层VNI需要一致。

Device1的配置文件:

代码语言:javascript
复制
vxlan vni 5020

Device3的配置文件:

代码语言:javascript
复制
vxlan vni 5020

在BD下创建EVPN实例,并配置该EVPN实例的RD值、本地EVPN实例出方向和入方向的VPN-Target属性。相同网段用户通信时,本端设备会发送携带MAC信息的Type2路由至对端,该Type2路由会携带BD下的ERT,对端相同BD需要接收该Type2路由中的MAC信息才能进行二层互通,所以本地EVPN实例出方向VPN-Target属性值需要与对端的EVPN实例入方向VPN-Target属性值相同。

Device1的配置文件:

代码语言:javascript
复制
evpn
  route-distinguisher 10:1
  vpn-target 100:5010 export-extcommunity
  vpn-target 100:5020 import-extcommunity

Device3的配置文件:

代码语言:javascript
复制
evpn
  route-distinguisher 10:3
  vpn-target 100:5020 export-extcommunity
  vpn-target 100:5010 import-extcommunity

配置服务器接入到VXLAN网络,需要配置接入侧接口工作在二层。

VM1所属的VLAN ID为VLAN 30,所以设置允许通过的VLAN为VLAN 30,并以1:1方式映射到广播域BD 20。

VM2所属的VLAN ID为VLAN 20,所以设置允许通过的VLAN为VLAN 20,并以1:1方式映射到广播域BD 20。

Device1的配置文件:

代码语言:javascript
复制
#
interface 10GE1/0/2.1 mode l2
 encapsulation dot1q vid 30
 bridge-domain 20

Device3的配置文件:

代码语言:javascript
复制
#
interface 10GE1/0/2.1 mode l2
 encapsulation dot1q vid 20
 bridge-domain 20

创建环回口地址,该地址将作为NVE设备的IP地址。

Device1的配置文件:

代码语言:javascript
复制
#
interface LoopBack1
 ip address 2.2.2.2 255.255.255.255

Device3的配置文件:

代码语言:javascript
复制
#
interface LoopBack1
 ip address 4.4.4.4 255.255.255.255

创建VTEP IP并配置VNI(即二层VNI)的头端复制列表。

Device1的配置文件:

代码语言:javascript
复制
#
interface Nve1
 source 2.2.2.2
 vni 5020 head-end peer-list protocol bgp

Device3的配置文件:

代码语言:javascript
复制
#
interface Nve1
 source 4.4.4.4
 vni 5020 head-end peer-list protocol bgp

跨网段互通场景下,如何配置RD、RT?

组网需求

如下图所示,某用户在不同的数据中心NVE设备下都拥有自己的VM,其中服务器1上的VM1属于VLAN 10,服务器2上的VM1属于VLAN 20,且位于不同网段;服务器1通过Device2接入VXLAN网络,服务器2通过Device3接入VXLAN网络。现需要通过VXLAN分布式网关实现不同网段中VM的互通。

配置通过VXLAN实现跨网段用户通信组网图

配置关键点分析

1、关于VNI,配置有哪些要求?

跨网段用户通信,需要发布Type2(或者Type5)路由。通过Type2发布主机路由时,需要用到二层VNI和三层VNI。通过Type5发布网段路由时,只需要用到三层VNI。

  • VTEP之间通过发布Type2的主机路由,实现分布式网关场景下跨网段主机之间的互通。在分布式VXLAN网络中,一般使用Type2路由通告主机路由和主机ARP,此时也可选择配置ARP广播报文抑制功能,并能支持虚拟机迁移。
  • VTEP之间通过发布Type5的网段路由,实现分布式网关场景下跨网段主机之间的互通,减少主机路由的发布。

使用Type5路由时,有如下限制:

(1)网关设备下连接的网段在整个网络中唯一。

(2)在配置发布IP前缀类型的路由之后,需执行arp direct-route enable命令将主机IP地址发布为直连路由,此时虚拟机的迁移会受到限制。

2、关于EVPN实例的RD和RT值,配置有哪些要求?

RD值,只在本地有效,不同的EVPN实例使用不同的RD,在本地不能冲突。

RT值的配置需要满足如下要求:

  • 跨网段用户通信,发送端发布Type2的路由时,会携带本地EVPN实例出方向VPN-Target属性列表中的所有VPN-Target属性(ERT)。当该EVPN路由与接收端中对应的L3VPN实例(L3VPN实例由L3 VNI确定)中的入方向VPN-Target属性列表中的条目相同时,才允许EVPN路由交叉到L3VPN实例路由表。所以发送端EVPN实例出方向VPN-Target属性值(ERT)需要与接收端的L3VPN实例入方向VPN-Target属性值(eIRT)有相同的值。
  • 跨网段用户通信,发送端发布Type5的网段路由时,会携带L3VPN实例出方向VPN-Target属性列表中的所有VPN-Target属性(ERT)。当该EVPN路由与接收端中对应的L3VPN实例(L3VPN实例由L3 VNI确定)中的入方向VPN-Target属性列表中的条目相同时,才允许EVPN路由交叉到L3VPN实例路由表。所以发送端L3VPN实例出方向VPN-Target属性值(ERT)需要与接收端的L3VPN实例入方向VPN-Target属性值(eIRT)有相同的值。
3、关于L3VPN实例的RD和RT值,配置有哪些要求?

RD值,只在本地有效,不同的L3VPN实例使用不同的RD,在本地不能冲突。

RT值的配置需要满足如下要求:

  • 跨网段用户通信,发送端发布Type2路由时,L3VPN实例中的VPN-Target属性如上所示,不再赘述。
  • 跨网段用户通信,发送端发布Type5的网段路由时,会携带发送端L3VPN实例出方向VPN-Target属性列表中的所有VPN-Target属性(eERT)。当该EVPN路由与接收端相同的L3VPN实例的入方向VPN-Target属性列表有相同条目时,才允许该网段路由交叉到L3VPN实例路由表。所以发送端L3VPN实例出方向VPN-Target属性值(eERT)需要与接收端的L3VPN实例入方向VPN-Target属性值(eIRT)有相同的值。

总体配置关键配置步骤及要求

如下仅描述在VXLAN的Overlay网络中的关键配置要求以及NVE设备的具体配置样例:

Overlay网络中关键配置要求及举例(以发布Type2路由为例)

分别定义广播域BD,BD作为VXLAN网络的实体,通过BD转发流量。跨网段用户通信时,对端的BD与本端不一致。

Device2的配置文件:

代码语言:javascript
复制
#
bridge-domain 10

Device3的配置文件:

代码语言:javascript
复制
#
bridge-domain 20

分别定义二层VNI,VNI将以1:1方式映射到广播域BD。跨网段用户通信时,对端的二层VNI与本端不一致。

Device2的配置文件:

代码语言:javascript
复制
vxlan vni 10

Device3的配置文件:

代码语言:javascript
复制
vxlan vni 20

在BD下创建EVPN实例,并配置该EVPN实例的RD值、本地EVPN实例出方向VPN-Target属性 。

跨网段用户通信发布Type2路由时,因为需要对端的L3VPN路由表学到本地的主机路由,又由于本地的Type2路由会携带本端BD下的ERT,所以本地EVPN实例出方向VPN-Target属性值需要与对端的L3VPN实例入方向VPN-Target属性值有相同的值。

Device2的配置文件:

代码语言:javascript
复制
evpn
  route-distinguisher 10:2
  vpn-target 100:5020 export-extcommunity

Device3的配置文件:

代码语言:javascript
复制
evpn
  route-distinguisher 10:3
  vpn-target 100:5030 export-extcommunity

创建用户的L3VPN实例,如vpn1。

Device2的配置文件:

代码语言:javascript
复制
#
ip vpn-instance vpn1

Device3的配置文件:

代码语言:javascript
复制
#
ip vpn-instance vpn1

在vpn1下定义RD值、用于EVPN的出方向和入方向的VPN-Target属性。

跨网段用户通信发布Type2路由时,本地L3VPN实例入方向VPN-Target属性值(eIRT)需要与对端的EVPN实例出方向VPN-Target属性值(ERT)有相同的值。

Device2的配置文件:

代码语言:javascript
复制
ipv4-family
  route-distinguisher 20:2
  vpn-target 100:5030 import-extcommunity evpn

Device3的配置文件:

代码语言:javascript
复制
ipv4-family
  route-distinguisher 20:2
  vpn-target 100:5020 import-extcommunity evpn

在vpn1中定义三层VNI5010,三层VNI用来标识L3VPN,因为与对端在同一个VPN中,对端的三层VNI与本端一致。

Device2的配置文件:

代码语言:javascript
复制
vxlan vni 5010

Device3的配置文件:

代码语言:javascript
复制
vxlan vni 5010

跨网段用户通信,所以创建Vbdif接口。

使能该接口为VXLAN分布式网关。并将该接口加入到vpn1中。

Device2的配置文件:

代码语言:javascript
复制
#
interface Vbdif10
 ip binding vpn-instance vpn1
 ip address 10.1.1.1 255.255.255.0
 mac-address 0000-5e00-0102
 vxlan anycast-gateway enable
 arp collect host enable

Device3的配置文件:

代码语言:javascript
复制
#
interface Vbdif20
 ip binding vpn-instance vpn1
 ip address 20.1.1.1 255.255.255.0
 vxlan anycast-gateway enable
 arp collect host enable

配置服务器接入到VXLAN网络,需要配置接入侧接口工作在二层。VM1所属的VLAN ID为VLAN 10,所以设置允许通过的VLAN为VLAN 10,将以1:1方式映射到广播域BD 10,同理配置VM2 的接入。

Device2的配置文件:

代码语言:javascript
复制
#
interface 10GE1/0/2.1 mode l2
 encapsulation dot1q vid 10
 bridge-domain 10

Device3的配置文件:

代码语言:javascript
复制
#
interface 10GE1/0/2.1 mode l2
 encapsulation dot1q vid 20
 bridge-domain 20

创建环回口地址,该地址将作为NVE设备的IP地址。

Device2的配置文件:

代码语言:javascript
复制
#
interface LoopBack1
 ip address 2.2.2.210 255.255.255.255

Device3的配置文件:

代码语言:javascript
复制
#
interface LoopBack0
 ip address 3.3.3.3 255.255.255.255

创建VTEP IP并配置VNI(即二层VNI)的头端复制列表。

Device2的配置文件:

代码语言:javascript
复制
#
interface Nve1
 source 2.2.2.210
 vni 10 head-end peer-list protocol bgp

Device3的配置文件:

代码语言:javascript
复制
#
interface Nve1
 source 3.3.3.3
 vni 20 head-end peer-list protocol bgp

配置BGP EVPN邻居,并将EVPN的发布路由类型设置为Type2(即irb)。

Device2的配置文件:

代码语言:javascript
复制
#
bgp 100 instance evpn1
 peer 1.1.1.1 as-number 100
 peer 1.1.1.1 connect-interface LoopBack0
#
 ipv4-family vpn-instance vpn1
  import-route direct
  advertise l2vpn evpn
#
 l2vpn-family evpn
  policy vpn-target
  peer 1.1.1.1 enable
  peer 1.1.1.1 advertise irb

Device3的配置文件:

代码语言:javascript
复制
#
bgp 100 instance evpn1
 peer 1.1.1.1 as-number 100
 peer 1.1.1.1 connect-interface LoopBack0
#
 ipv4-family vpn-instance vpn1
  import-route direct
  advertise l2vpn evpn
#
 l2vpn-family evpn
  policy vpn-target
  peer 1.1.1.1 enable
  peer 1.1.1.1 advertise irb
本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-02-21,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 网络技术联盟站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • VPN
  • RD
  • RT
  • EVPN
  • 相同网段互通场景下,如何配置RD、RT?
    • 组网需求
      • 配置关键点分析
        • 总体配置关键配置步骤及要求
        • 跨网段互通场景下,如何配置RD、RT?
          • 组网需求
            • 配置关键点分析
              • 总体配置关键配置步骤及要求
              相关产品与服务
              VPN 连接
              VPN 连接(VPN Connections)是一种基于网络隧道技术,实现本地数据中心与腾讯云上资源连通的传输服务,它能帮您在 Internet 上快速构建一条安全、可靠的加密通道。VPN 连接具有配置简单,云端配置实时生效、可靠性高等特点,其网关可用性达到 99.95%,保证稳定、持续的业务连接,帮您轻松实现异地容灾、混合云部署等复杂业务场景。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
              http://www.vxiaotou.com