19.12.9. フィルタールール

発信 IP パケット内の IP アドレス (変数 IP の値から取得される) が期待したアドレスではない場合、トラフィックをドロップするルールを実施するネットワークトラフィックフィルターのシンプルな例を以下の XML で示します。これにより仮想マシンからの IP アドレスのなりすましを防ぎます。

例19.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>
トラフィックフィルターのルールはルールノードで開始します。このノードには以下の属性を最大 3 つまで含ませることができます。
  • action を mandatory にすると、次の値を取ることができます。
    • drop (ルールに一致すると、さらに分析することなくパケットを破棄し、メッセージは出力しません)
    • reject (ルールに一致すると、さらに分析することなく ICMP 拒否メッセージを生成します)
    • accept (ルールに一致すると、さらに分析することなくパケットを受け取ります)
    • return (ルールに一致すると、このフィルターを通過しますがさらに分析するため呼び出しフィルターに制御を戻します)
    • continue (ルールに一致すると、さらに分析するため次のルールに移動します)
  • direction を mandatory にすると、次の値を取ることができます。
    • in - 着信トラフィック
    • out - 発信トラフィック
    • inout - 着信と発信のトラフィック
  • priority はオプションです。ルールの優先度は、ルールが他のルールに対して相対的にインスタンス生成される順序を制御します。小さい値のルールは大きい値のルールより先にインスタンス生成されます。有効な値は -1000 から 1000 の範囲です。この属性を与えると、デフォルトでは優先度 500が与えられます。ルートチェーン内のフィルタールールは、ルートチェーンに接続されるフィルターでその優先度にしたがい分類されます。これにより、フィルターチェーンへのアクセスを持たせながらフィルタールール同士を交互配置することができるようになります。詳細は 「フィルターチェーンの優先度」 を参照してください。
  • statematch はオプションです。「0」または「false」に設定すると、基礎となる接続状態の一致をオフにします。デフォルト設定は「1」または「true」です。
詳細は 「高度なフィルター設定について」 をご覧ください。
前述の 例19.7「clean traffic フィルターの例」 では、type ip のトラフィックはチェーン ipv4 に関連付けられ、ルールは priority=500 になることを示しています。type ip のトラフィックもチェーン ipv4 に関連付けられる別のフィルターが参照される場合などは、そのフィルターのルールは先のルールの priority=500 に相対的に順序付けられます。
ルールにはトラフィックのフィルターを行なうルールを 1 つ含ませることができます。上記の例では、タイプ ip のトラフィックがフィルターされます。