防火墙虚拟系统

防火墙虚拟系统

虚拟化技术:

虚拟化技术主要分为两类,一类是一虚多,就是在一台物理机上虚拟出多台逻辑计算机。 另一类是多虚拟一:就是将多台物理机通过虚拟化技术虚拟为一台逻辑计算机。

有关虚拟化技术可参考:Vmware虚拟化概念原理

虚拟系统简介:

虚拟系统(Virtual System)是在一台物理设备上划分出的多台相互独立的逻辑设备。

防火墙虚拟化就是将一个物理防火墙划分为多个虚拟系统。每一个虚拟系统相当于一台真实的设备,有自己的接口、地址集、用户/组、路由表及策略,并可以通过虚拟管理员进行配置和管理。

虚拟系统的特点:

  • 每个虚拟系统由独立的管理员进行管理,使得多个虚拟系统的管理更加清晰简单,所以非常适合大规模的组网环境。
  • 每个虚拟系统拥有独立的配置及路由表项,这使得虚拟系统下的局域网即使使用了相同的地址范围,仍然可以正常进行通信。
  • 可以为每个虚拟系统分配固定的系统资源,保证不会因为一个虚拟系统的业务繁忙而影响其他虚拟系统。
  • 虚拟系统之间的流量相互隔离,更加安全。在需要的时候,虚拟系统之间也可以进行安全互访。
  • 虚拟系统实现了硬件资源的有效利用,节约了空间、能耗以及管理成本。

防火墙虚拟系统的应用场景:

  1. 大中型企业多个部门的网络隔离。
  2. IDC租赁服务。
  3. 云计算中心的安全网关,数据中心网关。

防火墙上存在的虚拟系统:

防火墙存在两种虚拟系统。

  • 根系统(public)

    根系统是FW上缺省存在的一个特殊的虚拟系统。即使虚拟系统功能未启用,根系统也依然存在。此时,管理员对FW进行配置等同于对根系统进行配置。启用虚拟系统功能后,根系统会继承先前FW上的配置。

    在虚拟系统这个特性中,根系统的作用是管理其他虚拟系统,并为虚拟系统间的通信提供服务。

  • 虚拟系统(VSYS)

    虚拟系统是在FW上划分出来的、独立运行的逻辑设备。

为了实现每个虚拟系统的业务都能够做到正确转发、独立管理、相互隔离,FW主要实现了几个方面的虚拟化:

  • 资源虚拟化:每个虚拟系统都有独享的资源,包括接口、VLAN、策略和会话等。根系统管理员分配给每个虚拟系统,由各个虚拟系统自行管理和使用。
  • 配置虚拟化:每个虚拟系统都拥有独立的虚拟系统管理员和配置界面,每个虚拟系统管理员只能管理自己所属的虚拟系统。
  • 安全功能虚拟化:每个虚拟系统都可以配置独立的安全策略及其他安全功能,只有属于该虚拟系统的报文才会受到这些配置的影响。
  • 路由虚拟化:每个虚拟系统都拥有各自的路由表,相互独立隔离。目前仅支持静态路由的虚拟化。

虚拟系统与VPN实例:

除了虚拟系统之外,FW还支持VPN实例(VPN Instance),两者都有隔离的作用,虚拟系统的主要作用是业务隔离和路由隔离(静态路由),VPN实例的主要作用是路由隔离。没有实现虚拟化的功能需要使用VPN实例来配置多实例功能,如动态路由、组播等。

FW上的VPN实例包括如下两种形态:

  • 创建虚拟系统时自动生成的VPN实例

    创建虚拟系统时,会自动生成相同名字的VPN实例。

  • 管理员手动创建的VPN实例

    管理员使用ip vpn-instance命令手动创建的VPN实例,该VPN实例主要用于MPLS场景中,作用是路由隔离。我们所说的用来进行路由隔离的VPN实例,指的就是管理员手动创建的VPN实例。

虚拟系统的管理员:

根据虚拟系统的类型,管理员分为根系统管理员和虚拟系统管理员。

  • 根系统管理员:可以管理根,也可以管理虚拟系统。

    虚拟系统,及虚拟系统管理员都由根系统管理员创建。

    虚拟系统管理员用户名格式统一为“管理员名@@虚拟系统名”。

  • 虚拟系统管理员:只能管理虚拟系统,不能管理根系统。

虚拟系统的资源分配:

合理地分配资源可以对单个虚拟系统的资源进行约束,避免因某个虚拟系统占用过多的资源,导致其他虚拟系统无法获取资源、业务无法正常运行的情况。

安全区域、策略、会话等实现虚拟系统业务的基础资源支持定额分配或手工分配,其中:

  • 定额分配:此类资源直接按照系统规格自动分配固定的资源数,不支持用户手动分配。

    例如:安全区域(4个固定 + 4 个非固定) 4个 SSL VPN网关

  • 手工分配:此类资源支持用户通过命令行或Web界面中的资源类界面手动分配。会话数 策略数等。

此外,其他的资源项则是各个虚拟系统一起共享抢占整机资源,同样不支持用户手动分配。

如果虚拟系统不绑定资源类,则虚拟系统的资源不受限制,虚拟系统和根系统以及其他未绑定资源类的虚拟系统一起共同抢占整机的剩余资源。

如果虚拟系统绑定的资源类对某些资源项未指定最大值和保证值,则虚拟系统的这些资源项不受限制,虚拟系统和根系统以及其他未限定该资源项的虚拟系统一起共同抢占整机的剩余资源。

虚拟系统互访

虚拟接口:

虚拟系统之间通过虚拟接口实现互访。

虚拟接口是创建虚拟系统时系统自动为其创建的一个逻辑接口,作为虚拟系统自身与其他虚拟系统之间通信的接口。虚拟接口的链路层和协议层始终是UP的。虚拟接口必须配置IP地址(V500版本),并加入安全区域,否则无法正常工作。(注:在V100版本中,虚拟接口不配置IP地址也能生效。)

虚拟接口名的格式为“Virtual-if+接口号”,根系统的虚拟接口名为Virtual-if0,其他虚拟系统的Virtual-if接口号从1开始,根据系统中接口号占用情况自动分配。

虚拟系统与根系统互访:

考虑两个方面:

  1. 第一个方面: 路由

    解决虚拟墙能访问根墙
    ip route-static 0.0.0.0 0.0.0.0 public

    根墙回包到虚拟墙
    ip route-static 10.1.1.0 255.255.255.0 vpn-instance vsysa

  2. 第二个方面:安全策略

    把虚拟墙安全策略 跟物理墙安全策略同样配置

    注意:虚拟接口 一定要加ZONE,但不一定要配置地址

虚拟系统之间互访:

在V100中,两个虚拟系统的互访流量需要通过根墙,在V500中可以直接互访。

在V500中可配置路由:ip route-static vpn-instance vsysa 10.3.1.3 255.255.255.255 vpn-instance vsysb

虚拟墙与虚拟墙通信
考虑路由和策略

虚拟系统访问配置示例:

如下图:在防火墙上配置两个虚拟墙。并且需要实现vsysa和根墙通信,及vsysa和vsysb的通行。同时都能访问外网。出口使用了easy-ip。

拓扑

配置思路:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
第一步:开启虚拟防火墙功能
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/1
ip address 10.1.2.10 255.255.255.0

firewall zone trust
set priority 85
add interface GigabitEthernet0/0/1

2. 把自动产生的虚拟接口也要划ZONE
firewall zone untrust
set priority 5
add interface Virtualif1

firewall zone trust
add interface Virtualif0

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 vpn-instance vsysa
ip route-static 10.1.3.0 255.255.255.0 vpn-instance vsysb

第六步:测试检查

注意:根墙会话是包含虚拟墙的会话

FW路由表:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[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路由表:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<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

虚拟系统信息:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
[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 vpn-instance vpn-instance-name 命令,但可以执行undo action pbr vpn-instance vpn-instance-name

注意事项:

  • 管理口GE0/0/0不能分配给虚拟系统。

虚拟系统不支持配置动态路由:

需要在根系统下配置并绑定与虚拟系统同名的vpn-instance。

1
ospf 10 router-id 10.2.0.1 vpn-instance vsysa

解决虚拟墙地址相同:

情况一: 只通过根墙访问internet
只需要配置源NAT转换,源地址转换为不冲突的地址网段

情况二: 两个地址相同的虚拟墙访问
需要源NAT和NAT-Server


参考资料:华为HedEx文档


坚持原创技术分享,您的支持将鼓励我继续创作!