EN JA
IPF(8)
IPF(8) FreeBSD System Manager's Manual IPF(8)

名称

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

書式

ipf [ -6AcdDEInoPrsvVyzZ ] [ -l <block|pass|nomatch> ] [ -T <optionlist> ] [ -F <i|o|a|s|S> ] -f < filename> [ -f < filename> [...]]

解説

ipf は列挙されたファイルをオープンし ("-"は標準入力として扱います)、そのファイルを解釈して、パケットフィルタルールセットに対し追加または削除するルールセットを求めます。

ipf が処理する各ルールは、解釈に問題がなければ、カーネル内部のリストに追加されます。ルールは、 ipf に与えられた時の出現順に一致する順序で内部リストの最後に追加されます。

オプション

-6
本オプションは、IPv6 ルールのパーズおよびロードに必要です。
-A
リストを、動作中のリストに変更を加えるものとします (デフォルト)。
-c <language>
このオプションによって、 ipflanguage をサポートするコンパイラのための出力ファイルを生成します。現在のところ、サポートされた唯一の対象言語は、 C (-cc) で、 ipf が実行されているとき、2 つのファイル - ip_rules.cip_rules.h が、 カレントディレクトリに生成されます。これらのファイルは、フィルタルールを静的にカーネルに組み込むために IPFILTER_COMPILED カーネルオプションと共に使用することができます。
-d
デバッグモードをオンにします。各フィルタルールを処理するごとに、フィルタルールの 16 進数ダンプを作成します。
-D
(フィルタが有効な場合) フィルタを無効にします。ローダブルカーネルバージョンでは動作しません。
-E
(フィルタが無効な場合) フィルタを有効にします。ローダブルカーネルバージョンでは動作しません。
-F <i|o|a>
このオプションは、どのフィルタリストを捨てるのかを指定します。パラメータは、"i" (input;入力), "o" (output;出力), "a" (all;全フィルタルールの除去) のいずれかです。レター一文字でも、またはそのレターで開始する語でもどちらを用いてもかまいません。実行オプションを指定するコマンドラインにおいて、このオプションの位置は他のオプションの前でも後でもかまいません。
-F <s|S>
状態テーブルからエントリを消すために、 -F オプションは、"s" (完全に確立していない接続に関する状態情報の除去) か "S" (すべての接続に関する状態情報の除去) と共に使用します。 2 つのオプションのどちらか片方のみ指定可能です。完全に確立された接続は、 ipfstat -s 出力で 5/5 と表示され、どちらかの方向にずれている場合にはもう完全には確立していないことを示します。
-F<5|6|7|8|9|10|11>
接続の閉鎖を表す状態が始まり、片側のみか、または完全な接続だけである TCP について、その状態に対応する数を直接使用してそれらの状態をフラッシュすることは可能です。数は、次の状態に関連します: 5 = close-wait, 6 = fin-wait-1, 7 = closing, 8 = last-ack, 9 = fin-wait-2, 10 = time-wait, 11 = closed。
-F<number>
-F に供給された引数が 30 より大きいなら、多くの秒より大きいアイドルがあるステートテーブルエントリは、フラッシュされます。
-f <filename>
このオプションは、パケットフィルタルールリストを変更するための入力を、 ipf がどのファイルから得るのかを指定します。
-I
リストを、動作中ではないリストに変更を加えるものとします。
-l  <pass|block|nomatch>
-l フラグを使用すると、パケットのデフォルトログ動作を切り替えます。このオプションに対する有効な引数は、 pass, block, nomatch のいずれかです。オプションが設定されたとき、フィルタリングから抜け出した、いずれかの分類にマッチするパケットは、ログされます。これが最も有用なのは、ロードしたルールのいずれにもマッチしなかった全パケットをログする場合です。
-n
このフラグ (無変更) は、 ipf が実際に ioctl を呼び出すことと、現在実行中のカーネルを変更することを妨げます。
-o
(デフォルトの) 入力リストに対してではなく、出力リストに対してデフォルトでルールを追加/削除するように強制します。
-P
認証ルールテーブルの一時エントリに、ルールを追加します。
-r
マッチするフィルタルールを、内部リストに追加するのではなく、削除します。
-s
使用中の活動フィルタリストを「他」のものと交換します。
-T <optionlist>
このオプションは、ランタイム時に IPFilter カーネル変数を変更することができます。いくつかの変数は、変更のために IPFilter が無効の状態 ( -D) であることを要求しますが、他のものはそうしません。 optionlist パラメータは調整コマンドのコンマで区切られたリストです。調整コマンドは、"list" (カーネル内のすべての変数のリスト、それらの最大、最小、と現在の値を検索して取り出す)、単一の変数名 (現在の値を検索して取り出す) と新しい値を設定するために次の代入がある変数名のいずれかです。次はいくつかの例です。
 

# IPFilter カーネル調整可能なパラメータを印刷 (表示) します
ipf -T list
# 現在の TCP アイドルタイムアウトを表示し、次にそれを 3600 に
# 設定します
ipf -D -T fr_tcpidletimeout,fr_tcpidletimeout=3600 -E
# 現在の fr_pass と fr_chksrc の値を表示し、次に fr_chksrc を
# 1 に設定します
ipf -T fr_pass,fr_chksrc,fr_chksrc=1
-v
冗長モードをオンにします。ルール処理に関する情報を表示します。
-V
バージョン情報を表示します。 ipf バイナリに組み込まれたバージョン情報を表示します。これは、(実行中/存在する場合には) カーネルコードから取り出します。カーネル中に存在する場合、現在の状態が表示されます (ログ取得が有効か、デフォルトフィルタリング等)。
-y
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@cyber.com に電子メールを送ってください。