zoukankan      html  css  js  c++  java
  • 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 > "定义一条规则。“<filterref >”可以直接引用其它定义好的过滤器。在这个例子中,规则匹配“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。

    阅读原文

  • 相关阅读:
    1.4.2.3. SETUP(Core Data 应用程序实践指南)
    1.4.2.2. PATHS(Core Data 应用程序实践指南)
    1.4.2.1. FILES(Core Data 应用程序实践指南)
    1.4.2. 实现 Core Data Helper 类(Core Data 应用程序实践指南)
    1.4.1. Core Data Helper 简介(Core Data 应用程序实践指南)
    1.4. 为现有的应用程序添加 Core Data 支持(Core Data 应用程序实践指南)
    1.3.2. App Icon 和 Launch Image(Core Data 应用程序实践指南)
    1.3.1. 新建Xcode项目并设置故事板(Core Data 应用程序实践指南)
    php验证邮箱是否合法
    如何使js函数异步执行
  • 原文地址:https://www.cnblogs.com/276815076/p/5865231.html
Copyright © 2011-2022 走看看