参考华三的Vxlan配置指导
http://www.h3c.com/cn/d_202001/1257198_30005_0.htm#_Toc28608881
OVSDB(Open vSwitch Database,开源虚拟交换机数据库)控制协议用来实现NVC (Network Virtualization Controller,网络虚拟化控制器)对网络中VTEP(VXLAN Tunnel End Point,VXLAN隧道端点)设备的管理和部署。
VTEP设备上维护OVSDB数据库,VXLAN相关配置以表项的形式保存在该数据库中。控制器与VTEP设备上的OVSDB服务器建立连接,二者采用OVSDB控制协议进行交互并操作OVSDB数据库中的数据。OVSDB VTEP服务从OVSDB服务器获取数据库中的数据,将其转变为VXLAN相关配置(例如创建或删除VXLAN、创建或删除VXLAN隧道)下发到设备上。同时,OVSDB VTEP服务也会通过OVSDB服务器,将本地的用户侧接入端口和VXLAN隧道全局源地址信息添加到数据库中,并上报给控制器。
配置步骤(作为了解)
要实现控制器对VTEP设备的部署,需要在VTEP设备上完成以下配置:1) 与控制器建立OVSDB连接;2) 开启OVSDB服务器;3) 开启OVSDB VTEP服务;4) 配置VXLAN隧道的全局源地址;5) 指定用户侧的接入端口;6) 开启组播隧道泛洪代理功能。
在进行OVSDB-VTEP相关配置前,需要首先通过l2vpn enable命令开启L2VPN功能。如果OVSDB服务器与控制器之间建立SSL连接,则还需要完成SSL相关配置。
1) 与控制器建立OVSDB连接
OVSDB服务器和控制器之间可以建立多种类型的OVSDB连接,连接类型包括:
· 主动SSL连接:OVSDB服务器主动向控制器发起SSL连接。该连接方式必须指定SSL使用的PKI域。OVSDB服务器最多可以同时与8个控制器建立主动SSL连接。
· 被动SSL连接:OVSDB服务器监听并接收来自控制器的SSL连接请求。该连接方式必须指定SSL使用的PKI域。OVSDB服务器只能监听1个端口的SSL连接请求。
· 主动TCP连接:OVSDB服务器主动向控制器发起TCP连接。OVSDB服务器最多可以同时与8个控制器建立主动TCP连接。
· 被动TCP连接:OVSDB服务器监听并接收来自控制器的TCP连接请求。OVSDB服务器只能监听1个端口的TCP连接请求。
1.1) 与控制器建立主动SSL连接
进入系统视图 system-view
指定与控制器进行SSL通信时使用的PKI域ovsdb server pki domain domain-name
与控制器建立主动SSL连接ovsdb server ssl ip ip-address port port-number
1.2) 与控制器建立被动SSL连接
与控制器建立被动SSL连接ovsdb server ssl [ port port-number ]
1.3) 与控制器建立主动TCP连接
1.4) 与控制器建立被动TCP连接
2) 开启OVSDB服务器
3) 开启OVSDB VTEP服务
4) 配置VXLAN隧道的全局源地址
用户需要在VTEP设备上配置VXLAN隧道的全局源地址,该地址会通过OVSDB协议上报给控制器,用于控制器对VTEP设备进行部署和控制。
采用OVSDB对VTEP设备进行部署和控制时,用户不能在VXLAN隧道的Tunnel接口下手工指定源地址,否则会影响控制器对VTEP设备的管理。
5) 指定用户侧的接入端口
为了在控制器上显示VTEP上的端口并对其进行控制,必须在VTEP上将该端口配置为用户侧的接入端口。
将接口配置为接入侧端口后,建议不要在该接口下进行手工配置,避免影响控制器对接入侧端口的管理。
6) 开启组播隧道泛洪代理功能(可选)
配置实践
Switch A、Switch B、Switch C为与服务器连接的VTEP设备。虚拟机VM 1、VM 2和VM 3同属于VXLAN 10。通过VXLAN实现不同站点间的二层互联,确保虚拟机在站点之间进行迁移时用户的访问流量不会中断。
具体需求为:
· 通过控制器下发配置,在不同VTEP之间建立VXLAN隧道。
· 站点之间的泛洪流量采用头端复制的方式转发。
3. 配置步骤
(1) 配置IP地址、单播路由协议、控制器
请按照图配置各接口的IP地址和子网掩码,并在IP核心网络内配置OSPF协议,具体配置过程略。
(2) 配置Switch A
# 开启L2VPN能力。
<SwitchA> system-view
[SwitchA] l2vpn enable
# 配置与控制器建立主动TCP连接,TCP连接的目的地址为10.0.2.15(控制器的地址),目的端口号为6632。
[SwitchA] ovsdb server tcp ip 10.0.2.15 port 6632
# 开启OVSDB服务器。
[SwitchA] ovsdb server enable
# 开启OVSDB VTEP服务。
[SwitchA] vtep enable
# 配置接口Loopback0的IP地址,作为VXLAN隧道的全局源地址。
[SwitchA] interface loopback 0
[SwitchA-LoopBack0] ip address 1.1.1.1 255.255.255.255
[SwitchA-LoopBack0] quit
[SwitchA] tunnel global source-address 1.1.1.1
# 指定接入服务器的接口Ten-GigabitEthernet1/0/1上为用户侧的接入端口。
[SwitchA] interface ten-gigabitethernet 1/0/1
[SwitchA-Ten-GigabitEthernet1/0/1] vtep access port
[SwitchA-Ten-GigabitEthernet1/0/1] quit
(3) 配置Switch B
# 开启L2VPN功能。
<SwitchB> system-view
[SwitchB] l2vpn enable
# 配置与控制器建立主动TCP连接,TCP连接的目的地址为10.0.2.15(控制器的地址),目的端口号为6632。
[SwitchB] ovsdb server tcp 10.0.2.15 port 6632
# 开启OVSDB服务器。
[SwitchB] ovsdb server enable
# 开启OVSDB VTEP服务。
[SwitchB] vtep enable
# 配置接口Loopback0的IP地址,作为VXLAN隧道的全局源地址。
[SwitchB] interface loopback 0
[SwitchB-LoopBack0] ip address 2.2.2.2 255.255.255.255
[SwitchB-LoopBack0] quit
[SwitchB] tunnel global source-address 2.2.2.2
# 指定接入服务器的接口Ten-GigabitEthernet1/0/1上为用户侧的接入端口。
[SwitchB] interface ten-gigabitethernet 1/0/1
[SwitchB-Ten-GigabitEthernet1/0/1] vtep access port
[SwitchB-Ten-GigabitEthernet1/0/1] quit
(4) 配置Switch C
# 开启L2VPN功能。
<SwitchC> system-view
[SwitchC] l2vpn enable
# 配置与控制器建立主动TCP连接,TCP连接的目的地址为10.0.2.15(控制器的地址),目的端口号为6632。
[SwitchC] ovsdb server tcp ip 10.0.2.15 port 6632
# 开启OVSDB服务器。
[SwitchC] ovsdb server enable
# 开启OVSDB VTEP服务。
[SwitchC] vtep enable
# 配置接口Loopback0的IP地址,作为VXLAN隧道的全局源地址。
[SwitchC] interface loopback 0
[SwitchC-LoopBack0] ip address 3.3.3.3 255.255.255.255
[SwitchC-LoopBack0] quit
[SwitchC] tunnel global source-address 3.3.3.3
# 指定接入服务器的接口Ten-GigabitEthernet1/0/1上为用户侧的接入端口。
[SwitchC] interface ten-gigabitethernet 1/0/1
[SwitchC-Ten-GigabitEthernet1/0/1] vtep access port
[SwitchC-Ten-GigabitEthernet1/0/1] quit
(5) 控制器上进行VXLAN配置(略)
4. 验证配置
(1) 验证VTEP设备(下文以Switch A为例,其它设备验证方法与此类似)
# 查看Switch A上的Tunnel接口信息,可以看到VXLAN模式的Tunnel接口处于up状态。
[SwitchA] display interface tunnel
Tunnel1
Current state: UP
Line protocol state: UP
Description: Tunnel1 Interface
Bandwidth: 64 kbps
Maximum transmission unit: 1464
Internet protocol processing: Disabled
Last clearing of counters: Never
Tunnel source 1.1.1.1, destination 2.2.2.2
Tunnel protocol/transport UDP_VXLAN/IP
Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec
Input: 0 packets, 0 bytes, 0 drops
Output: 0 packets, 0 bytes, 0 drops
# 查看Switch A上的VSI信息,可以看到VSI内创建的VXLAN、与VXLAN关联的VXLAN隧道、与VSI关联的以太网服务实例等信息。
[SwitchA] display l2vpn vsi verbose
VSI Name: evpn2014
VSI Index : 0
VSI State : Up
MTU : 1500
Bandwidth : Unlimited
Broadcast Restrain : Unlimited
Multicast Restrain : Unlimited
Unknown Unicast Restrain: Unlimited
MAC Learning : Enabled
MAC Table Limit : -
MAC Learning rate : -
Drop Unknown : -
Flooding : Enabled
Statistics : Disabled
VXLAN ID : 10
Tunnels:
Tunnel Name Link ID State Type Flood proxy
Tunnel1 0x5000001 Up Manual Disabled
Tunnel2 0x5000002 Up Manual Disabled
ACs:
AC Link ID State Type
XGE1/0/1 srv2 0 Up Manual
# 查看Switch A上VSI的MAC地址表项信息,可以看到已学习到的MAC地址信息。
<SwitchA> display l2vpn mac-address
MAC Address State VSI Name Link ID/Name Aging
cc3e-5f9c-6cdb Dynamic evpn2014 Tunnel1 Aging
cc3e-5f9c-23dc Dynamic evpn2014 Tunnel2 Aging
--- 2 mac address(es) found ---
(2) 验证主机
虚拟机VM 1、VM 2、VM 3之间可以互访。
RFC 7047:The Open vSwitch Database Management Protocol
网友评论