next up previous contents
Next: 6.4 フィルタリングルール Up: 6.3.5 フィルタリングコマンド Previous: 6.3.5.2 ipfstat

6.3.5.3 ipftest

フィルタリングルールを書く際に、テストをせずにいきなり運用するのは危険です。 幸い、IPFilter には設定したルールのテストを IPFilter を動かす事無く行う 事が出来るようになっています。ipftest コマンドがそのためのコマンドで、 設定したルールセットに対して、どういうパケットが入って来たらどういう動作を するのかを見る事が出来ます。

   # ipftest  -r ipf.rules  -i data

上の例では、作成したルールセットのファイルが ipf.rules で、テストしたい パケットの特徴を記述したファイルが data です。 例えば、data ファイルは以下のように記述します。

in  on  out0  tcp  202.11.100.1,20000  202.11.97.17,80

このデータでは、TCP プロトコルを用いて、インターフェース out0 に IP 202.11.100.1 のPort 20000 から、202.11.97.17 の Port 80 への パケットが飛んで来たという事を意味しています。

これを実際にテストを行うと例えば以下のようになり、許可されている (pass)ことが分かります。

# ipftest -r ipf.rules -i data
opening rule file "ipf.rules"
input: in on out0 tcp 202.11.100.1,20000 202.11.97.17,80
pass ip 40(20) 6 202.11.100.1,20000 > 202.11.97.17,80
--------------

このように、想定されるパケット一つ一つに対して、ルールセットが正しいか 否かを検査する事が出来る訳です。



Noriyo Kanayama