Web举例:VXLAN在数据中心中的应用
VXLAN特性在数据中心组网中经常和双机热备、虚拟系统以及NAT等特性一起使用。
组网需求
如图1所示,在数据中心中,同一个VPC(Virtual Private Cloud)的VM(虚拟主机)部署在不同的X86服务器上。由支持VXLAN的二层设备负责接入和二层转发。FW承担VXLAN网关的角色,同时负责VPC之间以及VPC和实体网络之间的网络安全。不同的VPC之间需要做路由隔离,对外体现公网地址。为了组网的安全稳定,还需要FW的双机热备。
**图1 **VXLAN在数据中心中的应用
**表1 **安全区域规划
安全区域
接口
说明
TRUST
GigabitEthernet 1/0/0
对接VXLAN二层接入设备。
DMZ
BDIF1
BDIF2
VPC的出口,内部是租户的虚拟主机。
Virtual-if0
虚拟系统到根墙的出口。对根墙来说等同BDIF。
GigabitEthernet 1/0/1
HRP心跳口。
UNTRUST
GigabitEthernet 1/0/2
上行口,连接到Internet或其他物理实体网络。
Virtual-if1
Virtual-if2
虚拟系统到根墙的入口。对虚拟系统来说等同GigabitEthernet 1/0/2
。
配置思路
- 两台FW搭建上行连接三层设备(配置OSPF)下行连接二层设备的主备备份(配置VRRP备份组)的组网。在上行接口所在安全域和Local域之间的安全策略中允许OSPF服务通过,否则OSPF邻居无法建立。
- 创建BD、VNI(VXLAN ID)和VXLAN隧道,NVE接口源地址使用VRRP备份组的虚拟IP地址。在VRRP备份组接口所在安全域和Local域之间安全策略中允许VXLAN服务通过,否则VXLAN隧道无法建立。
- 创建虚拟系统,将VNI和公网地址关联到虚拟系统。BDIF会随关联的VNI一起被分配给虚拟系统。
- 创建BDIF(VXLAN接口)并配置IP地址。需要在备机上手动配置IP地址,主备机BDIF的IP地址必须一致。建议把MAC地址也配置成一样,否则在切换时会有短暂的中断过程。
- 在虚拟系统内配置NAT SERVER,将内网地址映射成公网地址。
- 在虚拟系统和根墙之间配置静态路由。
- 配置VM的网关为BDIF的IP地址。
- 配置VXLAN二层接入设备,VXLAN隧道的对端IP地址是FW的VRRP备份组的虚拟IP地址。VXLAN二层接入设备之间也需要建立VXLAN隧道。
操作步骤
- 在FW_A上完成网络基本配置。 1. 选择“网络 > 接口”,配置接口的IP地址和安全域。接口配置GE1/0/0IP地址:10.0.10.11安全区域:trustGigabitEthernet 1/0/1IP地址:172.16.0.1安全区域:dmzGigabitEthernet 1/0/2IP地址:10.1.0.1安全区域:untrustVirtual-if0安全区域:dmz2. 选择“网络 > 路由 > OSPF”,配置OSPF。 1. 单击“新建”,配置以下参数后单击“确定”。 类型OSPF v2进程ID12. 单击“高级”,单击“区域配置”,单击“新建”,配置以下参数后单击“确定”。区域0网段IP10.1.0.0正/反掩码0.0.0.255认证模式NONE3. 单击“路由引入”单击“新建”,配置以下参数后单击“确定”。路由类型Direct
- 在FW_A上配置双机热备功能。 选择“系统 > 高可靠性 > 双机热备”,单击“配置”,完成以下配置后单击“确定”。
- 完成FW_B的配置,建立双机热备状态。 FW_B和上述FW_A的配置基本相同,不同之处在于:1. FW_B各接口的IP地址与FW_A各接口的IP地址不相同。2. FW_B的OSPF路由发布的网段与FW_A不相同。3. FW_B的双机热备“运行角色”设置为“备用”。
- 配置BD、VNI(VXLAN ID)和VXLAN隧道。 BD在配置VXLAN隧道时会自动创建。1. 选择“网络 > VXLAN”。2. 勾选“VXLAN功能”和“隧道监控”对应的“启用”,配置“源IP地址”为双机热备虚拟IP地址,单击“应用”。3. 单击“新建”,配置VXLAN隧道信息。VXLAN ID隧道目的IP800110.0.20.1010.0.20.11800210.0.20.1010.0.20.11
- 创建虚拟系统,分配VNI和公网地址。 1. 选择“系统 > 虚拟系统 > 虚拟系统”,启用“虚拟系统”,单击“确定”。2. 单击“新建”,创建虚拟系统并分配资源。基础配置VXLAN分配公网IP分配名称:vsys1已绑定VXLAN:vni 8001独占以下IP地址范围:1.1.1.1-1.1.1.100名称:vsys2已绑定VXLAN:vni 8002独占以下IP地址范围:2.2.2.1-2.2.2.100
- 创建BDIF(VXLAN接口),并配置IP地址和安全区域。 - 如果先配置BDIF的IP地址再创建虚拟系统,BDIF的IP地址将被清除。- 设备会根据“VXLAN ID”自动联想出“虚拟系统”,请勿手动配置“虚拟系统”。选择“网络 > 接口”,单击“新建”,新建BDIF。接口名称类型安全区域VXLAN IDIP地址1VXLAN接口DMZ8001192.168.1.1/2428002192.168.2.1/24
- 配置根墙的静态路由。 假设与下行接口互联的IP地址是10.0.10.1。选择“网络 > 路由 > 静态路由”,单击“新建”,配置静态路由信息。
- 配置根墙的安全策略。 选择“策略 > 安全策略 > 安全策略”,单击“新建安全策略”,配置以下安全策略。策略名称作用vxlan允许VXLAN报文通过ospf允许OSPF报文通过1_in允许外网用户访问NAT后的内网虚拟机2_in1_out允许内网用户使用NAT后的地址访问外网2_out
- 配置vsys1。 1. 切换虚拟系统为vsys1。2. 配置NAT Server。 选择“策略 > NAT策略 > 服务器映射”,单击“新建”,完成以下配置后单击“确定”。3. 在“网络 > 接口”中配置接口安全区域。4. 在“网络 > 路由 > 静态路由”中配置到外网的静态路由。5. 在“策略 > 安全策略 > 安全策略”中配置安全策略。策略名称作用in允许外部网络访问虚拟主机out允许虚拟主机访问外部网络
- 配置vsys2。 vsys2和上述vsys1的配置基本相同,不同之处在于:1. NAT SERVER的公私网地址不同。2. 安全策略中使用的源\目的地址不同。
- 配置FW_B的VXLAN接口IP和静态路由。 配置与FW_A一致,只是因为双机热备并不会备份该配置,所以需要手动执行。
- 可选:将FW_A和FW_B上的BDIF的MAC地址配置成一样。 1. 登录FW_B,选择“网络 > 接口”,单击BDIF接口对应的“编辑”,在“高级”中查询的BDIF的MAC地址。2. 在FW_A的同样位置,配置BDIF的MAC地址。
结果验证
操作
查询到的会话表
从VPCa中的VM(192.168.1.2)上访问公网地址,成功。
FW_A
- Untrust和Local之间的OSPF会话表
- Trust和Local之间的VXLAN会话表
- 根墙中,DMZ到Untrust,源地址为1.1.1.2的会话表
- VSYS1中,DMZ到Untrust,源地址为192.168.1.2的会话表
从公网访问VPCb的NAT Server地址(2.2.2.2),成功。
FW_A
- Untrust和Local之间的OSPF会话表
- Trust和Local之间的VXLAN会话表
- 根墙中,Untrust到DMZ,目的地址为2.2.2.2的会话表
- VSYS2中,Untrust到DMZ,目的地址为192.168.2.2的会话表
从VPCa中的VM(192.168.1.2)上访问VPCb的NAT Server地址(2.2.2.2),成功。
FW_A
- Trust和Local之间的VXLAN会话表
- VSYS1中,DMZ到Untrust,源地址为1.1.1.2,目的地址为2.2.2.2的会话表
- VSYS2中,Untrust到DMZ,源地址为1.1.1.2,目的地址为192.168.2.2的会话表
关闭FW_A的GigabitEthernet 1/0/2后重复以上操作,成功。
FW_B上能查询到以上的会话表
配置脚本
FW_A
FW_B
#
hrp enable
hrp interface GigabitEthernet 1/0/1 remote **172.16.0.2**
hrp adjust ospf-cost enable
hrp auto-sync config static-route
hrp track interface GigabitEthernet 1/0/2
#
bridge-domain 1
vxlan vni 8001
#
bridge-domain 2
vxlan vni 8002
#
vsys enable
#
vsys name vsys1 1
assign global-ip 1.1.1.1 1.1.1.100 exclusive
assign vni 8001
#
vsys name vsys2 2
assign global-ip 2.2.2.1 2.2.2.100 exclusive
assign vni 8002
#
interface GigabitEthernet1/0/0
ip address **10.0.10.11** 255.255.255.0
vrrp vrid 1 virtual-ip 10.0.10.10 active
#
interface GigabitEthernet 1/0/1
ip address **172.16.0.1** 255.255.255.0
#
interface GigabitEthernet 1/0/2
ip address **10.1.0.1** 255.255.255.0
#
interface Vbdif1
ip address 192.168.1.1 255.255.255.0
#
interface Vbdif2
ip address 192.168.2.1 255.255.255.0
#
interface Nve1
source 10.0.10.10
vxlan statistic enable
vni 8001 head-end peer-list 10.0.20.10 10.0.20.11
vni 8002 head-end peer-list 10.0.20.10 10.0.20.11
#
firewall zone trust
set priority 85
add interface GigabitEthernet1/0/0
#
firewall zone untrust
set priority 5
add interface GigabitEthernet 1/0/2
#
firewall zone dmz
set priority 50
add interface Virtual-if0
add interface GigabitEthernet 1/0/1
#
ospf 1
import-route static
area 0.0.0.0
network **10.1.0.0** 0.0.0.255
#
ip route-static 1.1.1.0 255.255.255.0 vpn-instance vsys1
ip route-static 2.2.2.0 255.255.255.0 vpn-instance vsys2
ip route-static 10.0.20.0 255.255.255.0 10.0.10.1
#
security-policy
rule name vxlan
source-zone local
source-zone trust
destination-zone local
destination-zone trust
destination-address 10.0.0.0 mask 255.255.0.0
service vxlan
action permit
rule name ospf
source-zone local
source-zone untrust
destination-zone local
destination-zone untrust
destination-address 10.0.0.0 mask 255.0.0.0
service ospf
action permit
rule name 1_in
source-zone untrust
destination-zone dmz
destination-address 1.1.1.0 mask 255.255.255.0
action permit
rule name 2_in
source-zone untrust
destination-zone dmz
destination-address 2.2.2.0 mask 255.255.255.0
action permit
rule name 1_out
source-zone dmz
destination-zone untrust
source-address 1.1.1.0 mask 255.255.255.0
action permit
rule name 2_out
source-zone dmz
destination-zone untrust
source-address 2.2.2.0 mask 255.255.255.0
action permit
#
switch vsys vsys1
#
interface Vbdif1
ip address 192.168.1.1 255.255.255.0
#
firewall zone untrust
set priority 5
add interface Virtual-if1
#
firewall zone dmz
set priority 50
add interface Vbdif1
#
security-policy
rule name in
source-zone untrust
destination-zone dmz
destination-address 192.168.1.0 mask 255.255.255.0
action permit
rule name out
source-zone dmz
destination-zone untrust
source-address 192.168.1.0 mask 255.255.255.0
action permit
#
ip route-static 0.0.0.0 0.0.0.0 public
#
nat server to1 0 global 1.1.1.2 inside 192.168.1.2 unr-route
#
switch vsys vsys2
#
interface Vbdif2
ip address 192.168.2.1 255.255.255.0
#
firewall zone untrust
set priority 5
add interface Virtual-if2
#
firewall zone dmz
set priority 50
add interface Vbdif2
#
security-policy
rule name in
source-zone untrust
destination-zone dmz
destination-address 192.168.2.0 mask 255.255.255.0
action permit
rule name out
source-zone dmz
destination-zone untrust
source-address 192.168.2.0 mask 255.255.255.0
action permit
#
ip route-static 0.0.0.0 0.0.0.0 public
#
nat server to2 1 global 2.2.2.2 inside 192.168.2.2 unr-route
#
#
hrp enable
hrp interface GigabitEthernet 1/0/1 remote **172.16.0.1**
hrp adjust ospf-cost enable
hrp auto-sync config static-route
hrp track interface GigabitEthernet 1/0/2
#
bridge-domain 1
vxlan vni 8001
#
bridge-domain 2
vxlan vni 8002
#
vsys enable
#
vsys name vsys1 1
assign global-ip 1.1.1.1 1.1.1.100 exclusive
assign vni 8001
#
vsys name vsys2 2
assign global-ip 2.2.2.1 2.2.2.100 exclusive
assign vni 8002
#
interface GigabitEthernet1/0/0
ip address **10.0.10.12** 255.255.255.0
vrrp vrid 1 virtual-ip 10.0.10.10 standby
#
interface GigabitEthernet 1/0/1
ip address **172.16.0.2** 255.255.255.0
#
interface GigabitEthernet 1/0/2
ip address **10.2.0.1** 255.255.255.0
#
interface Vbdif1
ip address 192.168.1.1 255.255.255.0
#
interface Vbdif2
ip address 192.168.2.1 255.255.255.0
#
interface Nve1
source 10.0.10.10
vxlan statistic enable
vni 8001 head-end peer-list 10.0.20.10 10.0.20.11
vni 8002 head-end peer-list 10.0.20.10 10.0.20.11
#
firewall zone trust
set priority 85
add interface GigabitEthernet1/0/0
#
firewall zone untrust
set priority 5
add interface GigabitEthernet 1/0/2
#
firewall zone dmz
set priority 50
add interface Virtual-if0
add interface GigabitEthernet 1/0/1
#
ospf 1
import-route static
area 0.0.0.0
network **10.2.0.0** 0.0.0.255
#
ip route-static 1.1.1.0 255.255.255.0 vpn-instance vsys1
ip route-static 2.2.2.0 255.255.255.0 vpn-instance vsys2
ip route-static 10.0.20.0 255.255.255.0 10.0.10.1
#
security-policy
rule name vxlan
source-zone local
source-zone trust
destination-zone local
destination-zone trust
destination-address 10.0.0.0 mask 255.255.0.0
service vxlan
action permit
rule name ospf
source-zone local
source-zone untrust
destination-zone local
destination-zone untrust
destination-address 10.0.0.0 mask 255.0.0.0
service ospf
action permit
rule name 1_in
source-zone untrust
destination-zone dmz
destination-address 1.1.1.0 mask 255.255.255.0
action permit
rule name 2_in
source-zone untrust
destination-zone dmz
destination-address 2.2.2.0 mask 255.255.255.0
action permit
rule name 1_out
source-zone dmz
destination-zone untrust
source-address 1.1.1.0 mask 255.255.255.0
action permit
rule name 2_out
source-zone dmz
destination-zone untrust
source-address 2.2.2.0 mask 255.255.255.0
action permit
#
switch vsys vsys1
#
interface Vbdif1
ip address 192.168.1.1 255.255.255.0
#
firewall zone untrust
set priority 5
add interface Virtual-if1
#
firewall zone dmz
set priority 50
add interface Vbdif1
#
security-policy
rule name in
source-zone untrust
destination-zone dmz
destination-address 192.168.1.0 mask 255.255.255.0
action permit
rule name out
source-zone dmz
destination-zone untrust
source-address 192.168.1.0 mask 255.255.255.0
action permit
#
ip route-static 0.0.0.0 0.0.0.0 public
#
nat server to1 0 global 1.1.1.2 inside 192.168.1.2 unr-route
#
switch vsys vsys2
#
interface Vbdif2
ip address 192.168.2.1 255.255.255.0
#
firewall zone untrust
set priority 5
add interface Virtual-if2
#
firewall zone dmz
set priority 50
add interface Vbdif2
#
security-policy
rule name in
source-zone untrust
destination-zone dmz
destination-address 192.168.2.0 mask 255.255.255.0
action permit
rule name out
source-zone dmz
destination-zone untrust
source-address 192.168.2.0 mask 255.255.255.0
action permit
#
ip route-static 0.0.0.0 0.0.0.0 public
#
nat server to2 1 global 2.2.2.2 inside 192.168.2.2 unr-route
#
版权归原作者 知孤云出岫 所有, 如有侵权,请联系我们删除。