CN105656841A - 一种软件定义网络中实现虚拟防火墙的方法和装置 - Google Patents
一种软件定义网络中实现虚拟防火墙的方法和装置 Download PDFInfo
- Publication number
- CN105656841A CN105656841A CN201410630889.1A CN201410630889A CN105656841A CN 105656841 A CN105656841 A CN 105656841A CN 201410630889 A CN201410630889 A CN 201410630889A CN 105656841 A CN105656841 A CN 105656841A
- Authority
- CN
- China
- Prior art keywords
- virtual
- port
- firewall
- switch
- stream table
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施方式提出一种软件定义网络(Software?Defined?Network,SDN)中实现虚拟防火墙的方法和装置。该方法适用于第一虚拟交换机,所述第一虚拟交换机下挂有第一虚拟防火墙,包括:将第一虚拟防火墙的端口发送到SDN控制器;接收SDN控制器发送的第一流表,所述第一流表用于指示将第一虚拟交换机通过非所述第一虚拟防火墙的端口接收到的、目的地址或源地址为指定虚拟机的流量发送到第一虚拟防火墙的端口以由所述第一虚拟防火墙执行安全审核。
Description
技术领域
本发明实施方式属于网络通信技术领域,特别是一种软件定义网络(SoftwareDefinedNetwork,SDN)中实现虚拟防火墙的方法和装置。
背景技术
SDN技术通过将网络设备的控制平面与数据平面分离,从而实现网络流量的灵活控制。相应地,SDN架构中包括SDN控制器和SDN交换机,其中:SDN控制器和SDN交换机之间通过优选为开放流(OpenFlow协议)的SDN管理通道进行通信,SDN控制器根据用户的配置或者动态运行的协议生成流表下发到SDN交换机,SDN交换机依据SDN控制器下发的流表进行报文处理。
SDN技术在云计算和网络安全中都有诸多应用。云计算给数据中心的网络安全带来了诸多挑战,主要体现在:
(1)、网络边界的模糊化、威胁种类的变化以及大流量的攻击,对数据中心网络产生巨大冲击;(2)、虚拟化平台运行在操作系统与物理设备之间,其本身设计存在的漏洞风险将成为云计算的致命弱点;(3)、不同安全需求的租户可能运行在同一台物理机上,这种租户共享带来的安全问题,传统安全措施难以处理;(4)、在数据管理方面,应用系统和资源所有权的分离,导致云平台管理员有可能访问用户数据,造成人为数据泄露。
目前,现有技术中通常使用物理防火墙来解决数据中心虚拟机内部流量和虚拟机之间流量的安全检查问题。
首先,物理防火墙会导致成本问题。而且,将虚拟机内部流量和虚拟机之间流量引入到物理防火墙进行安全检查,物理防火墙检查完毕后再将流量送还到虚拟机,这还占据了物理服务器的出口带宽。
另外,物理防火墙的部署位置通常固定,虚拟机迁移后不得不重新部署物理防火墙,这也增加了部署工作量。
发明内容
本发明实施方式提出一种SDN中实现虚拟防火墙的方法和装置,无需采用物理防火墙,从而降低成本。
本发明实施方式的技术方案如下:
一种SDN中实现虚拟防火墙的方法,该方法适用于第一虚拟交换机,所述第一虚拟交换机下挂有第一虚拟防火墙,该方法包括:
将第一虚拟防火墙的端口发送到SDN控制器;
接收SDN控制器发送的第一流表,所述第一流表用于指示将第一虚拟交换机通过非所述第一虚拟防火墙的端口接收到的、目的地址或源地址为指定虚拟机的流量发送到第一虚拟防火墙的端口以由所述第一虚拟防火墙执行安全审核。
一种SDN中实现虚拟防火墙的装置,该装置应用于第一虚拟交换机,所述第一虚拟交换机下挂有第一虚拟防火墙,该装置包括:
端口上报模块,用于将第一虚拟防火墙的端口发送到SDN控制器;
流表接收模块,用于接收SDN控制器发送的第一流表,所述第一流表用于指示将第一虚拟交换机通过非所述第一虚拟防火墙的端口接收到的、目的地址或源地址为指定虚拟机的流量发送到所述第一虚拟防火墙的端口以由所述第一虚拟防火墙执行安全审核。
一种SDN中实现虚拟防火墙的方法,该方法适用于SDN控制器,该方法包括:
从第一虚拟交换机接收第一虚拟防火墙的端口,其中第一虚拟防火墙下挂在第一虚拟交换机上;
向所述第一虚拟交换机下发第一流表,所述第一流表用于指示将第一虚拟交换机通过非所述第一虚拟防火墙的端口接收到的、目的地址或源地址为指定虚拟机的流量发送到所述第一虚拟防火墙的端口以由所述第一虚拟防火墙执行安全审核。
一种SDN中实现虚拟防火墙的装置,该装置应用于SDN控制器,包括:
端口接收模块,用于从第一虚拟交换机接收第一虚拟防火墙的端口,其中第一虚拟防火墙下挂在第一虚拟交换机上;
流表下发模块,用于向第一虚拟交换机下发第一流表,所述第一流表用于指示将第一虚拟交换机通过非所述第一虚拟防火墙的端口接收到的、目的地址或源地址为指定虚拟机的流量发送到所述第一虚拟防火墙的端口以由所述第一虚拟防火墙执行安全审核。
由此可见,本发明采用虚拟机的形式将虚拟防火墙部署到虚拟交换机上,而且将虚拟防火墙与SDN控制器进行关联,充分发挥SDN控制器的全局总管功能,无需部署物理防火墙即可实现流量的安全策略检查,从而显著降低成本。另外,在虚拟机进行迁移的时候,SDN控制器重新下发流表,可以灵活控制迁移后虚拟机的安全策略检查。
附图说明
图1为根据本发明一实施方式在主机侧实现SDN虚拟防火墙的方法流程图。
图2为根据本发明一实施方式在SDN控制器侧实现SDN虚拟防火墙的方法流程图。
图3为根据本发明一实施方式SDN中实现虚拟防火墙的示意图。
图4为根据本发明一实施方式,在VxLAN组网中单独部署虚拟防火墙的示意图。
图5为根据本发明一实施方式,在VxLAN组网中虚拟防火墙与虚拟机混合部署的示意图。
图6为根据本发明一实施方式,在VLAN组网中部署虚拟防火墙的示意图。
图7为根据本发明一实施方式,虚拟防火墙与虚拟机部署在同一主机上的示意图。
图8为根据本发明一实施方式在主机侧实现SDN虚拟防火墙的装置结构图。
图9为根据本发明一实施方式,包含主机侧实现SDN虚拟防火墙的装置的主机的硬件结构图。
图10为根据本发明一实施方式在SDN控制器侧实现SDN虚拟防火墙的装置结构图。
图11为根据本发明一实施方式,包含SDN控制器侧实现SDN虚拟防火墙的装置的SDN控制器的硬件结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
在本发明实施方式中,采用虚拟机(VirtualMachine,VM)的形式将虚拟防火墙(VirtualFireWall,VFW)下挂到虚拟交换机上,虚拟交换机间以及虚拟交换机内的虚拟机间的流量都可以经过虚拟防火墙到达目的端,无需部署物理防火墙。
另外,在本发明实施方式中,将虚拟防火墙与SDN控制器进行关联,充分发挥SDN控制器的全局总管功能,在虚拟机进行迁移的时候,SDN控制器重新下发流表,从而灵活控制迁移后虚拟机的安全策略检查。
图1为根据本发明一实施方式在主机侧实现SDN虚拟防火墙的方法流程图。该方法适用于构建在第一主机上的第一虚拟交换机,第一虚拟交换机下挂有第一虚拟防火墙。
第一主机为物理实体(如物理服务器),在其上构建有第一虚拟交换机,而且在第一虚拟交换机上以虚拟机形式下挂有第一虚拟防火墙。
SDN控制器和第一虚拟交换机之间通过优选为开放流(OpenFlow协议)的SDN管理通道进行通信。SDN控制器可以根据用户的配置或者动态运行的协议生成流表下发到第一虚拟交换机,第一虚拟交换机依据SDN控制器下发的流表进行报文处理。
在主机上构建虚拟交换机的具体实施方式有多种,而且虚拟交换机的实施方式也可以有多种。
比如:在一个实施方式中,第一虚拟交换机为虚拟化开放流交换机(OVS),其中第一主机从虚拟化管理系统(CVM)接收虚拟化配置信息,并根据虚拟化配置信息构建该OVS。
在虚拟交换机上下挂虚拟机和虚拟防火墙的具体实施方式也有多种。比如,在一个实施方式中,第一主机可以从CVM接收虚拟机配置信息和虚拟防火墙配置信息,并根据虚拟机配置信息在第一虚拟交换机下挂虚拟机,根据虚拟防火墙配置信息在第一虚拟交换机下挂虚拟防火墙。
优选地,CVM既可以部署在第一主机上,也可以部署在其它物理实体上。
如图1所示,该方法包括:
步骤101:将第一虚拟防火墙的端口发送到SDN控制器。
在这里,第一虚拟交换机通过SDN管理通道将第一虚拟防火墙在第一虚拟交换机上的端口发送到SDN控制器。
步骤102:接收SDN控制器发送的第一流表,第一流表用于指示将第一虚拟交换机通过非第一虚拟防火墙的端口接收到的、目的地址或源地址为指定虚拟机的流量发送到第一虚拟防火墙的端口以由第一虚拟防火墙执行安全审核。
指定虚拟机是需要被第一虚拟防火墙执行安全策略检查的虚拟机。基于应用环境的具体需求,可以由用户自行设置指定虚拟机。指定虚拟机的数目可以为一个或多个,而且可以增加、删除或变更指定虚拟机。
指定虚拟机可以下挂在第一虚拟交换机上,也可以下挂在不同于第一虚拟交换机的第二虚拟交换机上,其中第二虚拟交换机构建在第二主机上。
第一虚拟防火墙执行完毕安全审核之后,将通过安全审核的安全流量发送到第一虚拟交换机,第一虚拟交换机再将通过该安全流量发送到下一跳端口,以将安全流量转发到目的端口。
第一虚拟交换机将安全流量转发到目的端口的具体细节类似于物理防火墙的安全流量转发细节,本发明对此不再赘述。
在一个实施方式中:
当指定虚拟机下挂在不同于第一虚拟交换机的第二虚拟交换机上,即指定虚拟机和第一虚拟防火墙下挂在不同的虚拟交换机时,SDN控制器向第二虚拟交换机下发第三流表,该第三流表用于指示将通过指定虚拟机的端口接收到的流量发送到下一跳端口,以将所述通过指定虚拟机的端口接收到的流量发送到第一虚拟交换机。
因此,第一虚拟交换机可以基于第一流表将第二虚拟交换机转发来的、通过指定虚拟机的端口接收到的流量发送到第一虚拟防火墙的端口,以由第一虚拟防火墙执行安全审核。类似地,第一虚拟防火墙执行完毕安全审核之后,将通过安全审核的安全流量发送到第一虚拟交换机,第一虚拟交换机再将通过该安全流量发送到下一跳端口,以将安全流量转发到目的端口。
当指定虚拟机下挂在不同于第一虚拟交换机的第二虚拟交换机上时,如果指定虚拟机发生迁移,SDN控制器还向第二虚拟交换机发送用于指示删除第三流表的第五流表,或者第二虚拟交换机自行老化第三流表。
在一个实施方式中:
当发送目的地址为指定虚拟机的流量的源虚拟机下挂在第二虚拟交换机时,SDN控制器还需要向第二虚拟交换机下发第四流表,该第四流表用于指示将通过源虚拟机的端口接收到的、目的地址为指定虚拟机的流量发送到下一跳端口,以将通过源虚拟机的端口接收到的、目的地址为指定虚拟机的流量发送到第一虚拟交换机。
因此,第一虚拟交换机可以基于第一流表将第二虚拟交换机转发来的、通过源虚拟机的端口接收到且目的地址为指定虚拟机的流量发送到第一虚拟防火墙的端口,以由第一虚拟防火墙执行安全审核。类似地,第一虚拟防火墙执行完毕安全审核之后,将通过安全审核的安全流量发送到第一虚拟交换机,第一虚拟交换机再将通过该安全流量发送到下一跳端口,以将安全流量转发到目的端口。
当发送目的地址为指定虚拟机的流量的源虚拟机下挂在第二虚拟交换机时,如果指定虚拟机发生迁移,而且指定虚拟机的虚拟防火墙发生更新,SDN控制器向第二虚拟交换机发送用于指示删除第四流表的第六流表。
在一个实施方式中,第一虚拟交换机从SDN控制器接收安全策略,并发送安全策略到第一虚拟防火墙,从而由第一虚拟防火墙基于安全策略对发送到第一虚拟防火墙的端口的流量执行安全审核。
当安全策略发生更新时,第一虚拟交换机从SDN控制器接收更新后安全策略,并将更新后安全策略发送到第一虚拟防火墙,从而第一虚拟防火墙可以基于更新后安全策略更新保存在本地的安全策略。
可选地,第一虚拟防火墙也可以从其它可信任的物理实体上接收安全策略。
由于主机硬件维护、虚拟机系统资源规划调整等原因,虚拟机可能会发生迁移。即,虚拟机从一台物理主机迁移到另一台物理主机。在迁移过程中,源主机上的虚拟机内存、硬盘以及其它配置都会被拷贝到目的主机,从而形成迁移后的虚拟机。当迁移成功后,源主机上的虚拟机将被移除。
在指定虚拟机发生迁移的时候,SDN控制器会下发相关流表,以灵活控制迁移后虚拟机的安全策略检查。
具体地,在指定虚拟机发生迁移时,基于用户配置或网络环境需求等多种因素,SDN控制器可以将指定虚拟机的虚拟防火墙仍然保留为迁移前虚拟交换机下挂的虚拟防火墙,或将指定虚拟机的虚拟防火墙更新为迁移后虚拟交换机下挂的虚拟防火墙。
比如,当迁移后虚拟交换机没有下挂虚拟防火墙或迁移后虚拟交换机下挂的虚拟防火墙负载过重时,SDN控制器可以将指定虚拟机的虚拟防火墙仍然保留为迁移前虚拟交换机下挂的虚拟防火墙。
再比如:当迁移后虚拟交换机下挂有虚拟防火墙或迁移前虚拟交换机下挂的虚拟防火墙负载过重时,SDN控制器可以将指定虚拟机的虚拟防火墙更新为迁移后虚拟交换机下挂的虚拟防火墙。
在一个实施方式中,该方法还包括:
当指定虚拟机发生迁移时,第一虚拟交换机从SDN控制器接收用于指示删除第一流表的第二流表。而且,SDN控制器向迁移后虚拟交换机下发第八流表,该第八流表用于指示将迁移后虚拟交换机通过非下挂在迁移后虚拟交换机的虚拟防火墙的端口接收到的、目的地址或源地址为指定虚拟机的流量发送到下挂在迁移后虚拟交换机的虚拟防火墙的端口,以由下挂在迁移后虚拟交换机的虚拟防火墙执行安全审核。
类似地,下挂在迁移后虚拟交换机的虚拟防火墙执行完毕安全审核之后,将通过安全审核的安全流量发送到迁移后虚拟交换机,迁移后虚拟交换机再将通过该安全流量发送到下一跳端口,以将安全流量最终转发到目的端口。
可见,在指定虚拟机发生迁移时,通过SDN控制器向第一虚拟交换机和迁移后虚拟交换机分别下发流表,可以将指定虚拟机的虚拟防火墙更新为迁移后虚拟交换机下挂的虚拟防火墙。
在一个实施方式中,该方法还包括:
当指定虚拟机发生迁移时,SDN控制器向迁移后虚拟交换机发送第七流表,第七流表用于指示将迁移后虚拟交换机接收到的、源地址为指定虚拟机的流量发送到下一跳端口,以将迁移后虚拟交换机接收到的、源地址为指定虚拟机的流量发送到第一虚拟交换机。
因此,第一虚拟交换机可以基于第一流表将迁移后虚拟交换机转发来的、源地址为指定虚拟机的流量发送到第一虚拟防火墙的端口,以由第一虚拟防火墙执行安全审核。
类似地,第一虚拟防火墙执行完安全审核之后,将通过安全审核的安全流量发送到第一虚拟交换机,第一虚拟交换机再将通过该安全流量发送到下一跳端口,以将安全流量最终转发到目的端口。
可见,在指定虚拟机发生迁移时,SDN控制器向迁移后虚拟交换机发送流表,可以将指定虚拟机的虚拟防火墙仍然保留为迁移前虚拟交换机下挂的虚拟防火墙。
本发明实施方式还提出了一种在SDN控制器侧实现SDN虚拟防火墙的方法,该方法适用于SDN控制器。
图2为根据本发明一实施方式在SDN控制器侧实现SDN虚拟防火墙的方法流程图。
如图2所示,该方法包括:
步骤201:从第一虚拟交换机接收第一虚拟防火墙的端口,其中第一虚拟防火墙下挂在第一虚拟交换机上。
在这里,SDN控制器可以通过优选为OpenFlow协议的SDN管理通道,从第一虚拟交换机接收第一虚拟防火墙的端口。
步骤202:向第一虚拟交换机下发第一流表,第一流表用于指示将第一虚拟交换机通过非第一虚拟防火墙的端口接收到的、目的地址或源地址为指定虚拟机的流量发送到第一虚拟防火墙的端口以由第一虚拟防火墙执行安全审核。
在这里,第一虚拟交换机构建在第一主机上。而且,指定虚拟机可以下挂在第一虚拟交换机上,也可以下挂在第二虚拟交换机上,其中第二虚拟交换机构建在第二主机上。
SDN控制器可以通过优选为OpenFlow协议的SDN管理通道向第一虚拟交换机下发第一流表。第一虚拟交换机基于第一流表,将通过非第一虚拟防火墙的端口接收到的、目的地址或源地址为指定虚拟机的流量发送到第一虚拟防火墙的端口以由第一虚拟防火墙执行安全审核。
而且,第一虚拟防火墙执行完毕安全审核之后,将通过安全审核的安全流量发送到第一虚拟交换机,第一虚拟交换机再将通过该安全流量发送到下一跳端口,以将安全流量转发到目的端口。
在一个实施方式中:
当指定虚拟机下挂在不同于第一虚拟交换机的第二虚拟交换机时,其中第二虚拟交换机构建在第二主机上,SDN控制器从第二虚拟交换机接收指定虚拟机在第二虚拟交换机上的端口,而且SDN控制器向第二虚拟交换机下发第三流表,该第三流表用于指示将通过指定虚拟机的端口接收到的流量发送到下一跳端口,以将通过指定虚拟机的端口接收到的流量发送到第一虚拟交换机。
因此,第一虚拟交换机可以基于第一流表,将第二虚拟交换机转发来的、通过指定虚拟机的端口接收到的流量发送到第一虚拟防火墙的端口,以由第一虚拟防火墙执行安全审核。
类似地,第一虚拟防火墙执行完毕安全审核之后,将通过安全审核的安全流量发送到第一虚拟交换机,第一虚拟交换机再将通过该安全流量发送到下一跳端口,以将安全流量转发到目的端口。
当指定虚拟机下挂在不同于第一虚拟交换机的第二虚拟交换机上时,如果指定虚拟机发生迁移,SDN控制器还向第二虚拟交换机发送用于指示删除第三流表的第五流表,或者第二虚拟交换机自行老化第三流表。
在一个实施方式中:
当发送目的地址为指定虚拟机的流量的源虚拟机下挂在第二虚拟交换机时,SDN控制器向第二虚拟交换机下发第四流表,该第四流表用于指示将通过源虚拟机的端口接收到的、目的地址为指定虚拟机的流量发送到下一跳端口,以将通过源虚拟机的端口接收到的、目的地址为指定虚拟机的流量发送到第一虚拟交换机。
因此,第一虚拟交换机可以基于第一流表将第二虚拟交换机转发来的、通过源虚拟机的端口接收到且目的地址为指定虚拟机的流量发送到第一虚拟防火墙的端口,以由第一虚拟防火墙执行安全审核。
类似地,第一虚拟防火墙执行完毕安全审核之后,将通过安全审核的安全流量发送到第一虚拟交换机,第一虚拟交换机再将通过该安全流量发送到下一跳端口,以将安全流量转发到目的端口。
当发送目的地址为指定虚拟机的流量的源虚拟机下挂在第二虚拟交换机时,如果指定虚拟机发生迁移,而且指定虚拟机的虚拟防火墙发生更新,SDN控制器向第二虚拟交换机发送用于指示删除第四流表的第六流表。
在指定虚拟机发生迁移时,基于用户配置或网络环境需求等多种因素,SDN控制器可以将指定虚拟机的虚拟防火墙仍然保留为迁移前虚拟交换机下挂的虚拟防火墙,或将指定虚拟机的虚拟防火墙更新为迁移后虚拟交换机下挂的虚拟防火墙。
在一个实施方式中:
当指定虚拟机发生迁移时,SDN控制器向第一虚拟交换机发送用于指示删除第一流表的第二流表。而且,SDN控制器向迁移后虚拟交换机下发第八流表,该第八流表用于指示将迁移后虚拟交换机通过非下挂在迁移后虚拟交换机的虚拟防火墙的端口接收到的、目的地址或源地址为指定虚拟机的流量,发送到下挂在迁移后虚拟交换机的虚拟防火墙端口以由下挂在迁移后虚拟交换机的虚拟防火墙执行安全审核。
类似地,下挂在迁移后虚拟交换机的虚拟防火墙执行完毕安全审核之后,将通过安全审核的安全流量发送到迁移后虚拟交换机,迁移后虚拟交换机再将通过该安全流量发送到下一跳端口,以将安全流量最终转发到目的端口。
可见,在指定虚拟机发生迁移时,SDN控制器向第一虚拟交换机和迁移后虚拟交换机分别发送流表,可以将指定虚拟机的虚拟防火墙更新为迁移后虚拟交换机下挂的虚拟防火墙。
在一个实施方式中:
当指定虚拟机发生迁移时,SDN控制器向迁移后虚拟交换机发送第七流表,该第七流表用于指示将迁移后虚拟交换机接收到的、源地址为指定虚拟机的流量发送到下一跳端口,以将迁移后虚拟交换机接收到的、源地址为指定虚拟机的流量发送到第一虚拟交换机。
因此,第一虚拟交换机可以基于第一流表,将迁移后虚拟交换机转发来的、源地址为指定虚拟机的流量发送到第一虚拟防火墙的端口,以由第一虚拟防火墙执行安全审核。第一虚拟防火墙执行完毕安全审核之后,将通过安全审核的安全流量发送到第一虚拟交换机,第一虚拟交换机再将通过该安全流量发送到下一跳端口,以将安全流量最终转发到目的端口。
可见,在指定虚拟机发生迁移时,通过SDN控制器向第一虚拟交换机和迁移后虚拟交换机分别发送流表,可以将指定虚拟机的虚拟防火墙保留为迁移前虚拟交换机下挂的虚拟防火墙。
类似地,迁移前虚拟交换机下挂的虚拟防火墙执行完毕安全审核之后,将通过安全审核的安全流量发送到迁移前虚拟交换机,迁移前虚拟交换机再将通过该安全流量发送到下一跳端口,以将安全流量最终转发到目的端口。
在一个实施方式中,SDN控制器发送安全策略到第一虚拟交换机,从而由虚拟交换机将安全策略发送到第一虚拟防火墙,第一虚拟防火墙根据该安全策略执行安全审核。
当安全策略发生更新时,SDN控制器向第一虚拟交换机发送更新后安全策略,第一虚拟交换机将更新后安全策略发送到第一虚拟防火墙,从而第一虚拟防火墙可以基于更新后安全策略更新保存在本地的安全策略。
下面结合实例对本发明实施方式进行示范性描述。
图3为根据本发明一实施方式SDN中实现虚拟防火墙的示意图。
如图3所示,该SDN架构包括SDN控制器、CVM和三台主机,分别为主机1、主机2和主机3。在SDN控制器上配置整个SDN架构的网络环境,主机1、主机2和主机3分别从虚拟化管理系统(CVM)接收虚拟化配置信息,并根据虚拟化配置信息构建各自的虚拟化开放流交换机(OVS),
在OVS上可以下挂单个或多个的虚拟机(VM),而且在OVS上可以下挂单个或多个虚拟防火墙(VFW)。
其中:主机1上构建有OVS1,主机2上构建有OVS2,主机3上构建有OVS3。主机1、主机2和主机3分别从CVM接收各自的虚拟机配置信息和虚拟防火墙配置信息,并根据虚拟机配置信息在各自所构建的OVS下挂虚拟机,根据虚拟防火墙配置信息在各自所构建的OVS下挂虚拟防火墙。
由图3可见,主机1的OVS1下挂有VM1、VM2和VFW1;主机2的OVS2下挂有VM3、VM4和VFW2;主机3的OVS3下挂有VM5和VFW3。
主机1、主机2和主机3的OVS分别将部署在自身的VFW端口和VM端口上报到SDN控制器。也就是,OVS1将VM1、VM2和VFW1的端口上报到SDN控制器;OVS2将VM3、VM4和VFW2的端口上报到SDN控制器;OVS3将VM5和VFW3的端口上报到SDN控制器。
OVS将配置在自身的VFW端口和VM端口上报到SDN控制器时,可以在上报报文中针对VFW端口设置特定字段,从而SDN控制器可以基于特定字段判定端口是否为VFW端口。
SDN控制器通过OVS1向VFW1下发VFW1的安全策略,通过OVS2向VFW2下发VFW2的安全策略,通过OVS3向VFW3下发VFW3的安全策略。
由于主机硬件维护、虚拟机系统资源规划调整等原因,虚拟机可能从一台物理主机迁移到另一台物理主机,即发生虚拟机迁移。
SDN控制器发挥全局总管功能,可以针对VM实现多种灵活形式的安全策略检查。SDN控制器通过向OVS下发流表,可以将需要被执行流量安全策略检查的VM(即指定VM)的流量发送到指定的VFW执行安全策略检查。
基于图3所示的网络架构,下面分别说明当指定VM和针对指定VM执行安全策略检查的VFW下挂在同一OVS或不同OVS时,SDN控制器向OVS下发流表的具体情景。
(A)、当指定VM和针对指定VM执行安全策略检查的VFW下挂在同一OVS时,比如:以指定VM为VM2,针对VM2执行安全策略检查的VFW为VFW1为例进行说明。
(A1)、当VM2尚未迁移,即VFW1和VM2都下挂在OVS1时:
SDN控制器向OVS1下发流表1,该流表1用于指示将OVS1通过非VFW1端口接收到的、目的地址或源地址为VM2的流量发送到VFW1的端口,以由VFW1执行安全策略检查。
SDN控制器向OVS2下发流表2,该流表2用于指示将OVS2通过VM3或VM4的端口接收到的、目的地址为VM2的流量发送到下一跳端口,以将所述通过VM3或VM4的端口接收到的、目的地址为VM2的流量转发到OVS1。因此,OVS1可以基于流表1将VM3或VM4发送的、目的地址为VM2的流量发送到VFW1的端口,以由VFW1执行安全策略检查。
SDN控制器向OVS3下发流表3,该流表3用于指示将OVS3通过VM5端口接收到的、目的地址为VM2的流量发送到下一跳端口,以将所述OVS3通过VM5端口接收到的、目的地址为VM2的流量转发到OVS1。因此,OVS1还可以基于流表1将VM5发送的、目的地址为VM2的流量发送到VFW1的端口,以由VFW1执行安全策略检查。
(A2)、当VM2发生迁移时,针对VM2执行安全策略检查的VFW可能发生变更,也可能仍然保留为VFW1,下面分别举例予以说明:
(1)当VM2由OVS1迁移到OVS2,而且迁移后仍然由VFW1针对VM2执行安全策略检查时:
SDN控制器向OVS2下发流表4,该流表4用于指示将OVS2通过VM2端口接收到的、源地址为VM2的流量发送到下一跳端口,以将OVS2通过VM2端口接收到的、源地址为VM2的流量发送到OVS1。因此,OVS1还可以基于流表1将VM2发往其它VM的流量发送到VFW1的端口,以由VFW1执行安全策略检查。
(2)、当VM2由OVS1迁移到OVS2,而且迁移后由下挂在OVS2中的VFW2针对VM2执行安全策略检查时:
SDN控制器向OVS1下发流表5,该流表5用于指示删除流表1。
SDN控制器向OVS2下发流表6,该流表6用于指示删除流表2。
SDN控制器向OVS2下发流表7,该流表7用于指示将OVS2通过非VFW2端口接收到的、目的地址或源地址为VM2的流量发送到VFW2的端口以由VFW2执行安全审核。
SDN控制器向OVS3下发流表8,该流表8用于指示删除流表3。
SDN控制器向OVS3下发流表9,该流表9用于指示将OVS3通过VM5端口接收到的、目的地址为VM2的流量发送到下一跳端口,以将所述通过VM5端口接收到的、目的地址为VM2的流量转发到OVS2。因此,OVS2可以基于流表7将VM5发送的、目的地址为VM2的流量发送到VFW2的端口,从而由VFW2执行安全审核。
SDN控制器向OVS1下发流表10,该流表10用于指示将OVS1通过VM1端口接收到的、目的地址为VM2的流量发送到下一跳端口,以将所述通过VM1端口接收到的、目的地址为VM2的流量转发到OVS2。因此,OVS2可以基于流表7将VM1发送的、目的地址为VM2的流量发送到VFW2的端口,从而由VFW1执行安全审核。
(3)、当VM2由OVS1迁移到OVS2,而且迁移后由下挂在OVS3中的VFW3针对VM2执行安全策略检查时:
SDN控制器向OVS1下发流表11,该流表11用于指示删除流表1。
SDN控制器向OVS3下发流表12,该流表12用于指示删除流表3。
SDN控制器向OVS3下发流表13,该流表13用于指示将OVS3通过非VFW3端口接收到的、目的地址或源地址为VM2的流量发送到VFW3的端口以由VFW3执行安全审核。
SDN控制器向OVS1下发流表14,流表14用于指示将OVS1通过VM1端口接收到的、目的地址为VM2的流量发送到下一跳端口,以将所述通过VM1端口接收到的、目的地址为VM2的流量转发到OVS3。因此,OVS3可以基于流表13将VM1发送的、目的地址为VM2的流量发送到VFW3的端口,从而由VFW3执行安全审核。
SDN控制器向OVS2下发流表15,该流表15用于指示删除流表2。
SDN控制器向OVS2下发流表16,该流表16用于指示将OVS2通过VM2端口接收到的、源地址为VM2的流量发送到下一跳端口,以将OVS2通过VM2端口接收到的、源地址为VM2的流量发送到OVS3。因此,OVS3可以基于流表13将VM2发往其它VM的流量发送到VFW3的端口,从而由VFW3执行安全审核。
SDN控制器向OVS2下发流表17,该流表17用于指示将OVS2通过VM3或VM4端口接收到的、目的地址为VM2的流量发送到下一跳端口,以将所述通过VM3或VM4端口接收到的、目的地址为VM2的流量转发到OVS3。因此,OVS3可以基于流表13将VM3或VM4发送的、目的地址为VM2的流量发送到VFW3的端口,从而由VFW3执行安全审核。
类似地,当VM2由OVS1迁移到OVS3时,SDN控制器下发流表具有类似的处理方式,本发明不再赘述。
以上以指定VM为VM2,针对VM2执行安全策略检查的VFW为VFW1为例,详细描述了指定VM和针对指定VM执行安全策略检查的VFW下挂在同一OVS时的流表下发情形。本领域技术人员可以意识到,这种举例仅是示范性的,并不用于限定本发明的保护范围。
(B)、当指定VM和针对指定VM执行安全策略检查的VFW下挂在不同的OVS时,比如:以指定VM为VM2,针对VM2执行安全策略检查的VFW为VFW2为例进行说明:
(B1)、当VM2尚未迁移,即VM2下挂在OVS1时:
SDN控制器向OVS2下发流表18,该流表18用于指示将OVS2通过非VFW2端口接收到的、目的地址或源地址为VM2的流量发送到VFW2的端口,以由VFW2执行安全策略检查。
SDN控制器向OVS1下发流表19,该流表19用于指示将OVS1通过VM1的端口接收到的、目的地址为VM2的流量发送到下一跳端口,以将所述通过VM1的端口接收到的、目的地址为VM2的流量转发到OVS2。因此,OVS2可以基于流表18将VM1发送的、目的地址为VM2的流量发送到VFW2的端口,以由VFW2执行安全策略检查。
SDN控制器向OVS1下发流表20,该流表20用于指示将OVS1通过VM2端口接收到的、源地址为VM2的流量发送到下一跳端口,以将所述OVS1通过VM2端口接收到的、源地址为VM2的流量转发到OVS2。因此,OVS2可以基于流表18将VM2发往其它VM的流量发送到VFW2的端口,以由VFW2执行安全策略检查。
SDN控制器向OVS3下发流表21,该流表21用于指示将OVS3通过VM5端口接收到的、目的地址为VM2的流量发送到下一跳端口,以将所述通过VM5端口接收到的、目的地址为VM2的流量转发到OVS2。因此,OVS2可以基于流表18将VM5发送的、目的地址为VM2的流量发送到VFW2的端口,以由VFW1执行安全策略检查。
(B2)、当VM2发生迁移时,针对VM2执行安全策略检查的VFW可能发生变更,也可能仍然保留为VFW2,下面分别举例予以说明:
(1)、当VM2由OVS1迁移到OVS2,而且迁移后仍然由VFW2针对VM2执行安全策略检查时:
SDN控制器向OVS1下发流表22,该流表22用于指示删除流表20。
(2)、当VM2由OVS1迁移到OVS2,而且迁移后由下挂在OVS1中的VFW1针对VM2执行安全策略检查时:
SDN控制器向OVS2下发流表23,该流表23用于指示删除流表18。
SDN控制器向OVS1下发流表24,该流表24用于指示删除流表19和流表20。
SDN控制器向OVS1下发流表25,该流表25用于指示将OVS1通过非VFW1端口接收到的、目的地址或源地址为VM2的流量发送到VFW1的端口,以由VFW1执行安全策略检查。
SDN控制器向OVS2下发流表26,该流表26用于指示将OVS2通过VM2端口接收到的、源地址为VM2的流量发送到下一跳端口,以将所述OVS2通过VM2端口接收到的、源地址为VM2的流量转发到OVS1。因此,OVS1可以基于流表25将VM2发往其它VM的流量发送到VFW1的端口,以由VFW1执行安全策略检查。
SDN控制器向OVS2下发流表27,该流表27用于指示将OVS2通过VM3或VM4的端口接收到的、目的地址为VM2的流量发送到下一跳端口,以将所述OVS2通过VM3或VM4的端口接收到的、目的地址为VM2的流量转发到OVS1。因此,OVS1可以基于流表25将VM3或VM4发送的、目的地址为VM2的流量发送到VFW1的端口,以由VFW1执行安全策略检查。
SDN控制器向OVS3下发流表28,该流表28用于指示删除流表21。
SDN控制器向OVS3下发流表29,该流表29用于指示将OVS3通过VM5的端口接收到的、目的地址为VM2的流量发送到下一跳端口,以将所述OVS3通过VM5的端口接收到的、目的地址为VM2的流量转发到OVS1。因此,OVS1可以基于流表25将VM5发送的、目的地址为VM2的流量发送到VFW1的端口,以由VFW1执行安全策略检查。
(3)、当VM2由OVS1迁移到OVS2,而且迁移后由下挂在OVS3中的VFW3针对VM2执行安全策略检查时:
SDN控制器向OVS2下发流表30,该流表30用于指示删除流表18。
SDN控制器向OVS3下发流表31,该流表31用于指示删除流表21。
SDN控制器向OVS3下发流表32,该流表32用于指示将OVS3通过非VFW3端口接收到的、目的地址或源地址为VM2的流量发送到VFW3的端口,以由VFW3执行安全策略检查。
SDN控制器向OVS2下发流表33,该流表33用于指示将OVS2通过VM2端口接收到的、源地址为VM2的流量发送到下一跳端口,以将所述OVS2通过VM2端口接收到的、源地址为VM2的流量转发到OVS3。因此,OVS3可以基于流表32将VM2发往其它VM的流量发送到VFW3的端口,以由VFW3执行安全策略检查。
SDN控制器向OVS2下发流表34,该流表34用于指示将OVS2通过VM3或VM4的端口接收到的、目的地址为VM2的流量发送到下一跳端口,以将所述OVS2通过VM3或VM4的端口接收到的、目的地址为VM2的流量转发到OVS3。因此,OVS3可以基于流表32将VM3或VM4发送的、目的地址为VM2的流量发送到VFW3的端口,以由VFW3执行安全策略检查。
SDN控制器向OVS1下发流表35,该流表35用于指示删除流表19和流表20。
SDN控制器向OVS1下发流表36,流表36用于指示将OVS1通过VM1的端口接收到的、目的地址为VM2的流量发送到下一跳端口,以将所述OVS1通过VM1的端口接收到的、目的地址为VM2的流量转发到OVS3。因此,OVS3可以基于流表32将VM1发送的、目的地址为VM2的流量发送到VFW3的端口,以由VFW3执行安全策略检查。
(4)、当VM2由OVS1迁移到OVS3,而且迁移后仍然由VFW2针对VM2执行安全策略检查时:
SDN控制器向OVS1下发流表37,该流表37用于指示删除流表20。
SDN控制器向OVS3下发流表38,该流表38用于指示将OVS3通过VM2端口接收到的、源地址为VM2的流量转发到OVS2。因此,OVS2可以基于流表18将VM2发往其它VM的流量发送到VFW2的端口,以由VFW2执行安全策略检查。
(5)、当VM2由OVS1迁移到OVS3,而且迁移后由下挂在OVS1中的VFW1针对VM2执行安全策略检查时:
SDN控制器向OVS2下发流表39,该流表39用于指示删除流表18。
SDN控制器向OVS1下发流表40,该流表40用于指示删除流表19和流表20。
SDN控制器向OVS1下发流表41,该流表41用于指示将OVS1通过非VFW1端口接收到的、目的地址或源地址为VM2的流量发送到VFW1的端口,以由VFW1执行安全策略检查。
SDN控制器向OVS2下发流表42,该流表42用于指示将OVS2通过VM3或VM4的端口接收到的、目的地址为VM2的流量发送到下一跳端口,以将所述OVS2通过VM3或VM4的端口接收到的、目的地址为VM2的流量转发到OVS1。因此,OVS1可以基于流表41将VM3或VM4发送的、目的地址为VM2的流量发送到VFW1的端口,以由VFW1执行安全策略检查。
SDN控制器向OVS3下发流表43,该流表43用于指示删除流表21。
SDN控制器向OVS3下发流表44,该流表44用于将OVS3通过VM5的端口接收到的、目的地址为VM2的流量发送到下一跳端口,以将所述OVS3通过VM5端口接收到的、目的地址为VM2的流量转发到OVS1。因此,OVS1可以基于流表41将VM5发送的、目的地址为VM2的流量发送到VFW1的端口,以由VFW1执行安全策略检查。
SDN控制器向OVS3下发流表45,该流表45用于将OVS3通过VM2端口接收到的、源地址为VM2的流量发送到下一跳端口,以将所述OVS3通过VM2端口接收到的、源地址为VM2的流量转发到OVS1。因此,OVS1可以基于流表41将VM2发往其它VM的流量发送到VFW1的端口,以由VFW1执行安全策略检查。
(6)、当VM2由OVS1迁移到OVS3,而且迁移后由下挂在OVS3中的VFW3针对VM2执行安全策略检查时:
SDN控制器向OVS2下发流表46,该流表46用于指示删除流表18。
SDN控制器向OVS3下发流表47,该流表47用于指示删除流表21。
SDN控制器向OVS3下发流表48,该流表48用于指示将OVS3通过非VFW3端口接收到的、目的地址或源地址为VM2的流量发送到VFW3的端口,以由VFW1执行安全策略检查。
SDN控制器向OVS2下发流表49,该流表49用于指示将OVS2通过VM3或VM4的端口接收到的、目的地址为VM2的流量发送到下一跳端口,以将所述OVS2通过VM3或VM4的端口接收到的、目的地址为VM2的流量转发到OVS3。因此,OVS3可以基于流表48将VM3或VM4发送的、目的地址为VM2的流量发送到VFW3的端口,以由VFW3执行安全策略检查。
SDN控制器向OVS1下发流表50,该流表50用于指示删除流表19和流表20。
SDN控制器向OVS1下发流表51,该流表51用于指示将OVS1通过VM1的端口接收到的、目的地址为VM2的流量发送到下一跳端口,以将所述OVS1通过VM1的端口接收到的、目的地址为VM2的流量转发到OVS3。因此,OVS3可以基于流表48将VM1发送的、目的地址为VM2的流量发送到VFW3的端口,以由VFW3执行安全策略检查。
以上以指定VM为VM2,针对VM2执行安全策略检查的VFW为VFW2为例,对指定VM和针对指定VM执行安全策略检查的VFW下挂在不同的OVS时的流表下发情形进行了详细说明。本领域技术人员可以意识到,这种举例仅是示范性的,并不用于限定本发明的保护范围。
上述以图3所示网络架构为例对本发明进行了详细说明。本领域技术人员可以意识到,本发明实施方式还可以适用于其它的网络架构。
本发明的虚拟防火墙可以实施为虚拟可扩展局域网(VxLAN)中的防火墙或虚拟局域网(VLAN)的防火墙。
在VxLAN组网下,需要为每个VxLAN网络单独部署一个VFW。既可以将各个VxLAN的虚拟防火墙集中部署在单独物理实体中,也可以将VxLAN的虚拟防火墙与虚拟机混合部署在不同物理实体中。无论是哪种部署方式,报文经过VFW时需要是原始报文,而不是经过VxLAN封装的报文。同一个VxLAN网络内的VM通讯时,只通过自己网络内的VFW,而不同VxLAN网络的VFW不混用。
另外,当SDN网络中具有多个VFW时,SDN控制器可以基于多种引流策略将指定VM的流量发送到具体的VFW。
示范性地,SDN控制器可以基于报文源确定VFW。比如,假定配置有VM1-->VM2的引流策略,而且VM1和VM2分别属于不同的VxLAN网络,则VM1发往VM2和VM2发往VM1的报文均使用VM1所在VxLAN网络的VFW。而且,如果VM1和VM2属于同一VxLAN网络,则VM1发往VM2和VM2发往VM1的报文均使用该VxLAN网络的VFW。
以上描述了基于报文源确定VFW的策略,实际上也可以基于报文目的确定VFW,本发明实施方式对此并无限定。
图4为根据本发明一实施方式,在VxLAN组网中单独部署虚拟防火墙的示意图。在这种实施方式中,将各个VxLAN的虚拟防火墙集中部署在单独物理实体中。
在图4中,虚拟机VM1_1和VM1_2属于同一VxLAN,称为VxLAN1;虚拟机VM2_1和VM2_2属于同一VxLAN,称为VxLAN2;虚拟机VM3_1和VM3_2属于同一VxLAN,称为VxLAN3。
VFW1是VxLAN1的虚拟防火墙;VFW2是VxLAN2的虚拟防火墙;VFW3是VxLAN3的虚拟防火墙。VM1_1、VM2_1和VM3_1部署在物理实体1上;VM1_2、VM2_2和VM3_2部署在物理实体2上;VFW1、VFW2和VFW3部署在物理实体3上。
从VM1_1发往VM1_2的报文,首先到达VxLAN1的虚拟防火墙VFW1以执行安全策略检查,当安全策略检查通过后再转发给VM1_2。
而且,VM1_2发往VM1_1的报文,也首先到达VxLAN1的虚拟防火墙VFW1以执行安全策略检查,当安全策略检查通过后再转发给VM1_1。
图5为根据本发明一实施方式,在VxLAN组网中虚拟防火墙与虚拟机混合部署的示意图。在这种实施方式中,将VxLAN的虚拟防火墙与虚拟机混合部署在不同物理实体中。
在图5中,虚拟机VM1_1和VM1_2属于同一VxLAN,称为VxLAN1;虚拟机VM2_1和VM2_2属于同一VxLAN,称为VxLAN2;虚拟机VM3_1和VM3_2属于同一VxLAN,称为VxLAN3。
VFW1是VxLAN1的虚拟防火墙;VFW2是VxLAN2的虚拟防火墙;VFW3是VxLAN3的虚拟防火墙。VM1_1、VM2_1和VFW1部署在物理实体1上;VM2_2、VM3_2和VFW2部署在物理实体2上;VW3_1、VM1_2和VFW3部署在物理实体3上。
从VM1_1发往VM1_2的报文,首先到达VxLAN1的虚拟防火墙VFW1以执行安全策略检查,当安全策略检查通过后再转发给VM1_2。
而且,VM1_2发往VM1_1的报文,也首先到达VxLAN1的虚拟防火墙VFW1以执行安全策略检查,当安全策略检查通过后再转发给VM1_1。
在VLAN组网下,要求VFW在每台服务器中安装部署,此VFW处理所有VLAN中的报文,起到一个负载分担的作用。SDN控制器负责为每台VFW配置相同的安全策略,当VM迁移到其他服务器中时,无需迁移安全策略。
图6为根据本发明一实施方式,在VLAN组网中部署虚拟防火墙的示意图。
在图6中,虚拟机VM1_1和VM2_1属于同一VLAN,称为VLAN1;虚拟机VM1_2和VM2_2属于同一VLAN,称为VLAN2。VM1_1和VM1_2部署在物理实体1上;VM2_1、VM2_2部署在物理实体2。
而且,在物理实体1上还布置有虚拟防火墙VFW1;在物理实体2上还布置有虚拟防火墙VFW2。
从VM1_1发往VM2_1的报文,首先到达物理实体1的虚拟防火墙VFW1以执行安全策略检查,当安全策略检查通过后再转发给VM2_1。
而且,VM2_1发往VM1_1的报文,也首先到达物理实体1的虚拟防火墙VFW1以执行安全策略检查,当安全策略检查通过后再转发给VM1_1。
图7为根据本发明一实施方式,属于同一VLAN或VxLAN的虚拟防火墙与虚拟机部署在同一主机上的示意图。
由图7可见,VM1_1、VM1_2和VFW1都部署在物理实体1上,而且VM1_1、VM1_2属于同一VLAN或VxLAN。VM1_1与VM1_2之间的流量传递,可以不经过物理实体1之外,而是直接在物理实体1内传递。
比如,从VM1_1发往VM1_2的报文,首先到达物理实体1的虚拟防火墙VFW1以执行安全策略检查,当安全策略检查通过后再转发给VM1_2。
而且,VM1_2回复VM1_1的报文,也首先到达物理实体1的虚拟防火墙VFW1以执行安全策略检查,当安全策略检查通过后再转发给VM1_1。
本发明实施方式还提出了一种在主机侧实现SDN虚拟防火墙的装置。
图8为根据本发明一实施方式在主机侧实现SDN虚拟防火墙的装置结构图。该装置800应用于构建在第一主机上的第一虚拟交换机,第一虚拟交换机下挂有第一虚拟防火墙。
如图8所示,该装置800包括:
端口上报模块801,用于将第一虚拟防火墙的端口发送到SDN控制器;
流表接收模块802,用于接收SDN控制器发送的第一流表,第一流表用于指示将通过非第一虚拟防火墙的端口接收到的、目的地址或源地址为指定虚拟机的流量发送到第一虚拟防火墙的端口以由第一虚拟防火墙执行安全审核。
在一个实施方式中,该装置800还包括:
迁移模块803,用于当指定虚拟机发生迁移时,接收SDN控制器发送的用于指示删除第一流表的第二流表。
在一个实施方式中,该装置800还包括:
安全策略接收模块804,用于从SDN控制器接收安全策略,并发送安全策略到第一虚拟防火墙,从而由第一虚拟防火墙基于安全策略对发送到第一虚拟防火墙的端口的流量执行所述安全审核。
本发明实施方式提供的主机侧实现SDN虚拟防火墙的装置800可以包含在主机中,该主机构成软硬件结合的可编程设备。从硬件层面而言,主机的硬件架构示意图具体可以参见图9。
图9为根据本发明一实施方式包含主机侧实现SDN虚拟防火墙的装置的主机的硬件结构图。
如图9所示,该主机900中包括:CPU901和机器可读存储介质902,主机900还可以包括其它硬件,其中:
机器可读存储介质902:存储指令代码,该指令代码被CPU901执行时完成的操作主要包括:在主机侧实现SDN虚拟防火墙的装置800的功能。
CPU901:与机器可读存储介质902通信,读取和执行机器可读存储介质902中存储的指令代码,完成上述主机侧实现SDN虚拟防火墙的装置800的功能。
当上述主机侧实现SDN虚拟防火墙的装置800作为一个逻辑意义上的装置时,其是通过CPU901运行机器可读存储介质902中对应的计算机程序指令形成的。当对应的计算机程序指令被执行时,形成的实现SDN虚拟防火墙的装置800用于按照上述实施方式执行相应操作。
机器可读存储介质902可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质902可以是:随机存取存储器(RadomAccessMemory,RAM)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。其中,本发明所描述的任一机器可读存储介质都可以被认为是非暂时性的。
本发明实施方式还提出了一种在SDN控制器侧实现SDN虚拟防火墙的装置。
图10为根据本发明一实施方式在SDN控制器侧实现SDN虚拟防火墙的装置结构图,该装置应用于SDN控制器。
如图10所示,该装置1000包括:
端口接收模块1001,用于从第一虚拟交换机接收第一虚拟防火墙的端口,其中第一虚拟防火墙下挂在第一虚拟交换机上;
流表下发模块1002,用于向第一虚拟交换机下发第一流表,第一流表用于指示将第一虚拟交换机通过非第一虚拟防火墙的端口接收到的、目的地址或源地址为指定虚拟机的流量发送到第一虚拟防火墙的端口以由第一虚拟防火墙执行安全审核。
第一虚拟防火墙执行完毕安全审核之后,将通过安全审核的安全流量发送到第一虚拟交换机,第一虚拟交换机再将通过该安全流量发送到下一跳端口,以将安全流量转发到目的端口。
指定虚拟机既可以下挂在第一虚拟交换机上,也可以下挂在第二虚拟交换机上,其中第二虚拟交换机构建在第二主机上。
在一个实施方式中:
流表下发模块1002,还用于当指定虚拟机下挂在第二虚拟交换机上时,向第二虚拟交换机下发第三流表,该第三流表用于指示将通过指定虚拟机的端口接收到的流量发送到下一跳端口,以将通过指定虚拟机的端口接收到的流量发送到第一虚拟交换机。
当指定虚拟机下挂在不同于第一虚拟交换机的第二虚拟交换机上时,如果指定虚拟机发生迁移,流表下发模块1002还可以进一步向第二虚拟交换机发送用于指示删除第三流表的第五流表,或者由第二虚拟交换机自行老化第三流表。
在一个实施方式中:
流表下发模块1002,还用于当发送目的地址为指定虚拟机的流量的源虚拟机下挂在第二虚拟交换机时,向第二虚拟交换机下发第四流表,该第四流表用于指示将通过源虚拟机的端口接收到的、目的地址为指定虚拟机的流量发送到下一跳端口,以将通过源虚拟机的端口接收到的、目的地址为指定虚拟机的流量发送到第一虚拟交换机。
在一个实施方式中:
流表下发模块1002,还用于当指定虚拟机发生迁移时,向第一虚拟交换机发送用于指示删除第一流表的第二流表。
在一个实施方式中,该装置1000还包括:
安全策略发送模块1003,用于发送安全策略到第一虚拟交换机,从而由第一虚拟交换机将安全策略发送到第一虚拟防火墙。
本发明实施方式提供的SDN控制器侧实现SDN虚拟防火墙的装置1000可以包含在SDN控制器中,该SDN控制器构成软硬件结合的可编程设备。从硬件层面而言,SDN控制器的硬件架构示意图具体可以参见图11。
图11为根据本发明一实施方式包含SDN控制器侧实现SDN虚拟防火墙的装置的SDN控制器的硬件结构图。
如图11所示,该SDN控制器1100中包括:CPU1101和机器可读存储介质1102,SDN控制器1100还可以包括其它硬件。其中:
机器可读存储介质1102:存储指令代码;指令代码被CPU1101执行时完成的操作主要包括:在SDN控制器侧实现SDN虚拟防火墙的装置1000的功能。
CPU1101:与机器可读存储介质1102通信,读取和执行机器可读存储介质1102中存储的指令代码,完成上述SDN控制器侧实现SDN虚拟防火墙的装置1000的功能。
当SDN控制器侧实现SDN虚拟防火墙的装置1000作为一个逻辑意义上的装置时,其是通过CPU1101运行机器可读存储介质1102中对应的计算机程序指令形成的。当对应的计算机程序指令被执行时,形成的SDN控制器侧实现虚拟防火墙的装置1000用于按照上述实施方式中方法执行相应操作。
类似地,机器可读存储介质1102可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质1102可以是:RAM、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。
综上所述,本发明采用虚拟机的形式将虚拟防火墙下挂到虚拟交换机上,而且将虚拟防火墙与SDN控制器进行关联,充分发挥SDN控制器的全局总管功能,无需部署物理防火墙,从而显著降低成本。
而且,相比较现有技术中物理防火墙的部署位置固定的缺点,本发明实施方式的虚拟防火墙部署位置灵活机动。
还有,在本发明实施方式中,针对同一虚拟交换机的内部流量进行安全检查时,可以由下挂在同一物理主机的虚拟防火墙执行安全检查,而不需要将流量引出物理主机,因此还降低了物理主机出口带宽的使用率。
另外,在虚拟机进行迁移的时候,SDN控制器重新下发流表,可以灵活控制迁移后虚拟机的安全策略检查。比如,基于用户配置或虚拟防火墙负载状况等因素,可以将指定虚拟机的虚拟防火墙仍然保留为迁移前虚拟交换机下挂的虚拟防火墙,或将指定虚拟机的虚拟防火墙更新为迁移后虚拟交换机下挂的虚拟防火墙,从而实现虚拟防火墙的负载均衡。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
1.一种软件定义网络SDN中实现虚拟防火墙的方法,其特征在于,该方法适用于第一虚拟交换机,所述第一虚拟交换机下挂有第一虚拟防火墙,该方法包括:
将第一虚拟防火墙的端口发送到SDN控制器;
接收SDN控制器发送的第一流表,所述第一流表用于指示将第一虚拟交换机通过非所述第一虚拟防火墙的端口接收到的、目的地址或源地址为指定虚拟机的流量发送到第一虚拟防火墙的端口以由所述第一虚拟防火墙执行安全审核。
2.根据权利要求1所述的方法,其特征在于,还包括:
当指定虚拟机发生迁移时,接收SDN控制器发送的用于指示删除所述第一流表的第二流表。
3.根据权利要求1或2所述的方法,其特征在于,进一步包括:
从SDN控制器接收安全策略;
发送所述安全策略到所述第一虚拟防火墙,从而由所述第一虚拟防火墙基于所述安全策略对发送到第一虚拟防火墙的端口的流量执行所述安全审核。
4.根据权利要求1或2所述的方法,其特征在于,所述第一虚拟防火墙为虚拟可扩展局域网VxLAN的防火墙或虚拟局域网VLAN的防火墙。
5.一种软件定义网络SDN中实现虚拟防火墙的装置,其特征在于,该装置应用于第一虚拟交换机,所述第一虚拟交换机下挂有第一虚拟防火墙,该装置包括:
端口上报模块,用于将第一虚拟防火墙的端口发送到SDN控制器;
流表接收模块,用于接收SDN控制器发送的第一流表,所述第一流表用于指示将第一虚拟交换机通过非所述第一虚拟防火墙的端口接收到的、目的地址或源地址为指定虚拟机的流量发送到第一虚拟防火墙的端口以由所述第一虚拟防火墙执行安全审核。
6.根据权利要求5所述的装置,其特征在于,该装置还包括:
迁移模块,用于当指定虚拟机发生迁移时,接收SDN控制器发送的用于指示删除所述第一流表的第二流表。
7.根据权利要求5所述的装置,其特征在于,还包括:
安全策略接收模块,用于从SDN控制器接收安全策略,并发送所述安全策略到所述第一虚拟防火墙,从而由所述第一虚拟防火墙基于所述安全策略对发送到第一虚拟防火墙的端口的流量执行所述安全审核。
8.一种软件定义网络SDN中实现虚拟防火墙的方法,其特征在于,该方法适用于SDN控制器,该方法包括:
从第一虚拟交换机接收第一虚拟防火墙的端口,其中第一虚拟防火墙下挂在第一虚拟交换机上;
向所述第一虚拟交换机下发第一流表,所述第一流表用于指示将第一虚拟交换机通过非所述第一虚拟防火墙的端口接收到的、目的地址或源地址为指定虚拟机的流量发送到第一虚拟防火墙的端口以由所述第一虚拟防火墙执行安全审核。
9.根据权利要求8所述的方法,其特征在于,该方法还包括:
当指定虚拟机发生迁移时,向第一虚拟交换机下发用于指示删除所述第一流表的第二流表。
10.根据权利要求8所述的方法,其特征在于,该方法还包括:
当指定虚拟机下挂在第二虚拟交换机上时,向第二虚拟交换机下发第三流表,该第三流表用于指示将通过指定虚拟机的端口接收到的流量发送到下一跳端口,以将所述通过指定虚拟机的端口接收到的流量发送到第一虚拟交换机;
或
当发送目的地址为指定虚拟机的流量的源虚拟机下挂在第二虚拟交换机时,向第二虚拟交换机下发第四流表,该第四流表用于指示将通过源虚拟机的端口接收到的、目的地址为指定虚拟机的流量发送到下一跳端口,以将所述通过源虚拟机的端口接收到的、目的地址为指定虚拟机的流量发送到第一虚拟交换机。
11.根据权利要求8所述的方法,其特征在于,该方法还包括:
发送所述安全策略到所述第一虚拟交换机,从而由所述第一虚拟交换机将所述安全策略发送到所述第一虚拟防火墙。
12.一种软件定义网络SDN中实现虚拟防火墙的装置,其特征在于,该装置应用于SDN控制器,包括:
端口接收模块,用于从第一虚拟交换机接收第一虚拟防火墙的端口,其中第一虚拟防火墙下挂在第一虚拟交换机上;
流表下发模块,用于向第一虚拟交换机下发第一流表,所述第一流表用于指示将第一虚拟交换机通过非所述第一虚拟防火墙的端口接收到的、目的地址或源地址为指定虚拟机的流量发送到所述第一虚拟防火墙的端口以由所述第一虚拟防火墙执行安全审核。
13.根据权利要求12所述的装置,其特征在于,
流表下发模块,还用于当指定虚拟机发生迁移时,向第一虚拟交换机下发用于指示删除所述第一流表的第二流表。
14.根据权利要求12所述的装置,其特征在于,
流表下发模块,还用于当指定虚拟机下挂在第二虚拟交换机上时,向第二虚拟交换机下发第三流表,该第三流表用于指示将通过指定虚拟机的端口接收到的流量发送到下一跳端口,以将所述通过指定虚拟机的端口接收到的流量发送到第一虚拟交换机;或当发送目的地址为指定虚拟机的流量的源虚拟机下挂在第二虚拟交换机时,向第二虚拟交换机下发第四流表,该第四流表用于指示将通过源虚拟机的端口接收到的、目的地址为指定虚拟机的流量发送到下一跳端口,以将所述通过源虚拟机的端口接收到的、目的地址为指定虚拟机的流量发送到第一虚拟交换机。
15.根据权利要求12所述的装置,其特征在于,还包括:
安全策略发送模块,用于发送所述安全策略到所述第一虚拟交换机,从而由所述第一虚拟交换机将所述安全策略发送到所述第一虚拟防火墙。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410630889.1A CN105656841B (zh) | 2014-11-11 | 2014-11-11 | 一种软件定义网络中实现虚拟防火墙的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410630889.1A CN105656841B (zh) | 2014-11-11 | 2014-11-11 | 一种软件定义网络中实现虚拟防火墙的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105656841A true CN105656841A (zh) | 2016-06-08 |
CN105656841B CN105656841B (zh) | 2018-12-11 |
Family
ID=56483402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410630889.1A Active CN105656841B (zh) | 2014-11-11 | 2014-11-11 | 一种软件定义网络中实现虚拟防火墙的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105656841B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106131020A (zh) * | 2016-07-17 | 2016-11-16 | 合肥赑歌数据科技有限公司 | 一种防火墙虚拟化的模块以及管理方法 |
CN106453333A (zh) * | 2016-10-19 | 2017-02-22 | 深圳市深信服电子科技有限公司 | 虚拟化平台的防火墙规则创建方法及装置 |
CN106534346A (zh) * | 2016-12-07 | 2017-03-22 | 北京奇虎科技有限公司 | 基于虚拟waf的流量控制方法、装置及系统 |
CN106657015A (zh) * | 2016-11-23 | 2017-05-10 | 中国银联股份有限公司 | 基于sdn网络的数据传输方法 |
CN107046546A (zh) * | 2017-05-18 | 2017-08-15 | 郑州云海信息技术有限公司 | 一种网络安全控制方法及装置 |
CN107528737A (zh) * | 2017-09-14 | 2017-12-29 | 广州西麦科技股份有限公司 | 一种基于OpenDaylight配置Firewall的方法及装置 |
CN107689992A (zh) * | 2017-08-24 | 2018-02-13 | 南京南瑞集团公司 | 一种高性能的防火墙集群实现方法 |
CN108123886A (zh) * | 2016-11-29 | 2018-06-05 | 上海有云信息技术有限公司 | 一种云计算平台的数据转发方法及装置 |
CN108965000A (zh) * | 2018-07-12 | 2018-12-07 | 成都安恒信息技术有限公司 | 一种私有云sdn引流实现方法 |
CN108989352A (zh) * | 2018-09-03 | 2018-12-11 | 平安科技(深圳)有限公司 | 防火墙实现方法、装置、计算机设备及存储介质 |
CN110891018A (zh) * | 2019-11-25 | 2020-03-17 | 新华三大数据技术有限公司 | 网络流量恢复方法、装置、sdn控制器及存储介质 |
CN111953661A (zh) * | 2020-07-23 | 2020-11-17 | 深圳供电局有限公司 | 一种基于sdn的东西向流量安全防护方法及其系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103152361A (zh) * | 2013-03-26 | 2013-06-12 | 华为技术有限公司 | 访问控制方法及设备、系统 |
US20140269277A1 (en) * | 2013-03-15 | 2014-09-18 | International Business Machines Corporation | Dynamic maximum transmission unit size adaption |
CN104092565A (zh) * | 2014-06-24 | 2014-10-08 | 复旦大学 | 一种面向云数据中心的多租户策略驱动型软件定义网络方法 |
CN104104561A (zh) * | 2014-08-11 | 2014-10-15 | 武汉大学 | 一种基于OpenFlow协议的SDN防火墙状态检测方法及系统 |
-
2014
- 2014-11-11 CN CN201410630889.1A patent/CN105656841B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140269277A1 (en) * | 2013-03-15 | 2014-09-18 | International Business Machines Corporation | Dynamic maximum transmission unit size adaption |
CN103152361A (zh) * | 2013-03-26 | 2013-06-12 | 华为技术有限公司 | 访问控制方法及设备、系统 |
CN104092565A (zh) * | 2014-06-24 | 2014-10-08 | 复旦大学 | 一种面向云数据中心的多租户策略驱动型软件定义网络方法 |
CN104104561A (zh) * | 2014-08-11 | 2014-10-15 | 武汉大学 | 一种基于OpenFlow协议的SDN防火墙状态检测方法及系统 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106131020A (zh) * | 2016-07-17 | 2016-11-16 | 合肥赑歌数据科技有限公司 | 一种防火墙虚拟化的模块以及管理方法 |
CN106131020B (zh) * | 2016-07-17 | 2020-05-01 | 合肥赑歌数据科技有限公司 | 一种防火墙虚拟化的模块以及管理方法 |
CN106453333B (zh) * | 2016-10-19 | 2019-08-30 | 深信服科技股份有限公司 | 虚拟化平台的防火墙规则创建方法及装置 |
CN106453333A (zh) * | 2016-10-19 | 2017-02-22 | 深圳市深信服电子科技有限公司 | 虚拟化平台的防火墙规则创建方法及装置 |
CN106657015A (zh) * | 2016-11-23 | 2017-05-10 | 中国银联股份有限公司 | 基于sdn网络的数据传输方法 |
CN106657015B (zh) * | 2016-11-23 | 2020-09-22 | 中国银联股份有限公司 | 基于sdn网络的数据传输方法 |
CN108123886A (zh) * | 2016-11-29 | 2018-06-05 | 上海有云信息技术有限公司 | 一种云计算平台的数据转发方法及装置 |
CN106534346A (zh) * | 2016-12-07 | 2017-03-22 | 北京奇虎科技有限公司 | 基于虚拟waf的流量控制方法、装置及系统 |
CN106534346B (zh) * | 2016-12-07 | 2019-12-10 | 北京奇虎科技有限公司 | 基于虚拟waf的流量控制方法、装置及系统 |
CN107046546A (zh) * | 2017-05-18 | 2017-08-15 | 郑州云海信息技术有限公司 | 一种网络安全控制方法及装置 |
CN107689992A (zh) * | 2017-08-24 | 2018-02-13 | 南京南瑞集团公司 | 一种高性能的防火墙集群实现方法 |
CN107528737B (zh) * | 2017-09-14 | 2019-04-02 | 广州西麦科技股份有限公司 | 一种基于OpenDaylight配置Firewall的方法及装置 |
CN107528737A (zh) * | 2017-09-14 | 2017-12-29 | 广州西麦科技股份有限公司 | 一种基于OpenDaylight配置Firewall的方法及装置 |
CN108965000A (zh) * | 2018-07-12 | 2018-12-07 | 成都安恒信息技术有限公司 | 一种私有云sdn引流实现方法 |
CN108965000B (zh) * | 2018-07-12 | 2021-06-01 | 成都安恒信息技术有限公司 | 一种私有云sdn引流实现方法 |
CN108989352A (zh) * | 2018-09-03 | 2018-12-11 | 平安科技(深圳)有限公司 | 防火墙实现方法、装置、计算机设备及存储介质 |
CN108989352B (zh) * | 2018-09-03 | 2022-11-11 | 平安科技(深圳)有限公司 | 防火墙实现方法、装置、计算机设备及存储介质 |
CN110891018A (zh) * | 2019-11-25 | 2020-03-17 | 新华三大数据技术有限公司 | 网络流量恢复方法、装置、sdn控制器及存储介质 |
CN111953661A (zh) * | 2020-07-23 | 2020-11-17 | 深圳供电局有限公司 | 一种基于sdn的东西向流量安全防护方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105656841B (zh) | 2018-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105656841A (zh) | 一种软件定义网络中实现虚拟防火墙的方法和装置 | |
US11429408B2 (en) | System and method for network function virtualization resource management | |
CN109417576B (zh) | 用于为云应用提供合规要求的传输的系统和方法 | |
US10057112B2 (en) | Fault detection of service chains in a SDN/NFV network environment | |
CN107646103B (zh) | 对容器的逻辑处理 | |
US9602307B2 (en) | Tagging virtual overlay packets in a virtual networking system | |
EP3695565B1 (en) | System and method for replication container performance and policy validation using real time network traffic | |
CN104104620B (zh) | 用于按优先级进行业务流处理的方法和系统 | |
CN105684357B (zh) | 虚拟机中地址的管理 | |
US10936549B2 (en) | Cluster-wide container optimization and storage compression | |
US20180026911A1 (en) | System and method for providing a resource usage advertising framework for sfc-based workloads | |
CN114363021B (zh) | 网络靶场系统、网络靶场系统的虚拟网络实现方法及装置 | |
US9432254B1 (en) | Cloning virtual network resources and templates | |
US20190079788A1 (en) | Predictive image storage system for fast container execution | |
WO2017185303A1 (zh) | 一种nfv mano策略描述符的管理方法及装置 | |
CN111221619A (zh) | 一种业务开通和编排的方法、装置及设备 | |
CN102780601A (zh) | 管理虚拟网络的方法与系统 | |
CN104320350A (zh) | 用于提供基于信用的流控制的方法及系统 | |
CN108028827A (zh) | 网络功能虚拟化架构中证书的管理方法及装置 | |
WO2016183832A1 (zh) | 一种网络业务实例化的方法及设备 | |
CN108885686B (zh) | 用于视频分析的基于云的主动调试系统 | |
CN109787938A (zh) | 实现访问虚拟私有云的方法、装置及计算机可读存储介质 | |
US10277422B2 (en) | Virtual port support in a logical switch architecture | |
CN110417774A (zh) | 一种sdn网络中安全资源管控方法和装置 | |
CN108881482A (zh) | 一种流量迁移方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant before: Huasan Communication Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |