18.12.9. 过滤规则
以下 XML 显示了一个网络流量过滤器的简单示例,当传出 IP 数据包中的 IP 地址(通过变量 IP)提供时丢弃流量的规则并非预期,从而防止 IP 地址被虚拟机欺骗。
例 18.8. 网络流量过滤示例
<filter name='no-ip-spoofing' chain='ipv4'> <uuid>fce8ae33-e69e-83bf-262e-30786c1f8072</uuid> <rule action='drop' direction='out' priority='500'> <ip match='no' srcipaddr='$IP'/> </rule> </filter>
流量过滤规则以规则节点开头。此节点可包含以下属性中最多三个属性:
- 操作是必需的:
- drop(匹配规则会静默丢弃数据包而不进一步分析)
- reject(匹配规则会生成 ICMP 拒绝消息,无进一步分析)
- 接受(与规则匹配,无进一步分析)
- 返回(与规则通过此过滤器匹配,但返回到调用过滤器以进行进一步分析)
- 继续(匹配该规则进入下一规则以便进一步分析)
- 方向是必需的可具有以下值:
- 对于传入的流量
- 传出流量
- 传入和传出流量
- 优先级是可选的。规则的优先级控制规则相对于其他规则实例化的顺序。具有较低值的规则将在具有更高值的规则之前实例化。有效值为 -1000 到 1000 范围。如果没有提供此属性,则默认分配优先级为 500。请注意,根链中过滤规则按照优先级后与 root 链连接的过滤器进行排序。这允许通过 访问过滤链来交集过滤规则。如需更多信息,请参阅 第 18.12.3 节 “过滤链优先级”。
- statematch 是可选的。可能的值有 '0' 或 'false' 来关闭与连接匹配的底层连接状态。默认设置为"true"或 1
更多信息请参阅 第 18.12.11 节 “高级过滤器配置主题”。
上面的 例 18.7 “一个干净的流量过滤器示例” 示例表示 类型为 ip 的流量将 与链 ipv4 关联,规则将具有 priority=500。例如,如果引用另一个过滤器,类型为 ip 的流量也与链 ipv4 关联,则过滤的规则将相对于显示规则的 priority=500 进行排序。
规则可以包含用于过滤流量的单一规则。上例显示过滤了 ip 类型的流量。