h3 id="h1">防火墙虚拟化介绍
什么是虚拟化
一虚多:一台物理机上面逻辑划分出多个虚拟机,每个虚拟机有自己的软件和硬件资源。可以提示系统资源利用率、节省硬件成本、能耗、空间等等
多虚一:以交换机的虚拟化为例,通过物理连线,将多个交换机堆叠成一个交换机,能提升其可靠性并降低运维成本
防火墙的虚拟化
防火墙的虚拟化,就是将一台物理防火墙,从逻辑上划分为多台虚拟防火墙,但是共享CPU、内存等物理资源;不同的虚拟防火墙之间,配置、转发完全隔离,从而实现功能定制、个性化管理以及资源的最大化利用
虚拟防火墙
上一代防火墙的虚拟化是完全依赖于VPN实例实现的。vpn-instance有独立的安全区域、路由表。通过绑定不同的接口,就相当于有了一台独立的防火墙。防火墙的基本要素,能实现路由转发、能实现基于安全区域的策略配置
虚拟系统
下一代防火墙不再是完全依赖于VPN实例,而是改为了VSYS,即Virtual-system。为什么不叫虚拟防火墙了?因为我们要抛弃防火墙这硬件的概念,用系统这种逻辑概念来定义防火墙的虚拟化
从VFW到VSYS
虚拟化就是为了让管理员觉得自己得到了一台真实的防火墙,那如何才能让管理员感受到这点呢
a) 要有自己独立的管理员账号和独立的配置界面。在上一代防火墙上,这一点也勉强算是做到了,但做的不够好。因为很多功能并不能在虚拟防火墙独立的配置界面下完成,而是需要在根防火墙下完成
b) 虚拟防火墙要有自己独立的软件资源,如会话表数、策略数、用户数等等,这样就不用去争抢公共的资源。上一代防火墙仅能分配最大带宽、会话数等少数几个资源项,而到了下一代防火墙,支持分配的资源项则是大大地丰富了
上一代防火墙的策略配置时在下一代防火墙上完全变了。以安全策略为例,上一代防火墙配置安全策略时,只能是在根防火墙中,通过指定根防火墙的安全区域和虚拟防火墙的安全区域的域间关系来配置安全策略。这样有两个弊端,一个是所有的策略配置只能由根系统管理员来完成;二是加入虚拟防火墙后的域间关系复杂,不利于理解和配置
NGFW策略配置不再依赖于复杂的域间关系,你可以像配置物理设备一样来配置虚拟系统!
下一代防火墙配置时,如果是由根系统管理员来配置,都是使用switch命令进入相应的虚拟系统的配置视图,然后使用和配置物理防火墙时完全一样的命令来进行配置。这样管理员的配置思路会清晰很多,而且也不需要再记忆两套配置命令
将VSYS1视为一台独立的防火墙,使用switch命令进入其独立的命令行配置视图。配置命令和方法和原来的物理防火墙一样。例如,配置源和目的安全区域时,不再需要带上vpn-instance
需要完全抛弃上一代防火墙通过指定域间关系来配置策略的思路!
将VSYS1和根系统视为两个完全独立的防火墙,配置安全策略时,按照配置两台独立防火墙的策略的思路来完成
Virtualif (虚拟接口)
默认根墙为virtualif 0, 虚拟系统的虚拟接口是从1开始,系统分配虚拟系统原理
依然存在的VPN实例
上一代的虚拟防火墙是完全依赖于VPN-instance实现的,而下一代防火墙的虚拟系统不再完全依赖VPN-instance实现。但不是说下一代的虚拟系统就完全摒弃了vpn-instance。每个虚拟系统创建的时候,都会对应创建一个同名称的vpn-instance,这个vpn-instance就是为了实现各个虚拟系统之间的路由隔离的。也就是说虚拟系统在底层的转发业务上还是依赖于vpn-instance来实现,但到了上层的业务虚拟化时,就不再依赖于vpn-instance了
创建虚拟系统时,会自动创建一个和虚拟系统同名的vpn-instance
虚拟系统下,不能创建其他的vpn-instance,也不能删除默认绑定的vpn-instance
根系统下,有一个默认的公网实例(public)
根系统下,可以创建其他的vpn-instance,用于vpn多实例的应用虚拟系统主要概念
VPN实例: VPN实例最初的含义是实现VPN(Virtual Private Network)报文转发所需的路由、接口等信息的集合,后来在防火墙版本如USGV3R1里,演化成了虚拟防火墙,一个VPN实例就是一个虚拟防火墙,它包含了路由、策略、系统管理和基本工具等子系统的克隆,是一个比较自为完善的逻辑防火墙。是防火墙虚拟化的基础,一个虚拟防火墙具有一个VPN实例
VPN实例有VRF-ID和RD(Route Distinguisher)两个属性。VPN实例通过RD实现地址空间独立,区分不同VPN使用的相同地址前缀。资源、配置和业务基于这个ID划分实例。 VRF的全称是VPN Route Forwarding,它是一种通过路由区分以正确转发VPN报文的机制
在NGFW上,我们缩小了VPN实例的范畴,使其只负责网络接口、路由和转发的虚拟化,虚拟系统代替VPN实例来履行配置、上层业务等虚拟化的职责虚拟系统关键技术
虚拟化的基础是资源、配置和业务的虚拟化
使用ID区分是实现虚拟化的关键技术
虚拟化时使用了VPN实例的ID来区分报文、管理员、配置等等属于哪个虚拟防火墙。NGFW上创建虚拟系统时自动生成的VPN实例的ID固定为某一段值虚拟系统依赖关系
虚拟系统系统管理
根系统
缺省存在的一个特殊的虚拟系统,未配置其他虚拟系统时,根系统就等同于防火墙自身
根系统管理员
配置根系统的业务外,还可以创建虚拟系统,并为虚拟系统分配资源和创建虚拟系统管理员
虚拟系统
逻辑上划分出来的虚拟设备
虚拟系统管理员
配置虚拟系统的业务
虚拟系统管理员在设置本系统时,将本系统的VSYS ID置入各业务的配置,用以区分不同虚拟系统的配置信息,即配置虚拟化
虚拟系统管理员只能设置和查看本系统的配置;根系统管理员可以切换至虚拟系统来设置和查看虚拟系统的配置
虚拟系统和根系统的配置分区域地保存在一个配置文件里虚拟系统资源分配
资源是指业务正常运转所必需的硬件、软件表项等各种形态的计算和存储单元。虚拟系统对资源的占用有两种方式:限额使用和共享抢占
对于关键资源两种均可选,对于非关键资源只有共享抢占方式
关键资源包括会话、一体化策略、用户、用户组、在线用户和带宽,其他为非关键资源
资源分配的目的是为了单个虚拟系统抢占了过多的资源,导致其他虚拟系统无法工作
限额使用的资源有两种方式
a) 手工分配限额:手工配置数量 如会话、用户、策略等
b) 自动分配限额:虚拟系统创建的时候就固定分配给虚拟系统了 如安全区域在虚拟系统创建时就固定分配8个
共享抢占资源:所有虚拟系统+根系统一起抢占,共用整机的资源 =没有做分配
a) 如:地址和地址组、NAT地址池、时间段、各种表项等虚拟系统转发
报文在入接口上被打上标记,此标记即为接口所属虚拟系统ID
通过虚拟系统ID来查找其对应的FIB表、策略或者规则等,来正确处理报文
跨虚拟系统转发主要用于不同虚拟系统管辖的网络间相互通信的场景,流量在物理防火墙内就需要完成转发,虚拟系统间报文的通信像物理防火墙之间通信一样。通过虚拟接口技术可以实现数据包跨虚拟系统的转发
虚拟系统和根系统通过虚拟接口通信。虚拟系统间访问通过根系统中转。配置时,将各个虚拟系统当成独立的设备
创建虚拟系统时系统自动为其创建的一个虚拟接口,作为虚拟系统自身与其他虚拟系统之间通信的接口。与设备上其他的接口不同的是,虚拟接口不配置IP地址也能生效。虚拟接口名的格式为“Virtualif+接口号”,根系统的虚拟接口名为Virtualif0,其他虚拟系统的Virtualif接口号从1开始,根据系统中接口号占用情况自动分配
各个虚拟系统的虚拟接口和根系统的虚拟接口之间默认通过一条“虚拟链路”连接。将虚拟接口加入安全区域并按照配置一般设备间互访的思路配置路由和安全策略,就能实现虚拟系统与根系统之间的互访
由于每个虚拟系统和根系统都是连通的,可以将根系统视为一台连接多个虚拟系统的“路由器”,通过这台“路由器”的中转,可以实现两个虚拟系统之间的互访
虚拟系统基本配置
启动虚拟系统
执行vsys enable(系统视图下)命令启用虚拟系统功能 vsys enable ----------------虚拟系统开启
规划资源
由于NGFW上所创建的虚拟系统会共同使用NGFW的资源,为避免因某个虚拟系统占用大量资源,导致其他虚拟系统无法获取资源、业务无法正常运行的情况,需要对单个虚拟系统允许使用的资源进行约束
虚拟系统的资源分配是通过在资源类中规划资源数,再将资源类绑定虚拟系统来实现的。一个资源类可以同时被多个虚拟系统绑定
当多个虚拟系统的资源需求相同时,根系统管理员只需要为这些虚拟系统配置一个资源类即可。资源类ro默认与根系统绑定,不能删除、不能修改名称
参数中所示的“策略数”是指所有策略的总数,包括安全策略、NAT策略、带宽策略、认证策略、审计策略和策略路由
创建资源类
resource-class vsysa -------------默认的资源是R0 resource-item-limit session reserved-number 0 maximum 10000 resource-item-limit policy reserved-number 1000 resource-item-limit online-user reserved-number 0 maximum 1000
新建虚拟系统
<NGFW> system-view [NGFW] vsys name vsysa //创建名为vsysa的虚拟系统 [NGFW-vsysa] assign resource-class r0 //绑定资源类
分配接口或VLAN
根据实际组网规划,为虚拟系统分配接口或VLAN。 在“接口分配”中,可分配的接口包括未被其他虚拟系统使用的三层以太网接口、子接口。在“VLAN分配”中,可分配的VLAN中包含的二层接口或VLANIF会随VLAN分配给相应的虚拟系统
虚拟系统绑定资源
vsys name vsysa 1 assign resource-class vsysa
虚拟系统分配接口
vsys name vsysa 1 assign interface GigabitEthernet0/0/2
虚拟接口注意:可以不配置IP地址,但一定要划ZONE
配置虚拟防火墙命令:
switch vsys vsysa --------------进入虚拟系统防火墙 interface GigabitEthernet0/0/2 ip address 10.1.1.10 255.255.255.0 firewall zone trust add interface GigabitEthernet0/0/2 firewall zone untrust set priority 5 add interface Virtualif1 ------------虚拟接口一定加入ZONE,可以不配置IP地址。
接口和VLAN分配原则
三层基于接口分流,根据接口与虚拟系统的绑定关系来确定流量进入哪个虚拟系统处理
二层基于VLAN分流,根据VLAN与虚拟系统的绑定关系来确定流量进入哪个虚拟系统处理
创建管理员
如果虚拟系统要有专门的管理员来管理,进入虚拟系统创建虚拟系统管理员
虚拟系统管理员用户名必须带后缀“@虚拟系统名称”。如果使用第三方认证服务器对虚拟系统管理员进行认证,认证服务器上配置的用户名不需要带后缀“@虚拟系统名称”。例如,认证服务器需要对虚拟系统VSYSA的管理员admin@vsysa进行认证时,认证服务器上配置的用户名应该是admin
在命令行界面下,除了上述所示的基本配置,信任主机的配置通过绑定ACL来实现,同时,还可以为管理员绑定系统管理员角色。配置举例如下
[NGFW] switch vsys vsysa [NGFW-vsysa] aaa [NGFW-vsysa-aaa] manager-user admin@vsysa [NGFW-vsysa-aaa-manager-user-admin@vsysa] password cipher Vsysadmin@123 [NGFW-vsysa-aaa-manager-user-admin@vsysa] level 3 [NGFW-vsysa-aaa-manager-user-admin@vsysa] service-type telnet [NGFW-vsysa] acl 2001 [NGFW-vsysa-acl-basic-2001] rule permit source 10.3.0.99 0.0.0.0 [NGFW-vsysa-acl-basic-2001] quit [NGFW-vsysa] aaa [NGFW-vsysa-aaa] manager-user admin@vsysa [NGFW-vsysa-aaa-manager-user-admin@vsysa] acl-number 2001 //绑定信任主机 [NGFW-vsysa-aaa] bind manager-user admin@vsysa role system-admin //将虚拟系统管理员绑定为系统管理员角色
虚拟系统与根系统之间通信
虚拟系统通过根系统访问外网
路由
A. 考虑虚拟防火墙去往根墙的路由
ip route-static X.XX.X X.X.X.X public
B. 考虑回包,防火墙回到虚拟系统
ip route-static X.X.X.X X.X.X.X vpn-instance 虚拟系统的名字
安全策略
虚拟系统独立放行安全,根防火墙独立放行安全策略
不行需要虚拟系统到根防火墙之间的安全策略 (不需要考虑虚拟接口之间的安全策略)
报文的转发流程
用户发送的访问请求首先查找VSYSA系统中的路由表,将报文转发给根系统,由根系统查找自身路由表再转发至Internet
路由的配置
a) 在VSYSA中配置一条静态路由,目的地址是3.3.3.3,目的虚拟系统选择root
b) 在根系统中配置一条静态路由,目的地址是3.3.3.3,出接口是GE1/0/1,下一跳是运营商所提供的网关地址。完成正向路由的配置
c) 在根系统中配置一条静态路由,目的地址是10.3.0.0/24,目的虚拟系统选择VSYSA
d) 在VSYSA中配置一条静态路由,目的地址是10.3.0.0/24,出接口是GE1/0/2。完成反向路由的配置
进入虚拟系统,配置到达外网的路由以及到达虚拟系统用户资源的路由[NGFW] switch vsys vsysa [NGFW-vsysa] ip route-static 3.3.3.3 32 public [NGFW-vsysa] ip route-static 10.3.0.0 24 GigabitEthernet 1/0/2
在根系统中配置到达服务器和到达虚拟系统的路由
[NGFW] ip route-static 3.3.3.3 32 1.1.1.254 [NGFW] ip route-static 10.3.0.0 24 vpn-instance vsysa
安全策略的配置方法如下
a) 在VSYSA中,将接口GE1/0/2加入Trust区域、Virtualif1加入Untrust区域,配置允许Trust区域访问Untrust区域的安全策略
b) 在根系统中,将接口GE1/0/1加入Untrust区域、Virtualif0加入Trust区域,配置允许Trust区域访问Untrust区域的安全策略
c) 完成上述路由和安全策略的配置就可以实现报文的正常转发,但是内网的主机使用的是私网地址10.3.0.0/24,所以内网的主机如果想要正常访问Internet,还必须在VSYSA或root中配置NAT策略,进行公网地址和私网地址的转换。在哪个虚拟系统中配置NAT策略,取决于哪个虚拟系统的管理员管理和使用公网地址虚拟系统与虚拟系统之间访问
两个虚拟系统之间存在业务访问的需求时,需要通过根系统的中转来完成互访。在理解了虚拟系统和根系统互访的配置之后,虚拟系统间互访就很容易理解了。只需要将两个虚拟系统和根系统间互访配置完成就可以了
报文的转发流程
VSYSA中的用户要访问VSYSB中的Server,需要通过VSYSA访问根系统,再通过根系统访问VSYSB来实现。根系统就相当于一台路由器,负责连接两个虚拟系统,中转虚拟系统之间互访的报文。报文在转发过程中需要查找的路由表依次为VSYSA路由表、根系统路由表、VSYSB路由表
路由的配置方法如下
a) 在VSYSA中配置一条静态路由,目的地址是10.3.1.3,目的虚拟系统选择root
b) 在根系统中配置一条静态路由,目的地址是10.3.1.3,目的虚拟系统选择VSYSB
c) 在VSYSB中配置一条静态路由,目的地址是10.3.1.3,出接口是GE1/0/3。完成正向路由的配置
d) 在VSYSB中配置一条静态路由,目的地址是10.3.0.0/24,目的虚拟系统选择root
e) 在根系统中配置一条静态路由,目的地址是10.3.0.0/24,目的虚拟系统选择VSYSA
f) 在VSYSA中配置一条静态路由,目的地址是10.3.0.0/24,出接口是GE1/0/2。完成反向路由的配置
配置vsysa到达外网的路由以及到达虚拟系统用户资源的路由[NGFW-vsysa] ip route-static 10.3.1.0 24 public [NGFW-vsysa] ip route-static 10.3.0.0 24 GigabitEthernet 1/0/2
配置vsysa到达外网的路由以及到达虚拟系统用户资源的路由
[NGFW-vsysb] ip route-static 10.3.0.0 24 public [NGFW-vsysb] ip route-static 10.3.1.0 24 GigabitEthernet 1/0/3
在根系统中配置VSYSA和VSYSB互访的路由
[NGFW] ip route-static 10.3.0.0 24 vpn-instance vsysa [NGFW] ip route-static 10.3.1.0 24 vpn-instance vsysb
安全策略的配置方法如下:
a) 在VSYSA中,将接口GE1/0/2加入Trust区域、Virtualif1加入Untrust区域,配置允许Trust区域访问Untrust区域的安全策略
b) 在VSYSB中,将接口GE1/0/3加入Trust区域、Virtualif2加入Untrust区域,配置允许Untrust区域访问Trust区域的安全策略
c) 在理解了VSYSA和root互访的基础上,再配置root到VSYSB的安全策略和路由就可以完成VSYSA和VSYSB的互访
d) 需要注意的是:根系统只根据路由表对虚拟系统之间的访问报文进行转发,不进行其他安全功能的处理,因此不需要在根系统下针对这些报文配置安全策略配置案例
创建虚拟墙vsysa、vsysb、虚拟墙内部网络能够互访
配置vsysb资源 会话数保证值为10000 最大值为50000 新建虚拟管理员userb
在根墙配置NAT 让虚拟墙以及内部网络能够访问internet
第一步:基本配置(IP ZONE 路由 NAT)
第二步: 配置虚拟系统
A. 开启虚拟系统功能vsys enable
B. 创建资源类,默认为R0
resource-class vsysa resource-item-limit session reserved-number 0 maximum 10000 resource-item-limit policy reserved-number 1000 resource-item-limit online-user reserved-number 0 maximum 1000 # resource-class vsysb resource-item-limit session reserved-number 10000 maximum 50000
检查:
[FW1]display resource resource-usage 16:14:03 2019/07/27 Resource usage information table:root (r0) ---------------------------------------------------------------------------- Reserved-Number Maximum Actual-Usage Global-Number session 0 500000 14 500000 policy 0 3000 2 3000 online-user 0 2000 0 2000 user 0 2000 1 2000 user-group 0 256 1 256 security-group 0 5000 17 5000 bandwidth-ingress 0 10000000 0 10000000 ssl-vpn-concurrent 0 100 0 100 session-rate 0 30000 0 30000 dhcps-dynamic-lease 0 15000 1 15000 dhcps-static-lease 0 5000 0 5000 ---------------------------------------------------------------------------- Resource usage information table:vsysa (vsysa) ---------------------------------------------------------------------------- Reserved-Number Maximum Actual-Usage Global-Number session 0 200000 11 500000 policy 0 3000 2 3000 online-user 0 1000 0 2000 user 0 2000 0 2000 user-group 0 256 0 256 security-group 0 5000 0 5000 bandwidth-ingress 0 10000000 0 10000000 ssl-vpn-concurrent 0 100 0 100 session-rate 0 30000 0 30000 dhcps-dynamic-lease 0 15000 0 15000 dhcps-static-lease 0 5000 0 5000 ---------------------------------------------------------------------------- Resource usage information table:vsysb (vsysb) ---------------------------------------------------------------------------- Reserved-Number Maximum Actual-Usage Global-Number session 10000 50000 17 500000 policy 0 3000 3 3000 online-user 0 2000 0 2000 user 0 2000 0 2000 user-group 0 256 0 256 security-group 0 5000 0 5000 bandwidth-ingress 0 10000000 96 10000000 ssl-vpn-concurrent 0 100 0 100 session-rate 0 30000 0 30000 dhcps-dynamic-lease 0 15000 0 15000 dhcps-static-lease 0 5000 0 5000 ------------------------------------------------------------------------
C. 创建虚拟系统,并绑定资源,接口分配
vsys name vsysa 1 -------------------------------取名,对应自动生成vpn-instance assign resource-class vsysa ----------------------绑定资源 assign interface GigabitEthernet0/0/2 -------------接口分配,在根墙会自动绑定vpn-instance # vsys name vsysb 2 assign resource-class vsysb assign interface GigabitEthernet0/0/3
第三步:进入虚拟系统配置
举例:VSYSA
switch vsys vsysa -------------------进入虚拟系统vsysa
A. 配置IP地址,ZONE
interface GigabitEthernet0/0/2 ip address 10.1.1.10 255.255.255.0 firewall zone trust set priority 85 add interface GigabitEthernet0/0/2 firewall zone untrust set priority 5 add interface Virtualif1
注意:虚拟接口可以不需要配置IP地址,但一定要加ZONE
B. 配置路由
实现虚拟系统访问根系统
ip route-static 0.0.0.0 0.0.0.0 public
注意:也解决去往其它虚拟系统的路由问题
C. 配置安全
security-policy rule name trust_untrsut source-zone trust destination-zone untrust action permit
注: 只能解决访问根系统
第四步:根墙配置
根墙virtualif0 也要加ZONE
firewall zone trust add interface Virtualif0
配置去往各自虚拟系统的路由
ip route-static 10.1.1.0 255.255.255.0 vpn-instance vsysa ip route-static 10.1.2.0 255.255.255.0 vpn-instance vsysb
第五步:各自虚拟系统测试通过根防火墙访问internet
[FW1-vsysa]display firewall session ta 10:11:09 2019/12/08 Current Total Sessions : 4 udp VPN:vsysa --> vsysa 10.1.1.1:63268-->180.163.26.34:8000 https VPN:vsysa --> vsysa 10.1.1.1:49329-->54.213.71.156:443 udp VPN:vsysa --> vsysa 10.1.1.1:58639-->180.163.26.34:8000 http VPN:vsysa --> vsysa 10.1.1.1:49489-->180.163.21.35:80 [FW1-vsysb]display firewall session ta 10:14:09 2019/12/08 Current Total Sessions : 3 https VPN:vsysb --> vsysb 10.1.2.1:49319-->13.35.50.72:443 netbios-name VPN:vsysb --> vsysb 169.254.232.174:137-->169.254.255.255:137 http VPN:vsysb --> vsysb 10.1.2.1:49252-->104.85.245.85:80
第六步:虚拟之间相互访问
路由已经解决(配置默认路由)
安全策略问题
两个虚拟系统.都需要配置从外部到内容的安全策略
security-policy rule name untrust_trust source-zone untrust destination-zone trust action permit
本文链接:https://www.kinber.cn/post/1948.html 转载需授权!
推荐本站淘宝优惠价购买喜欢的宝贝: