虚拟化技术主要分为两类,一类是一虚多,就是在一台物理机上虚拟出多台逻辑计算机。 另一类是多虚拟一:就是将多台物理机通过虚拟化技术虚拟为一台逻辑计算机。
有关虚拟化技术可参考:Vmware虚拟化概念原理
虚拟系统(Virtual System)是在一台物理设备上划分出的多台相互独立的逻辑设备。
防火墙虚拟化就是将一个物理防火墙划分为多个虚拟系统。每一个虚拟系统相当于一台真实的设备,有自己的接口、地址集、用户/组、路由表及策略,并可以通过虚拟管理员进行配置和管理。
防火墙存在两种虚拟系统。
根系统(public)
根系统是FW上缺省存在的一个特殊的虚拟系统。即使虚拟系统功能未启用,根系统也依然存在。此时,管理员对FW进行配置等同于对根系统进行配置。启用虚拟系统功能后,根系统会继承先前FW上的配置。
在虚拟系统这个特性中,根系统的作用是管理其他虚拟系统,并为虚拟系统间的通信提供服务。
虚拟系统(VSYS)
虚拟系统是在FW上划分出来的、独立运行的逻辑设备。
为了实现每个虚拟系统的业务都能够做到正确转发、独立管理、相互隔离,FW主要实现了几个方面的虚拟化:
除了虚拟系统之外,FW还支持VPN实例(VPN Instance),两者都有隔离的作用,虚拟系统的主要作用是业务隔离和路由隔离(静态路由),VPN实例的主要作用是路由隔离。没有实现虚拟化的功能需要使用VPN实例来配置多实例功能,如动态路由、组播等。
FW上的VPN实例包括如下两种形态:
创建虚拟系统时自动生成的VPN实例
创建虚拟系统时,会自动生成相同名字的VPN实例。
管理员手动创建的VPN实例
管理员使用ip -instance命令手动创建的VPN实例,该VPN实例主要用于MPLS场景中,作用是路由隔离。我们所说的用来进行路由隔离的VPN实例,指的就是管理员手动创建的VPN实例。
根据虚拟系统的类型,管理员分为根系统管理员和虚拟系统管理员。
根系统管理员:可以管理根,也可以管理虚拟系统。
虚拟系统,及虚拟系统管理员都由根系统管理员创建。
虚拟系统管理员用户名格式统一为“管理员名@@虚拟系统名”。
虚拟系统管理员:只能管理虚拟系统,不能管理根系统。
合理地分配资源可以对单个虚拟系统的资源进行约束,避免因某个虚拟系统占用过多的资源,导致其他虚拟系统无法获取资源、业务无法正常运行的情况。
安全区域、策略、会话等实现虚拟系统业务的基础资源支持定额分配或手工分配,其中:
定额分配:此类资源直接按照系统规格自动分配固定的资源数,不支持用户手动分配。
例如:安全区域(4个固定 + 4 个非固定) 4个 SSL VPN网关
手工分配:此类资源支持用户通过命令行或Web界面中的资源类界面手动分配。会话数 策略数等。
此外,其他的资源项则是各个虚拟系统一起共享抢占整机资源,同样不支持用户手动分配。
如果虚拟系统不绑定资源类,则虚拟系统的资源不受限制,虚拟系统和根系统以及其他未绑定资源类的虚拟系统一起共同抢占整机的剩余资源。
如果虚拟系统绑定的资源类对某些资源项未指定最大值和保证值,则虚拟系统的这些资源项不受限制,虚拟系统和根系统以及其他未限定该资源项的虚拟系统一起共同抢占整机的剩余资源。
虚拟系统之间通过虚拟接口实现互访。
虚拟接口是创建虚拟系统时系统自动为其创建的一个逻辑接口,作为虚拟系统自身与其他虚拟系统之间通信的接口。虚拟接口的链路层和协议层始终是UP的。虚拟接口必须配置IP地址(V500版本),并加入安全区域,否则无法正常工作。(注:在V100版本中,虚拟接口不配置IP地址也能生效。)
虚拟接口名的格式为“Virtual-if+接口号”,根系统的虚拟接口名为Virtual-if0,其他虚拟系统的Virtual-if接口号从1开始,根据系统中接口号占用情况自动分配。
考虑两个方面:
第一个方面: 路由
解决虚拟墙能访问根墙
ip route-static 0.0.0.0 0.0.0.0 public
根墙回包到虚拟墙
ip route-static 10.1.1.0 255.255.255.0 -instance vsysa
第二个方面:安全策略
把虚拟墙安全策略 跟物理墙安全策略同样配置
注意:虚拟接口 一定要加ZONE,但不一定要配置地址
在V100中,两个虚拟系统的互访流量需要通过根墙,在V500中可以直接互访。
在V500中可配置路由:ip route-static -instance vsysa 10.3.1.3 255.255.255.255 -instance vsysb
虚拟墙与虚拟墙通信
考虑路由和策略
如下图:在防火墙上配置两个虚拟墙。并且需要实现vsysa和根墙通信,及vsysa和vsysb的通行。同时都能访问外网。出口使用了easy-ip。
配置思路:
第一步:开启虚拟防火墙功能
vsys enable
第二步:资源分配(默认R0)
resource-class vsysa
resource-item-limit session reserved-number 0 maximum 10000
resource-item-limit policy reserved-number 200
resource-item-limit online-user reserved-number 0 maximum 1000
#
resource-class vsysb
resource-item-limit session reserved-number 10000 maximum 50000
第三步:绑定资源分配,分配接口
vsys name vsysa 1
assign resource-class vsysa
assign interface GigabitEthernet1/0/1
#
vsys name vsysb 2
assign resource-class vsysb
assign interface GigabitEthernet1/0/2
第四步:进入各自虚拟系统配置
进入虚拟系统
switch vsys vsysa(名字)
1. 接口配置IP地址和ZONE
interface GigabitEthernet1/0/2
ip address 10.1.2.10 255.255.255.0
firewall zone trust
set priority 85
add interface GigabitEthernet0/0/2
2. 把自动产生的虚拟接口也要划ZONE
firewall zone untrust
set priority 5
add interface Virtualif1
3.配置去往根路由
ip route-static 0.0.0.0 0.0.0.0 public
4.配置安全策略
策略:
VSYSA:
security-policy
rule name trust_untrust
source-zone trust
destination-zone untrust
action permit
rule name untrust_trust
source-zone untrust
destination-zone trust
action permit
#
VSYSB
security-policy
rule name trust_untrust
source-zone trust
destination-zone untrust
source-address 10.1.3.0 mask 255.255.255.0
action permit
rule name untrust_trust
source-zone untrust
destination-zone trust
action permit
#
第五步:配置根防火墙
配置回包到虚拟防火墙
ip route-static 10.1.2.0 255.255.255.0 -instance vsysa
ip route-static 10.1.3.0 255.255.255.0 -instance vsysb
第六步:测试检查
注意:根墙会话是包含虚拟墙的会话
FW路由表:
[FW]dis ip routing-table
2019-04-01 10:19:53.440
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 9 Routes : 9
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 Static 60 0 RD 202.100.1.1 GigabitEthernet
1/0/3
10.1.1.0/24 Direct 0 0 D 10.1.1.10 GigabitEthernet
1/0/0
10.1.1.10/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
1/0/0
10.1.2.0/24 Static 60 0 D 0.0.0.0 Virtual-if1
10.1.3.0/24 Static 60 0 D 0.0.0.0 Virtual-if2
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
202.100.1.0/24 Direct 0 0 D 202.100.1.10 GigabitEthernet
1/0/3
202.100.1.10/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
1/0/3
vsysa路由表:
<FW-vsysa>sys
Enter system view, return user view with Ctrl+Z.
[FW-vsysa]dis ip ro
[FW-vsysa]dis ip routing-table
2019-04-01 10:21:04.920
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: vsysa
Destinations : 3 Routes : 3
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 Static 60 0 D 0.0.0.0 Virtual-if0
10.1.2.0/24 Direct 0 0 D 10.1.2.10 GigabitEthernet
1/0/1
10.1.2.10/32 Direct 0 0 D 127.0.0.1 GigabitEthernet
1/0/1
虚拟系统信息:
[FW]display vsys verbose
2019-04-01 10:22:00.340
Total Virtual system Configured: 3
------------------------------------------------------------
Name : public
ID : 0
Startup time : 2019/04/01 09:38:43
Up time : 0 days, 0 hours, 43 minutes and 17 Seconds
Interfaces :
Administrator :
Resource class : r0
Description :
Name : vsysa
ID : 1
Startup time : 2019/04/01 09:48:36
Up time : 0 days, 0 hours, 33 minutes and 24 Seconds
Interfaces : GigabitEthernet1/0/1
Administrator :
Resource class : vsysa
Description :
Name : vsysb
ID : 2
Startup time : 2019/04/01 09:59:44
Up time : 0 days, 0 hours, 22 minutes and 16 Seconds
Interfaces : GigabitEthernet1/0/2
Administrator :
Resource class :
Description :
------------------------------------------------------------
功能 | 使用限制 |
---|---|
管理员 | 虚拟系统管理员不能通过Console口登录设备。 |
特征库升级和系统软件升级 | 只能在根系统中进行特征库和系统软件的升级操作。 |
配置文件管理 | 虚拟系统管理员可以通过Web界面或CLI界面查看、保存自己管理的虚拟系统的配置。但配置文件的导入、导出只能通过Web界面。 |
SSH | 支持虚拟系统管理员通过STelnet方式登录虚拟系统,但本地密钥对只能在根系统生成,所有虚拟系统共用根系统的配置。 |
服务端口 | 所有服务端口都只能在根系统中修改,如HTTP服务端口、HTTPS服务端口、SSH服务端口等。 |
用户与认证 | 只能在根系统中配置重定向认证方式和认证页面,所有虚拟系统共用根系统的配置。 |
策略路由 | 策略路由支持配置跨虚拟系统转发,但只有根系统管理员可以配置报文按照策略路由从一个虚拟系统转发到另一个虚拟系统。虚拟系统管理员无此权限,即无法执行action pbr -instance -instance-name 命令,但可以执行undo action pbr -instance -instance-name。 |
注意事项:
虚拟系统不支持配置动态路由:
需要在根系统下配置并绑定与虚拟系统同名的-instance。
ospf 10 router-id 10.2.0.1 -instance vsysa
情况一: 只通过根墙访问internet
只需要配置源NAT转换,源地址转换为不冲突的地址网段
情况二: 两个地址相同的虚拟墙访问
需要源NAT和NAT-Server
参考文档:华为HedEx文档