千家信息网

libvirt网络过滤规则是怎样的

发表于:2024-11-14 作者:千家信息网编辑
千家信息网最后更新 2024年11月14日,今天就跟大家聊聊有关 libvirt网络过滤规则是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。libvirt网络过滤规则。一个过滤规则
千家信息网最后更新 2024年11月14日libvirt网络过滤规则是怎样的

今天就跟大家聊聊有关 libvirt网络过滤规则是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

libvirt网络过滤规则。

一个过滤规则定义的示例:

< filter name='no-ip-spoold'chain='ipv4' > < uuid >fce8ae33-e69e-83bf-262e-30786c1f8072< /uuid > < rule action='drop' direction='out' priority='500' >   < ip match='no' srcipaddr='192.168.1.1'/ > < /rule >< filterref filter='no-mac-spoofing'/ >< /filter >


根元素 < filter >的主要属性包括"name"和"chain",子元素主要包括"< uuid >"、"< filterref >"、"< rule >"等。"name"属性定义该过滤规则的名称,"chain"属性定义该过滤器所在的链,过滤链用于组织过滤规则。目前,可用的chain只有root、ipv4、ipv6、arp和rarp。子元素"< rule > "定义一条规则。""可以直接引用其它定义好的过滤器。在这个例子中,规则匹配"IP"协议,因此,过滤器在"IPV4"链中。

在XML定义中,一条过滤规则就是一个rule节点,rule节点主要有三个属性:

"action":可以是"drop",表示丢弃;"reject",拒绝但同时生成一个ICMP拒绝消息;"accept"表示允许通过;"return"返回到调用该过滤器的上一级过滤器进行配;"continue"跳到下一条规格进行匹配。"direction":数据包到方向,可以是"in",入方向;"out",出方向;"inout",双方向。"priority":相对于其它规则的顺序,值越低,优先级越高,取值范围为-1000到1000。如果缺省,自动赋值500。"statematch ":连接状态匹配,缺省为'true',还可以选择'false'忽略连接状态。

过滤规则在做匹配时,所有条件都须同时满足,即进行逻辑与。

过滤规则支持的协议,即"rule"标签下的内容(例如上面例子中的ip):

Mac

srcmacaddr MAC_ADDR 源MAC地址

srcmacmask MAC_MASK 源MAC地址掩码

dstmacaddr MAC_ADDR 目标MAC地址

dstmacmask MAC_MASK 目标MAC地址掩码

protocolid STRING 第三层协议的ID,可以是arp, rarp, ipv4, ipv6

comment STRING

Vlan

srcmacaddr MAC_ADDR 源MAC地址

srcmacmask MAC_MASK 源MAC地址掩码

dstmacaddr MAC_ADDR 目标MAC地址

dstmacmask MAC_MASK 目标MAC地址掩码

vlanid UINT16 (0x0-0xfff, 0 - 4095) VLANID

encap-protocol String 封装的第三层协议ID,可以是arp, ipv4, ipv6

comment STRING

IPv4

srcmacaddr MAC_ADDR 源MAC地址

srcmacmask MAC_MASK 源MAC地址掩码

dstmacaddr MAC_ADDR 目标MAC地址

dstmacmask MAC_MASK 目标MAC地址掩码

srcipaddr IP_ADDR 源IP地址

srcipmask IP_MASK 源IP地址掩码

dstipaddr IP_ADDR 目标IP地址

dstipmask IP_MASK 目标IP地址掩码

protocol UINT8, STRING 第四层协议到标识,可以是tcp,udp, udplite, esp, ah, icmp, igmp, sctp

srcportstart UINT16 源端口范围的开始值

srcportend UINT16 源端口范围的结束值

dstportstart UINT16 目标端口范围的开始值

dstportend UINT16 目标端口范围的结束值

dscp UINT8 (0x0-0x3f, 0 - 63) 服务区分代码点

comment STRING

TCP/UDP/SCTP

srcmacaddr MAC_ADDR 源MAC地址

srcipaddr IP_ADDR 源IP地址

srcipmask IP_MASK 源IP地址掩码

dstipaddr IP_ADDR 目标IP地址

dstipmask IP_MASK 目标IP地址掩码

srcipfrom IP_ADDR 源IP地址范围的开始值

srcipto IP_ADDR 源IP地址范围的结束值

dstipfrom IP_ADDR 目标IP地址范围的开始值

dstipto IP_ADDR 目标IP地址范围的结束值

srcportstart UINT16 源端口范围的开始值

srcportend UINT16 源端口范围的结束值

dstportstart UINT16 目标端口范围的开始值

dstportend UINT16 目标端口范围的结束值

dscp UINT8 (0x0-0x3f, 0 - 63) 服务区分代码点

comment STRING

state STRING 逗号分隔的列表,可以是NEW,ESTABLISHED,RELATED,INVALID,NONE

flags STRING 只适用于TCP,逗号分隔的列表,可以是SYN,ACK,URG,PSH,FIN,RST,NONE,ALL

ICMP

该类规则chain的参数被忽略,

srcmacaddr MAC_ADDR 源MAC地址

srcmacmask MAC_MASK 源MAC地址掩码

dstmacaddr MAC_ADDR 目标MAC地址

dstmacmask MAC_MASK 目标MAC地址掩码

srcipaddr IP_ADDR 源IP地址

srcipmask IP_MASK 源IP地址掩码

dstipaddr IP_ADDR 目标IP地址

dstipmask IP_MASK 目标IP地址掩码

srcipfrom IP_ADDR 源IP地址范围的开始值

srcipto IP_ADDR 源IP地址范围的结束值

dstipfrom IP_ADDR 目标IP地址范围的开始值

dstipto IP_ADDR 目标IP地址范围的结束值

type UINT16 ICMP类型

code UINT16 ICMP代码

dscp UINT8 (0x0-0x3f, 0 - 63) 服务区分代码点

comment (Since 0.8.5) STRING

state STRING 逗号分隔的列表,可以是NEW,ESTABLISHED,RELATED,INVALID,NONE

IGMP, ESP, AH, UDPLITE, 'ALL'

该类规则chain的参数被忽略,

srcmacaddr MAC_ADDR 源MAC地址

srcmacmask MAC_MASK 源MAC地址掩码

dstmacaddr MAC_ADDR 目标MAC地址

dstmacmask MAC_MASK 目标MAC地址掩码

srcipaddr IP_ADDR 源IP地址

srcipmask IP_MASK 源IP地址掩码

dstipaddr IP_ADDR 目标IP地址

dstipmask IP_MASK 目标IP地址掩码

srcipfrom IP_ADDR 源IP地址范围的开始值

srcipto IP_ADDR 源IP地址范围的结束值

dstipfrom IP_ADDR 目标IP地址范围的开始值

dstipto IP_ADDR 目标IP地址范围的结束值

dscp UINT8 (0x0-0x3f, 0 - 63) 服务区分代码点

comment (Since 0.8.5) STRING

state STRING 逗号分隔的列表,可以是NEW,ESTABLISHED,RELATED,INVALID,NONE

看完上述内容,你们对 libvirt网络过滤规则是怎样的有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

0