IPF(8)

名称
ipf - IP パケットの入出力用のフィルタリングリストを変更する

書式
ipf [ -AdDEInorsUvyzZ ] [ -l <block|pass|nomatch> ] [ -F <i|o|a> ] -f <filename> [ -f <filename> [...]]

解説

ipf は引数で指定したファイル ("-" は stdin として扱われます) を オープンし、そのファイルを解析してルールセットを作成し、 これを用いてパケットフィルタのルールセットに対して追加や削除を行います。

解析時に問題が起きなければ、 ipf で処理された各ルールはカーネル内のリストに追加されます。 ルールは内部のリストの最後尾に、ipf に与えた順番で追加されます。

オプション

-A  アクティブリストに変更を加えるためのリストを設定します (デフォルト)。

-d  デバッグモードをオンにします。 フィルタルールの 16 進ダンプが各処理ごとに作成されます。

-D  フィルタを無効にします (有効になっていた場合)。loadable kernel の バージョンの場合は何の影響もありません。

-E  フィルタを有効にします (無効になっていた場合)。loadable kernel の バージョンの場合は何の影響もありません。

-F <i|o|a>
    このオプションでどのフィルタリストをフラッシュするかを指定します。 パラメータは "i" (input)、"o" (output)、"a" (all。全てのフィルタルールの削除) のいずれかです。 1 文字、および適切な文字で始まる単語のどちらでも指定可能です。 このオプションは、他の全てのオプションの前後で、 コマンドラインに出現する順序で実行されます。

-F <s|S>
    状態表のエントリをフラッシュするには、-F オプションに "s" (コネクションが完全には確立されていないものに関する情報を削除する) または "S" (状態表のエントリを全て削除する) のどちらかをつけます。 2 つのオプションのどちらか 1 つしか指定できません。 完全に確立されたコネクションは ipfstat -s の出力では 4/4 などのように なり、どちらかに偏っていればそのコネクションを完全に確立させることはもはや できません。

-f <filename>
    このオプションにより、 パケットフィルタルールリストを書き変えるための入力にどのファイルを使うか を指定します。

-I  インアクティブリストに変更を加えるためのリストを設定します。

-l  <pass|block|nomatch>
    -l フラグを使うと、パケットのロギング機能のトグル動作が起こります。 このオプションへの正しい引数は、pass と block と nomatch です。オプションがセットされると、フィルタリングに引っかからずかつ設定した カテゴリにマッチしたパケットがログファイルに記録されます。これは、 指定したルールのどれにも当てはまらないパケット全てをログに残す場合に有効です。

-n  このフラグ (no-change) は、 ipf がどの ioctl 呼び出しも実際には行わないようにしたり、 現在実行中のカーネルを変更しないようにします。

-o  入力ファイルに対して追加/削除を行う (デフォルト) のではなく、 出力ファイルに対して追加/削除を行うようにデフォルト動作を改めます。

-r  内部リストにフィルタルールを追加するのではなく、内部リストから削除します。

-s  アクティブなフィルタリストとそれ "以外" とを交換します。

-U  IP パケットを認識しないデータストリームを通して流れるパケットをブロックします。 これらはコンソールに出力されます。

-v  バーボーズモードをオンにします。処理するルールに関する情報を表示します。

-y  (SOLARIS 2 のみ) IP フィルタと現在のインタフェースステータスリストで 維持しているカーネル内のインタフェースリストを手動で再同期させます。

-z  入力ファイル内の各ルールについて、その統計を 0 にリセットし、 0 にする前の統計値を表示します。

-Z  カーネル内にあるグローバルな統計のうち、フィルタリングに関する ものだけを 0 にします (フラグメントや状態に関する統計には影響はありません)。

関連ファイル
/dev/ipauth
/dev/ipl
/dev/ipstate

関連項目
ipftest(1), mkfilters(1), ipf(4), ipl(4), ipf(5), ipfstat(8), ipmon(8), ipnat(8)

診断

パケットフィルタリングリストを実際にカーネル内に反映させるためには root の権限で実行する必要があります。

バグ

なにかあったら、darrenr@pobox.com の私のところまでメールを下さい。