防火墙虚拟系统
虚拟化技术:
虚拟化技术主要分为两类,一类是一虚多,就是在一台物理机上虚拟出多台逻辑计算机。 另一类是多虚拟一:就是将多台物理机通过虚拟化技术虚拟为一台逻辑计算机。
有关虚拟化技术可参考:Vmware虚拟化概念原理
虚拟系统简介:
虚拟系统(Virtual System)是在一台物理设备上划分出的多台相互独立的逻辑设备。
防火墙虚拟化就是将一个物理防火墙划分为多个虚拟系统。每一个虚拟系统相当于一台真实的设备,有自己的接口、地址集、用户/组、路由表及策略,并可以通过虚拟管理员进行配置和管理。
虚拟系统的特点:
- 每个虚拟系统由独立的管理员进行管理,使得多个虚拟系统的管理更加清晰简单,所以非常适合大规模的组网环境。
- 每个虚拟系统拥有独立的配置及路由表项,这使得虚拟系统下的局域网即使使用了相同的地址范围,仍然可以正常进行通信。
- 可以为每个虚拟系统分配固定的系统资源,保证不会因为一个虚拟系统的业务繁忙而影响其他虚拟系统。
- 虚拟系统之间的流量相互隔离,更加安全。在需要的时候,虚拟系统之间也可以进行安全互访。
- 虚拟系统实现了硬件资源的有效利用,节约了空间、能耗以及管理成本。
防火墙虚拟系统的应用场景:
- 大中型企业多个部门的网络隔离。
- IDC租赁服务。
- 云计算中心的安全网关,数据中心网关。
防火墙上存在的虚拟系统:
防火墙存在两种虚拟系统。
根系统(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开始,根据系统中接口号占用情况自动分配。
虚拟系统与根系统互访:
考虑两个方面:
第一个方面: 路由
解决虚拟墙能访问根墙
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第二个方面:安全策略
把虚拟墙安全策略 跟物理墙安全策略同样配置
注意:虚拟接口 一定要加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 | 第一步:开启虚拟防火墙功能 |
注意:根墙会话是包含虚拟墙的会话
FW路由表:
1 | [FW]dis ip routing-table |
vsysa路由表:
1 | <FW-vsysa>sys |
虚拟系统信息:
1 | [FW]display vsys verbose |
虚拟系统使用限制和注意事项:
功能 | 使用限制 |
---|---|
管理员 | 虚拟系统管理员不能通过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文档