libvirt管理OVS的流表规则的方法、存储介质及系统技术方案

技术编号:30180303 阅读:70 留言:0更新日期:2021-09-25 15:42
本发明专利技术公开了一种libvirt管理OVS的流表规则的方法、计算机可读存储介质和系统,该方法包括以下步骤:A.根据用户的输入,创建对应的nwfilter过滤规则;B.根据需进行网络流量过滤的虚拟机的网卡信息,将上述nwfilter过滤规则转换成流表规则;C.将所述流表规则添加至OVS虚拟交换机中,以供OVS虚拟交换机使用该流表规则对上述虚拟机进行网络流量过滤。上述方法实现了在应用OVS进行虚拟化网络管理的基础上,使用libvirt来管理OVS的流表规则,无需专门使用OVS来管理OVS的流表规则,由libvirt统一管理虚拟机以及虚拟机的网络流量过滤,便于统一管理。统一管理。统一管理。

【技术实现步骤摘要】
libvirt管理OVS的流表规则的方法、存储介质及系统


[0001]本专利技术涉及虚拟化
,尤其涉及一种libvirt管理OVS的流表规则的方法、存储介质及系统。

技术介绍

[0002]Libvirt是一种用于管理虚拟化平台的开源管理工具,可适用于多种虚拟化技术,例如KVM、Xen、VMware ESX等。Libvirt不仅提供了对虚拟机的管理功能,还提供了对虚拟化网络的管理。目前多数用户都是使用libvirt来对虚拟机进行管理。虚拟化网络管理重点在于网络流量过滤管理,libvirt采用nwfilter来实现虚拟机网卡的数据包过滤管理。
[0003]OpenvSwitch(简称OVS)是一个虚拟交换软件,用于构建虚拟交换机,支持Xen/XenServer、KVM、VirtualBox等多种虚拟化技术。目前,虚拟化中主流的网络解决方案都是基于OVS来实现的。与libvirt不同的是,OVS使用openflow来实现数据包转发和过滤,具体地,OVS虚拟交换机中包含多个流表(flow表),每个流表中包含多个流表规则(flow规则,即网络流量过滤规则),流表规则指定了对数据包的处理行为,如放行或拦截。若有数据包进/出,OVS虚拟交换机就会根据流表优先级按顺序匹配对应的流表规则,从而对数据包进行相应的处理,这样就达到了过滤数据包的目的。
[0004]Libvirt在虚拟机管理功能上比较突出,但其网络管理功能不如OVS,因此,有些虚拟化供应商在构建虚拟化集群时,采用libvirt来管理虚拟机,采用OVS来管理虚拟化网络,虚拟化集群的管理节点需要分别调用ibvirt和OVS来管理虚拟机和虚拟化网络,调用过程比较麻烦。

技术实现思路

[0005]本专利技术所要解决的技术问题是在采用libvirt来管理虚拟机并采用OVS来管理虚拟化网络的情况下,如何方便地统一管理虚拟机和虚拟机的网络流量过滤。
[0006]为了解决上述技术问题,本专利技术的一种libvirt管理OVS的流表规则的方法,包括以下步骤:A.根据用户的输入,创建对应的nwfilter过滤规则;B.根据需进行网络流量过滤的虚拟机的网卡信息,将上述nwfilter过滤规则转换成流表规则;C.将所述流表规则添加至OVS虚拟交换机中,以供OVS虚拟交换机使用该流表规则对上述虚拟机进行网络流量过滤。
[0007]可选地,所述网卡信息包括mac地址和/或端口名称。
[0008]可选地,所述步骤A中,具体是根据用户配置的过滤项目和过滤行为来创建对应的nwfilter过滤规则。
[0009]可选地,所述过滤行为包括丢弃或允许,且/或所述过滤项目包括网络协议类型、源IP地址、目的IP地址、源端口名称和目的端口名称当中的一项或多项。
[0010]可选地,若创建了新的虚拟机且需应用已创建的所述nwfilter过滤规则对其进行网络流量过滤,则对该虚拟机执行所述步骤B和步骤C。
[0011]可选地,所述步骤C具体是将所述流表规则添加至OVS虚拟交换机的流表中。
[0012]可选地,所述步骤C具体是通过ovs

ofctl命令将所述流表规则添加至OVS虚拟交换机的流表中。
[0013]一种计算机可读存储介质,其上存储有可执行的计算机程序,该计算机程序被执行时实现如上所述的libvirt管理OVS的流表规则的方法。
[0014]一种虚拟化管理系统,包括虚拟化管理平台以及通信连接虚拟化管理平台的宿主机,宿主机上运行了虚拟机,所述宿主机包括如上所述的计算机可读存储介质。
[0015]上述方法实现了在应用OVS进行虚拟化网络管理的基础上,使用libvirt来管理OVS的流表规则,无需专门使用OVS来管理OVS的流表规则,由libvirt统一管理虚拟机以及虚拟机的网络流量过滤,便于统一管理。
附图说明
[0016]图1是一种虚拟化管理系统的逻辑框图。
具体实施方式
[0017]以下结合具体实施方式对本专利技术创造作进一步详细说明。
[0018]虚拟化管理系统如图1所示,包括虚拟化管理平台、宿主机以及运行在宿主机上的虚拟机和OVS虚拟交换机。虚拟化管理平台通信连接宿主机。宿主机包括处理器和计算机可读存储介质,该计算机可读存储介质中存储有可执行的计算机程序,该计算机程序被处理器执行从而实现libvirt的功能。该libvirt不仅能够对虚拟机进行管理,还能够管理OVS的流表规则。下面通过实例来说明libvirt管理OVS的流表规则的过程:实施例一假设宿主机上运行了虚拟机A,本实施例默认初始状态下允许所有设备访问虚拟机A。假设用户发现192.168.1.0/24属于恶意IP,想要禁止其访问虚拟机A,就登陆虚拟化管理平台网页界面,在虚拟化管理平台网页界面中把过滤项目配置为源IP地址192.168.1.0/24,把过滤行为配置为丢弃。本实施例中,过滤项目被设为源IP地址,用户可以根据需求,将过滤项目改设为网络协议类型、源IP地址、目的IP地址、源端口和目的端口当中的一种或多种。用户配置好过滤项目和过滤行为之后,选定虚拟机A作为需按照该过滤项目和过滤行为来进行网络流量过滤的虚拟机,如此虚拟化管理平台就调用宿主机的libvirt接口,将用户配置的过滤项目、过滤行为以及虚拟机A信息发送给libvirt,从而使libvirt执行流表规则生成流程如下:libvirt根据用户配置的过滤项目“源IP地址192.168.1.0/24”和过滤行为“丢弃”,创建对应的nwfilter过滤规则

如下:<rule action='drop' direction='in' priority='600'>//过滤行为是丢弃,方向是入站,优先级是600<ipsrcipaddr='192.168.1.0' srcipmask='24'/>//指定源IP地址是192.168.1.0/24
</rule>//函数名。
[0019]Libvirt将上述nwfilter过滤规则

存储在规则库中。本实施例以网卡的mac地址作为网卡信息,Libvirt获取虚拟机A的网卡的mac地址 52:54:00:11:22:33,并据此将上述nwfilter过滤规则

转换成流表规则a1如下:priority=600,ip,dl_dst=52:54:00:11:22:33,nw_src=192.168.1.0/24 actions=drop//优先级是600,虚拟机网卡mac地址是52:54:00:11:22:33,指定源IP地址是192.168.1.0/24,过滤行为是丢弃。
[0020]然后Libvirt调用ovs

ofctl命令使OVS虚拟交换机将该流表规则a1添加到流表中,如此OVS虚拟交换机就可以使用该流表规则a1对虚拟机A进行网络流量过滤了。OVS虚拟交本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种libvirt管理OVS的流表规则的方法,其特征是包括以下步骤:A.根据用户的输入,创建对应的nwfilter过滤规则;B.根据需进行网络流量过滤的虚拟机的网卡信息,将上述nwfilter过滤规则转换成流表规则;C.将所述流表规则添加至OVS虚拟交换机中,以供OVS虚拟交换机使用该流表规则对上述虚拟机进行网络流量过滤。2.如权利要求1所述的libvirt管理OVS的流表规则的方法,其特征是:所述网卡信息包括mac地址和/或端口名称。3.如权利要求1所述的libvirt管理OVS的流表规则的方法,其特征是:所述步骤A中,具体是根据用户配置的过滤项目和过滤行为来创建对应的nwfilter过滤规则。4.如权利要求3所述的libvirt管理OVS的流表规则的方法,其特征是:所述过滤行为包括丢弃或允许,且/或所述过滤项目包括网络协议类型、源IP地址、目的IP地址、源端口名称和目的端口名称当中的一项或多项。5.如权利要求1所述的l...

【专利技术属性】
技术研发人员:黎兵刘建平
申请(专利权)人:云宏信息科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1