配置VXLAN(集中式网关,静态方式)
前置任务
在配置用户通过VXLAN隧道互通之前,需配置网络路由可达。
配置流程
VXLAN网络内终端用户互通的配置流程如图1-50所示。
存在差异的配置任务 |
IPv4 Overlay网络 |
IPv6 Overlay网络 |
---|---|---|
(可选)配置接入侧隔离功能 |
支持 |
支持 |
(可选)配置接入侧到隧道侧的单向隔离功能 |
支持 |
支持 |
(可选)配置ARP本地代理 |
支持 |
不支持 |
(可选)配置ND路由式代理 |
不支持 |
支持 |
(可选)配置ND本地代理 |
不支持 |
支持 |
(可选)配置BD内的流量抑制 |
支持 |
支持 |
(可选)配置静态MAC地址表项 |
支持 |
支持 |
(可选)配置静态ARP表项 |
支持 |
不支持 |
(可选)配置静态IPv6邻居 |
不支持 |
支持 |
配置VXLAN接入业务部署方式
背景信息
在设备上部署VXLAN网络时,需要对下行接入业务进行选择部署。
基于VLAN方式:将一个或多个VLAN与BD进行关联,实现将指定VLAN内的用户加入BD。该方式控制粒度较粗,但配置简单,适合在现网上直接进行部署。
基于报文流封装类型:根据报文携带VLAN Tag的情况,将不同流封装类型的报文送到不同的二层子接口,并将二层子接口与BD进行绑定,以实现将指定用户加入到BD。该方式控制粒度较细且较为灵活,但配置复杂,适合在新建网上进行部署。
在接入侧主接口配置NAC认证时,该接口下不支持创建VXLAN二层子接口接入VXLAN网络。
操作步骤
- 执行命令system-view,进入系统视图。
- (可选)执行命令set vxlan resource super-mode,配置VXLAN的大规格模式。
缺省情况下,设备支持配置的BD域规格为4094。配置为大规格模式后支持配置的BD域规格为64000。
配置VXLAN的大规格模式后需要保存配置并重启设备才能生效。
当配置为VXLAN的大规格模式时,可能导致部分业务转发性能下降。如:IP组播业务、VPLS业务、VLAN Mapping业务、VLAN Stacking业务、以及子接口三层转发业务。
- 执行命令bridge-domain bd-id,创建广播域BD,并进入BD视图。
缺省情况下,没有创建广播域BD。
- (可选)执行命令description description,配置BD的描述信息。
缺省情况下,未配置BD的描述信息。
- 执行命令quit,退出BD视图,返回到系统视图。
- (可选)配置接口的模式为VXLAN接入侧接口。
仅S12700支持该配置。
执行命令interface interface-type interface-number,进入接口视图。
执行命令port nvo3 mode access,配置接口的模式为VXLAN接入侧接口。
缺省情况下,接入侧接口位于ET1D2X48SEC0单板时,不支持收到的携带有VXLAN报文目的UDP端口号(端口号为4789)的普通IP报文进入VXLAN隧道。
执行命令quit,返回系统视图。
- 配置业务接入点接入业务。
- 基于VLAN方式:
执行命令vlan vlan-id,创建VLAN并进入VLAN视图。
执行命令quit,退出VLAN视图,返回到系统视图。
执行命令bridge-domain bd-id,进入已经创建的BD视图。
执行命令l2 binding vlan vlan-id,将指定VLAN与BD相关联,实现数据报文在BD内进行转发。
缺省情况下,VLAN与BD无关联。
一个VLAN只能绑定一个BD,但是一个BD可以绑定多个VLAN。
将全局VLAN与BD相关联后,需要将设备上相关接口加入该VLAN。
- 若Voice VLAN的成员口有位于除X系列单板之外的单板上时,该VLAN将不能与BD进行关联。
- 在NAC认证场景,若VLAN中有在线用户,执行undo l2 binding vlan命令解除该VLAN同BD绑定时,会导致用户下线。
- 若VLAN为授权给用户的ISP VLAN,且在设备上该VLAN下已经存在用户,则不支持指定该VLAN与BD相关联。
- 若VLAN作为Fit AP设备的管理VLAN时,该VLAN不建议同BD关联。
- 基于报文流封装类型:
- 执行命令interface interface-type interface-number,进入需要创建二层子接口的主接口视图。
执行命令port link-type { trunk | hybrid },配置接口的链路类型为trunk或者hybrid。
执行命令quit,返回系统视图。
执行命令interface interface-type interface-number.subnum mode l2,创建二层子接口,并进入二层子接口视图。
执行命令rewrite pop { single | double | none },配置对二层子接口接收的报文进行剥除VLAN Tag操作。
缺省情况下,对封装类型为QinQ的二层子接口接收的报文进行剥除双层VLAN Tag操作,对封装类型为Dot1q的二层子接口接收的报文进行剥除一层VLAN Tag操作。
- 配置rewrite pop single命令的二层子接口的封装类型必须为Dot1q,且不能配置VLAN段。
- 配置rewrite pop double命令的二层子接口的封装类型必须为QinQ,且不能配置VLAN段。
- 配置rewrite pop none命令的二层子接口的封装类型必须为Dot1q或QinQ。
执行命令encapsulation { dot1q vid low-pe-vid [ to high-pe-vid ] | default | untag | qinq vid low-vlan-vid [ to high-vlan-vid ] ce-vid low-ce-vid [ to high-ce-vid ] },配置二层子接口允许通过的流封装类型,实现不同的接口接入不同的数据报文。
缺省情况下,二层子接口没有配置允许通过的流封装类型。
配置二层子接口允许通过的流封装类型时,需要注意以下几点:
二层子接口封装的dot1q的VLAN与qinq的外层VLAN,不能与对应主接口允许通过的VLAN相同,也不能与全局VLAN相同。
在同一个主接口下,dot1q的VLAN与qinq的外层VLAN互斥。
主接口配置NAC认证后,该接口下的VXLAN二层子接口不支持配置流封装类型为default。
二层子接口下配置流封装类型为default时,必须确保对应的主接口没有加入任何VLAN,包括VLAN 1。
二层子接口下配置流封装类型为default前,主接口下有且仅有一个子接口。
二层子接口下配置流封装类型为default后,该主接口下不能再创建其他子接口。
二层子接口下配置流封装类型为untag时,必须确保对应的主接口没有加入VLAN 1,并且该主接口下不能在其他子接口下配置untag。
每个二层子接口只允许配置一种封装类型。如果二层子接口上已经配置流封装,需要改变流封装类型时,必须先通过命令undo encapsulation删除原有的流封装。
- 在Dot1q或QinQ二层子接口上配置VLAN段时,必须先执行命令rewrite pop none。
执行命令bridge-domain bd-id,将指定二层子接口与BD相关联,实现数据报文在BD内进行转发。
缺省情况下,二层子接口与BD无关联。
- 基于VLAN方式:
配置VXLAN隧道
背景信息
在设备上部署VXLAN网络时,需要对上行VXLAN隧道建立部署。
VXLAN隧道是通过隧道两端的VTEP的IP地址建立的,所以需要在隧道两端的设备上分别配置源端VTEP与目的端VTEP的IP地址。
如图1-51所示,以VTEP1为例,详细介绍VXLAN隧道所需配置。
- VXLAN隧道源端VTEP的IP地址:VXLAN报文中源IP地址,即VTEP1的GE1/0/1的IP地址。
- VXLAN隧道目的端VTEP的IP地址:VXLAN报文中目的IP地址,即VTEP2的GE1/0/1的IP地址。
即使源端VTEP对应一个目的端VTEP,也需要执行命令vni head-end peer-list指定对应的VTEP地址。
执行命令ping,检查隧道两端设备路由是否可达。当隧道两端设备路由可达时,隧道能建立成功并可以正常转发报文。若隧道两端仅存在到对方的路由,且路由不可达时,隧道仍然能UP,但是不能完成报文转发。
若隧道侧通过静态路由转发,建议同时配置静态路由和BFD的联动,这样当链路出现故障时可以及时删除路由。避免存在不可达路由但隧道仍然UP,导致的VXLAN报文丢包。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令bridge-domain bd-id,进入BD视图。
- 执行命令vxlan vni vni-id,配置BD所对应的VXLAN的VNI。
缺省情况下,没有配置BD所对应的VXLAN的VNI。
- 执行命令quit,退出BD视图,返回到系统视图。
- 执行命令interface nve nve-number,创建NVE接口,并进入NVE接口视图。
- 执行命令source ip-address,配置VXLAN隧道源端VTEP的IP地址。
缺省情况下,VXLAN隧道源端VTEP没有配置IP地址。
- 执行命令vni vni-id head-end peer-list ip-address &<1-10>,配置头端复制列表。
缺省情况下,没有配置VNI头端复制列表。
头端是指VXLAN隧道的入节点,复制是指当VXLAN隧道的入节点收到一份BUM报文后,需要将其复制多份并发送给列表中的所有VTEP。头端复制列表就是用于指导VXLAN隧道的入节点进行BUM报文复制和发送的远端VTEP的IP地址列表。
由于当前只支持头端复制方式进行BUM报文转发,当和其他厂商设备对接创建VXLAN隧道时,必须保证对端设备也配置头端复制方式,否则会导致对接失败。
- 执行命令quit,退出NVE接口视图,返回到系统视图。
- (可选)执行命令vxlan tunnel-status track exact-route,开启VXLAN隧道目的端精确路由状态订阅功能。
缺省情况下,VXLAN隧道目的端精确路由状态订阅功能处于关闭状态。
缺省情况下,如果一条VXLAN隧道的源端IP地址精确路由可达且目的端IP地址所在网段路由可达,则认为该条VXLAN隧道状态为Up。但是在实际组网中可能存在多个相同网段的目的地址,其中一个可达,即认为该网段可达,而如果此时该网段内某一个IP地址不可达,则会造成隧道状态误报,不能及时发现网络问题。此时,可以通过配置vxlan tunnel-status track exact-route命令,使能VXLAN隧道目的端精确路由状态订阅功能。只有目的VTEP的精确IP地址路由可达时,VXLAN隧道状态为Up,否则为Down。
后续处理
由于单板差异,对于X系列单板作为接入侧单板时,报文在进入交换机被封装后,同一隧道的VXLAN报文的源IP、源MAC、目的IP和目的MAC等报文信息均一致,仅传输层的源端口号是变化的。因此为避免VXLAN流量跨板转发时在主控或交换网板的Higig-Trunk接口出现负载分担不均,需要配置主控或者交换网板Higig-Trunk接口在进行负载分担计算时包含报文的传输层源端口信息作为负载分担因子。
在系统视图下执行命令load-distribution enhanced ip-field l4-sport,配置主控和交换网板Higig-Trunk接口的负载分担计算包含传输层源端口作为计算因子。
该配置对主控和交换网板以及Higig-Trunk负载分担方式为增强模式的X系列单板生效。X系列单板Higig-Trunk的负载分担方式配置请参见命令load-distribution mode。
VXLAN报文在隧道中的转发设备也建议进行上述配置。若在转发设备上经过的接口为Eth-Trunk接口时,建议同时通过命令load-balance配置Eth-Trunk接口的负载分担计算为增强模式,且通过命令ipv4 field配置负载分担模板中包含报文传输层的源端口作为负载分担因子。
配置VXLAN三层网关
背景信息
VBDIF接口在VXLAN三层网关上配置,用于跨网段报文的转发,因此同网段通信时不需要配置。
VXLAN为站点内的用户提供三层业务时,需要在网络中部署VXLAN三层网关,以便站点内的用户通过VXLAN三层网关与外界网络或其他VXLAN网络内的用户进行三层通信。
如图1-52所示,基于BD可创建三层逻辑接口VBDIF接口,每个BD对应一个VBDIF接口,在为VBDIF接口配置IP地址后,该接口即可作为本BD内租户的网关,对需要进行通信的报文进行基于IP地址的三层转发。
为了实现不同网段的终端用户互通,终端用户的缺省网关地址必须是对应VXLAN三层网关上的VBDIF接口的IP地址。
在配置VXLAN三层网关时,根据Overlay网络IP层协议选择不同的配置步骤。
当Overlay网络为IPv4网络时,可查看Overlay网络为IPv4网络时VXLAN三层网关的配置。
当Overlay网络为IPv6网络时,可查看Overlay网络为IPv6网络时VXLAN三层网关的配置。
后续处理
在配置VXLAN三层网关时,若设备隧道侧接口位于ET1D2X48SEC0单板上时,只有在配置VXLAN环回接口后,设备才能对接收的VXLAN报文解封装后进行三层转发。因此当隧道侧接口位于ET1D2X48SEC0单板上时,设备作为VXLAN三层网关,需要配置Eth-Trunk接口作为VXLAN的环回接口。配置步骤如下:
执行命令interface eth-trunk trunk-id,进入Eth-Trunk接口视图。
执行命令service type vxlan-tunnel,配置Eth-trunk接口为VXLAN环回接口。
缺省情况下,设备上Eth-Trunk接口未配置为VXLAN的环回接口。
执行命令trunkport interface-type interface-number,将物理接口加入Eth-Trunk接口。
配置Eth-Trunk接口为VXLAN环回接口后,Eth-Trunk接口将自动去使能STP,也不支持在此接口下配置STP相关命令。取消Eth-Trunk接口为VXLAN环回接口后,该Eth-Trunk接口将自动使能STP功能。
交换机上只能配置一个Eth-Trunk接口作为VXLAN环回接口,所有VBDIF接口的VXLAN报文均通过该环回接口进行封装和解封装。
当Eth-Trunk接口下存在成员端口时,该Eth-Trunk接口不能被配置为VXLAN环回接口。
若需要配置Eth-Trunk接口为环回接口时,该Eth-Trunk接口允许的配置有description、enable snmp trap updown、jumboframe enable、mixed-rate link enable、qos car inbound、qos phb marking enable、set flow-stat interval、shutdown、local-preference enable、traffic-policy(接口视图)和trust,若存在除此之外的配置时,该Eth-Trunk接口不能配置为环回接口。
配置Eth-Trunk接口为环回接口后,该Eth-Trunk接口仅支持如下配置,authentication open ucl-policy enable、description、enable snmp trap updown、jumboframe enable、mixed-rate link enable、qos car inbound、qos phb marking enable、set flow-stat interval、shutdown、local-preference enable、statistic enable(接口视图)、traffic-policy(接口视图)、vcmp disable和trust。其它业务功能命令行若可以配置,但功能不生效,对系统无影响。
若要通过命令undo service type vxlan-tunnel取消Eth-Trunk接口作为VXLAN环回接口时,需先删除该Eth-Trunk接口下的所有成员接口、设备上的所有VBDIF接口以及设备上所有用于接收和发布EVPN路由的VPN实例。
只有X系列以及ET1D2X48SEC0单板上的接口可以作为VXLAN环回接口的成员接口。
(可选)配置接入侧隔离功能
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令bridge-domain bd-id,进入已创建的BD视图。
- 执行命令isolate enable,使能接入侧BD域内的隔离功能。
缺省情况下,未配置接入侧BD域内的隔离功能。
- 执行命令quit,返回系统视图。
- (可选)当通过某个VLAN或某个二层子接口接入BD域的用户需要与该BD域内的其它接入侧用户互通时,可以配置该VLAN或二层子接口的接入侧模式为Hub。
- 配置通过VLAN接入的接入侧模式为Hub。
执行命令vlan vlan-id,进入已创建的VLAN视图。
执行命令hub-mode enable,配置接入侧模式为Hub。
- 配置通过二层子接口接入的接入侧模式为Hub。
执行命令interface interface-type interface-number.subinterface-number mode l2,进入已创建的二层子接口视图。
执行命令hub-mode enable,配置接入侧模式为Hub。
- 配置通过VLAN接入的接入侧模式为Hub。
(可选)配置ARP本地代理
(可选)配置BD内的流量抑制
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令bridge-domain bd-id,创建广播域BD,并进入BD视图。
- 配置BD内的流量抑制。请根据实际需要,选择如下配置:
执行命令broadcast-suppression cir cir-value [ cbs cbs-value ],开启BD内广播流量抑制功能。
缺省情况下,BD内广播流量抑制功能处于关闭状态。
执行命令multicast-suppression cir cir-value [ cbs cbs-value ],开启BD内组播流量抑制功能。
缺省情况下,BD内组播流量抑制功能处于关闭状态。
执行命令unknown-unicast-suppression cir cir-value [ cbs cbs-value ],开启BD内未知单播流量抑制功能。
缺省情况下,BD内未知单播流量抑制功能处于关闭状态。
EA、EC(除ET1D2X48SEC0)单板不支持BD内流量抑制功能。
(可选)配置静态IPv6邻居
背景信息
在VXLAN网络中,当三层网关设备上没有使能发送ND协议报文功能时,可以使用此命令,通过静态配置来指定IPv6邻居表项。另外,当需要过滤掉一些非法的ND报文时,也可以使用此命令,将这些非法报文的目的IPv6地址绑定到某个不存在的MAC地址。
操作步骤
- 基于接口配置VXLAN静态IPv6邻居表项。
- 执行命令system-view,进入系统视图。
- 执行命令interface vbdif bd-id,进入已创建的VBDIF接口视图。
- 执行命令ipv6 enable,使能接口的IPv6功能。
- 执行命令ipv6 neighbor ipv6-address mac-address { vid vlan-id1 [ cevid vlan-id2 ] } interface interface-type interface-num.subnum,基于接口配置VXLAN二层子接口接入的静态IPv6邻居,或者通过执行命令ipv6 neighbor ipv6-address mac-address vid vlan-id3 interface interface-type interface-num,基于接口配置VXLAN的VLAN接入的静态IPv6邻居表项。
- 基于隧道配置VXLAN静态IPv6邻居表项。
- 执行命令system-view,进入系统视图。
- 执行命令interface vbdif bd-id,进入已创建的VBDIF接口视图。
- 执行命令ipv6 enable,使能接口的IPv6功能。
- 执行命令ipv6 neighbor ipv6-address mac-address vni vni-id source-ip ipv4-address1 peer-ip ipv4-address2,基于隧道配置VXLAN静态IPv6邻居表项。
检查VXLAN的配置结果
操作步骤
- 执行命令display bridge-domain [ bd-id [ brief | verbose ] ],查看BD的配置信息。
- 执行命令display vxlan tunnel [ tunnel-id ] [ verbose ],查看VXLAN隧道的信息。
- 执行命令display vxlan vni [ vni-id [ verbose ] ],查看VNI的VXLAN的配置信息。
- 执行命令display vxlan peer [ vni vni-id ],查看VNI的目的端VTEP的IP地址。
- 执行命令display vxlan encapsulation interface interface-type interface-number [ bridge-domain bd-id | default | dot1q [ vid pe-vid ] | qinq [ vid vlan-vid [ ce-vid ce-vid ] ] | untag ],查看主接口下二层子接口VXLAN封装信息。