虚拟防火墙配置不清晰?这个实验案例很典型

01 虚拟防火墙技术是什么

可能我们会遇到这样一个场景:

企业A与企业B都有网络安全防范的需求,但是由于企业规模和资金有限,无法承担独立购买防火墙的成本,那么这两个企业是否有可能合用一台防火墙呢?如果合用防火墙,成本确实降下来了,但是却带来了新的问题。

例如A和B的网络就不得不融合在一块了,数据、路由、策略等等就有可能会相互干扰,而且必须针对网络进行统一的规划,不能存在重叠的IP地址空间,另一个比较大的问题是,防火墙由谁来管理呢、配置的变更是否会影响到另一个企业?

有了虚拟防火墙技术,即可解决这个问题。我们可以在一台物理防火墙上,创建多个虚拟防火墙,不同的虚拟防火墙面向不同的客户或者说属于不同的客户(或者面向同一个客户的不同业务)。

在创建完虚拟防火墙后,我们可以将接口或者vlan分配给特定的虚拟防火墙,那么这个接口或vlan就是该虚拟防火墙所专用。

不同的虚拟防火墙有自己独立的路由表、会话表、配置、所属接口、安全区域及安全策略等等,彼此之间不会互相干扰。因此你完全可以将它们想象成独立的防火墙。

例如在上面的例子中,我们在防火墙上,创建了2个虚拟防火墙,这两个虚拟防火墙有自己的接口,它们彼此之间相互独立,互不影响。

企业A及B可以独立管理自己的虚拟防火墙:独立进行配置、独立进行安全规则的设置等等。虚拟防火墙可以在节省成本的同时提供一种逻辑业务隔离的解决方案。

下面引入一个虚拟防火墙实验,通过这个实验,相信能够加深大家对于虚拟防火墙的认识。

02 实验设想与拓扑

01 设想背景

某局方公司升级改造了一批基础设施,这批设施由基础设施维护单位驻场负责日常维护,由于工作需要,也将该维护单位的网络接入到我公司的内网防火墙进行上网,且利用局方的内网防火墙与三层交换机,分配给该公司一个独立的虚拟防火墙资源与一个虚拟的VRF资源以便系统隔离。

同时,该维护单位也需要对外部互联网的DDOS攻击进行防御。局方A楼要求内部流量通过防火墙内部程序进行杀毒,局方B楼要求通过防火墙进行数据过滤。驻场单位提供了一台数据服务器,以便对重要数据的保存。

02 简易拓扑

03 具体要求:

  • 外部驻场单位在访问局方内网时,首先将流量通过外部的虚拟防火墙发往交换机的全局路由表中,再让流量进入到局方的虚拟墙,然后再到局方内网,反之亦然。
  • 局站A楼要求局站B楼进行内网互访时,流量需经过A楼的虚拟墙系统,再发往B楼的虚拟墙系统,反之依然。
  • 各方可通过各自的虚拟墙,访问到驻场单位提供的数据服务器。
  • 局站以及驻场单位的设备网关都要设置在各自的VRF实例中,服务器的网关设置在交换机全局系统。

03 虚拟系统

01 虚拟防火墙

虚拟防火墙(以下称“VSYS”)是独立的、可管理的一个虚拟防火墙系统,VSYS在逻辑上可视为一台真实设备,且可通过命令行进行配置。其中的转发工作均与其他的VSYS系统独立。

根系统(以下称“Public系统”)也是一种虚拟系统,Public系统可创建VSYS系统并对VSYS系统进行资源分配、业务配置、安全配置等。在没有创建VSYS系统时,我们的一切操作都是在Public系统。

在逻辑上,Public与VSYS系统的关系如下:

02 对VSYS系统的资源分配

所有VSYS系统的接口(三层)资源、VLAN资源等均可由管理员通过Public系统进行统一分配,在没有创建VSYS系统时,所有创建的资源都属于Public系统。因此,管理员可将VLAN资源通过Public系统分配至VSYS系统。

如下图,通过Public系统分配给VSYS系统VLAN资源:

此时,VLAN资源已经分配到需要的VSYS的系统里面,VLANif接口通过VSYS系统创建之后,便可处理二层接口对应的VLAN流量。如下图:

03 虚拟系统的控制层面

在Public系统与各VSYS系统内,都有一张相互独立的控制系统,每个VSYS系统被创建时,它们专属的控制系统随之生成。

可以理解为,他们专属的控制系统可以负责各虚拟系统的控制层面工作,而虚拟系统本身可实现完成杀毒、区域策略等安全功能,虚拟系统需要与它们专属的控制系统互相配合才可以实现一个完整的控制与转发流程。

VSYS专属的控制系统名称格式为IP VPN-Instance+VSYS系统名字。Public的控制系统名称为Public。每个虚拟系统的路由表均可进入到该系统内执行display ip routing-table查看。

04 虚拟系统间的路由

在每个VSYS系统被创建时,均会有一个特殊的virtual-if接口地址,virtual-if接口的命名规则为“virtual-if+编号”,这个编号可由系统按照VSYS的创建顺序自动生成,也可由管理员手动指定,Public系统的virtual-if地址编号为virtual-if0。

virtual-if接口地址可实现虚拟系统到虚拟系统之间的互通,例如:在一个虚拟系统A的流量访问另一个虚拟系统B的流量时,需要将B的virtual-if地址作为出接口,这点还是与常规路由写法还是有所区别的。其次,VSYS系统之间的路由可在Public系统视图直接编写。

在逻辑上,virtual-if接口地址与虚拟系统的关系如下图:

05 VRF

如果说VSYS实现了防火墙的虚拟化,那么VRF就实现了路由器、三层交换机的控制系统虚拟化,VRF将这些硬件设备根据业务需求,划分出多个VRF实例,这些实例拥有独立的逻辑接口,路由表和路由协议进程等,与VSYS不同的是,我们不能让实例与实例之间内部互通,因此它们也不存在VSYS的virtual-f接口。

如下图,在一台三层交换机内部创建两个VRF系统:

06 逻辑拓扑

了解了各虚拟系统的内部逻辑之后,便可整理出总体需求的逻辑图,该拓扑图将各逻辑系统分开并展示了连线情况,以便观察出实际的流量路径

04 流量路径

01 需求A

按照A需求,流量路径从A楼出发,流量到达其所在的VRF后再到VSYS1,再返回到三层交换机的全局路由表中,由全局表发往驻场单位所在的VSYS23然后可到达驻场单位所在的VRF实例中。

根据以上,分配需要的网络接口信息

02 需求B

按照B需求,流量路径从A楼出发,流量到达其所在的VRF后再到VSYS23由VSYS2将流量发往B楼所在的VRF实例中即可完成需求。

根据以上,分配需要的网络接口信息

03 需求C

按照C需求,流量路径从局站A、B与驻场单位出发,通过各自的VRF发往所属的VSYS系统,再通过交换机的全局直接访问到数据服务器。

根据以上,分配需要的网络接口信息

观察逻辑拓扑与流量路径,便可对三层交换机与防火墙进行路由配置,本次实验全部利用静态路由协议实现。

05 需求实现

01 连通性测试

A需求,从局站A到驻场单位:

B需求,从局站A楼到局站B楼:

C需求,从各站点到数据服务器:

局站A楼:

局站B楼:

驻场单位:

02 配置脚本

三层交换机配置

sysname Huawei
#
vlan batch 10 20 30 100 111 to 113 222 333
#
ip vpn-instance 10
 ipv4 -family
#
ip vpn-instance 20
 ipv4 -family
#
ip vpn-instance 30
 ipv4 -family
#
interface Vlanif1
#
interface Vlanif10
 ip binding vpn-instance 10
 ip address 10.10.1.254 255.255.255.0
#
interface Vlanif20
 ip binding vpn-instance 20
 ip address 10.20.1.254 255.255.255.0
#
interface Vlanif30
 ip binding vpn-instance 30
 ip address 10.30.1.254 255.255.255.0
#
interface Vlanif100
 ip address 172.100.1.2 255.255.255.252
#
interface Vlanif111
 ip binding vpn-instance 10
 ip address 10.11.1.254 255.255.255.0
#
interface Vlanif112
 ip address 172.1.1.254 255.255.255.0
#
interface Vlanif113
 ip address 172.1.23.254 255.255.255.0
#
interface Vlanif222
 ip binding vpn-instance 20
 ip address 10.20.21.254 255.255.255.0
#
interface Vlanif333
 ip binding vpn-instance 30
 ip address 10.32.3.254 255.255.255.0
#
interface MEth0/0/1
#
interface GigabitEthernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 10 20 30 111 to 113 222 333
#
interface GigabitEthernet0/0/2
 port link-type access
 port default vlan 30
#
interface GigabitEthernet0/0/3
 port link-type access
 port default vlan 20
#
interface GigabitEthernet0/0/4
 port link-type access
 port default vlan 100
#
interface GigabitEthernet0/0/5
 port link-type access
 port default vlan 10
#
ip route-static 10.10.1.0 255.255.255.0 172.1.1.1
ip route-static 10.20.1.0 255.255.255.0 172.1.23.2
ip route-static 10.30.1.0 255.255.255.0 172.1.23.2
ip route-static vpn-instance 10 10.20.1.0 255.255.255.0 10.11.1.1     
ip route-static vpn-instance 10 10.30.1.0 255.255.255.0 10.11.1.1 
ip route-static vpn-instance 10 172.100.1.0 255.255.255.252 10.11.1.1  
ip route-static vpn-instance 20 10.10.1.0 255.255.255.0 10.20.21.1    
ip route-static vpn-instance 20 172.100.1.0 255.255.255.252 10.20.21.1 
ip route-static vpn-instance 30 10.10.1.0 255.255.255.0 10.32.3.1      
ip route-static vpn-instance 30 172.100.1.0 30 10.32.3.1            
#

防火墙配置

dis cu
sysname USG6000V1
#
vlan batch 111 to 113 222 333
#
vsys enable
#
vsys name VSYS1 1
 assign vlan 111
 assign vlan 112
#
vsys name VSYS23 2
 assign vlan 113
 assign vlan 222
 assign vlan 333
#
ip vpn-instance VSYS1
 ipv4-family
 ipv6-family
#
ip vpn-instance VSYS23
 ipv4-family
 ipv6-family
#
ip vpn-instance default
 ipv4-family
#
interface Vlanif111
 ip binding vpn-instance VSYS1
 ip address 10.11.1.1 255.255.255.0
 service-manage ping permit
#
interface Vlanif112
 ip binding vpn-instance VSYS1
 ip address 172.1.1.1 255.255.255.0
 service-manage ping permit
#
interface Vlanif113
 ip binding vpn-instance VSYS23
 ip address 172.1.23.2 255.255.255.0
 service-manage ping permit
#
interface Vlanif222
 ip binding vpn-instance VSYS23
 ip address 10.20.21.1 255.255.255.0
 service-manage ping permit
#
interface Vlanif333
 ip binding vpn-instance VSYS23
 ip address 10.32.3.1 255.255.255.0
 service-manage ping permit
#
interface GigabitEthernet0/0/0
 undo shutdown
 ip binding vpn-instance default
 ip address 192.168.0.1 255.255.255.0
 alias GE0/METH
#
interface GigabitEthernet1/0/0
 portswitch
 undo shutdown
 port link-type trunk
 port trunk allow-pass vlan 10 20 30 111 to 113 222 333
#
interface GigabitEthernet1/0/1
 portswitch
 undo shutdown
 port link-type access
#
interface GigabitEthernet1/0/2
 portswitch
 undo shutdown
 port link-type access
#
interface Virtual-if0
#
interface Virtual-if1
 ip address 11.11.11.11 255.255.255.255
#
interface Virtual-if2
 ip address 23.23.23.23 255.255.255.255
#
interface NULL0
#
firewall zone local
 set priority 100
#
firewall zone trust
 set priority 85
 add interface GigabitEthernet0/0/0
 add interface GigabitEthernet1/0/1
#
firewall zone untrust
 set priority 5
 add interface GigabitEthernet1/0/2
#
firewall zone dmz
 set priority 50
#
ip route-static vpn-instance VSYS1 10.20.1.0 255.255.255.0 vpn-instance VSYS23
ip route-static vpn-instance VSYS23 10.10.1.0 255.255.255.0 vpn-instance VSYS1
#
sa
#
security-policy
 rule name 1
  source-zone trust
  destination-zone untrust
  action permit
#
auth-policy
#
traffic-policy
#
policy-based-route
#
nat-policy
#
quota-policy
#
pcp-policy
#
dns-transparent-policy
#
rightm-policy
#
return
#
switch vsys VSYS1
#
 interface Vlanif111
 ip binding vpn-instance VSYS1
 ip address 10.11.1.1 255.255.255.0
 service-manage ping permit
#
interface Vlanif112
 ip binding vpn-instance VSYS1
 ip address 172.1.1.1 255.255.255.0
 service-manage ping permit
#
l2tp-group default-lns
#
interface Virtual-if1
 ip address 11.11.11.11 255.255.255.255
#
sa
#
firewall zone local
 set priority 100
#
firewall zone trust
 set priority 85
 add interface Vlanif111
 add interface Vlanif112
#
firewall zone untrust
 set priority 5
 add interface Virtual-if1
#
firewall zone dmz
 set priority 50
#
security-policy
 rule name 1
  source-zone trust
  source-zone untrust
  destination-zone trust
  destination-zone untrust
  source-address 10.10.1.0 mask 255.255.255.0
  source-address 10.20.1.0 mask 255.255.255.0
  destination-address 10.10.1.0 mask 255.255.255.0
  destination-address 10.20.1.0 mask 255.255.255.0
  action permit
#
ip route-static 10.10.1.0 255.255.255.0 10.11.1.254
ip route-static 10.30.1.0 255.255.255.0 172.1.1.254
ip route-static 172.100.1.0 255.255.255.252 172.1.1.254
#
return
#
switch vsys VSYS23
#
interface Vlanif113
 ip binding vpn-instance VSYS23
 ip address 172.1.23.2 255.255.255.0
 service-manage ping permit
#
interface Vlanif222
 ip binding vpn-instance VSYS23
 ip address 10.20.21.1 255.255.255.0
 service-manage ping permit
#
interface Vlanif333
 ip binding vpn-instance VSYS23
 ip address 10.32.3.1 255.255.255.0
 service-manage ping permit
#
l2tp-group default-lns
#
interface Virtual-if2
 ip address 23.23.23.23 255.255.255.255
#
sa
#
firewall zone local
 set priority 100
#
firewall zone trust
 set priority 85
 add interface Vlanif113
 add interface Vlanif222
 add interface Vlanif333
#
firewall zone untrust
 set priority 5
 add interface Virtual-if2
#
firewall zone dmz
 set priority 50
#
security-policy
 rule name 1
  source-zone trust
  source-zone untrust
  destination-zone trust
  destination-zone untrust
  source-address 10.10.1.0 mask 255.255.255.0
  source-address 10.20.1.0 mask 255.255.255.0
  destination-address 10.10.1.0 mask 255.255.255.0
  destination-address 10.20.1.0 mask 255.255.255.0
  action permit
#
ip route-static 10.10.1.0 255.255.255.0 172.1.23.254
ip route-static 10.20.1.0 255.255.255.0 10.20.21.254
ip route-static 10.30.1.0 255.255.255.0 10.32.3.254
ip route-static 172.100.1.0 255.255.255.252 172.1.23.254

06 需求总结

本次实验涉及到流量路径来回切换转发且控制系统比较多,因此需对控制层面进行加深掌握。

实验的每一个步骤都应慎重思考;

“我的流量现在可以到哪?我的流量下一步应该发往哪?我的流量是应该发往虚拟系统还是全局系统?我应该如何进行测试?”

本次实验还存在一个未解决的问题点在于:

在做完需求B时,因需求A的原因,实际上VSYS23上是有两条去局站A楼(10.10.1.1)的路由的,一条发往VSYS1的,另一条发往三层交换机的全局,这会导致需求B有两条路径往A发送,这个现象考虑用策略路由去解决,或单独给B所在的VRF创建一个VSYS系统。

版权声明:
作者:SE_YJ
链接:https://www.cnesa.cn/2250.html
来源:CNESA
文章版权归作者所有,未经允许请勿转载。

THE END
打赏
海报
虚拟防火墙配置不清晰?这个实验案例很典型
01 虚拟防火墙技术是什么 可能我们会遇到这样一个场景: 企业A与企业B都有网络安全防范的需求,但是由于企业规模和资金有限,无法承担独立购买防火墙的成本……
<<上一篇
下一篇>>