FreeBSD 日本語マニュアル検索 (jman/japropos/jwhatis)


日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。

4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)

13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。



検索コマンド: man apropos whatis
コマンド/キーワード:
日本語マニュアル RELEASE :
セクション:
Table of Contents
名称 | 書式 | IOCTL | 関連ファイル | 関連項目
IPF(4)                                                                  IPF(4)



名称
       ipf - パケットフィルタリングカーネルインタフェース

書式
       #include <netinet/ip_compat.h>
       #include <netinet/ip_fil.h>

IOCTL
       フィルタリストへの追加と削除の規則のために、3 の '基本的な' ioctl が、
       使用のために提供されます。ioctl は次のように呼び出されます。

            ioctl(fd, SIOCADDFR, struct frentry **)
            ioctl(fd, SIOCDELFR, struct frentry **)
            ioctl(fd, SIOCIPFFL, int *)

       しかしながら、すべての補足は次のとおりです:

            ioctl(fd, SIOCADAFR, struct frentry **) (same as SIOCADDFR)
            ioctl(fd, SIOCRMAFR, struct frentry **) (same as SIOCDELFR)
            ioctl(fd, SIOCADIFR, struct frentry **)
            ioctl(fd, SIOCRMIFR, struct frentry **)
            ioctl(fd, SIOCINAFR, struct frentry **)
            ioctl(fd, SIOCINIFR, struct frentry **)
            ioctl(fd, SIOCSETFF, u_int *)
            ioctl(fd, SIOGGETFF, u_int *)
            ioctl(fd, SIOCGETFS, struct friostat **)
            ioctl(fd, SIOCIPFFL, int *)
            ioctl(fd, SIOCIPFFB, int *)
            ioctl(fd, SIOCSWAPA, u_int *)
            ioctl(fd, SIOCFRENB, u_int *)
            ioctl(fd, SIOCFRSYN, u_int *)
            ioctl(fd, SIOCFRZST, struct friostat **)
            ioctl(fd, SIOCZRLST, struct frentry **)
            ioctl(fd, SIOCAUTHW, struct fr_info **)
            ioctl(fd, SIOCAUTHR, struct fr_info **)
            ioctl(fd, SIOCATHST, struct fr_authstat **)

       バリエイション (変化) SIOCADAFR 対 SIOCADIFR は、それぞれアクティブ (活
       発) とアクティブでない (不活発) 2 つのリストに対する操作を許可します。
       これらのすべての ioctl はルーティング (経路指定) ioctl として実装されま
       す。したがって様々なルーティング (経路指定) ioctl のための同じ規則と
       ファイル記述子は、主として、fd がモジュール (つまり /dev/ipl) に関連し
       たデバイスでなければならないものとして採用されます。

       上記の 3 つのグループの ioctl は、規則をリスト (SIOCAD*) の終わりに追加
       する、リスト (SIOCRM*) 中の任意の場所からの規則を削除する、規則をリスト
       (SIOCIN*) へ挿入することを実行します。挿入される場所の規則は、下記の
       "fr_hits" フィールドに格納されます。

       typedef struct  frentry {
               struct  frentry *fr_next;
               u_short fr_group;       /* このルールが属するグループ */
               u_short fr_grhead;      /* このルールを開始するグループ番号 */
               struct  frentry *fr_grp;
               int     fr_ref;         /* 参照カウント - グループ化のため */
               void    *fr_ifa;
       #if BSD >= 199306
               void    *fr_oifa;
       #endif
               /*
                * パケットがこの規則と一致しそれが最後の一致である場合、
                * これらは増加されるだけです
                */
               U_QUAD_T        fr_hits;
               U_QUAD_T        fr_bytes;
               /*
                * カネールの中でいる間、この後のフィールドは変化しません。
                */
               struct  fr_ip   fr_ip;
               struct  fr_ip   fr_mip; /* 構造体マスク */

               u_char  fr_tcpfm;       /* tcp フラグマスク */
               u_char  fr_tcpf;        /* tcp フラグ */

               u_short fr_icmpm;       /* ICMP パケット (マスク) のデータ */
               u_short fr_icmp;

               u_char  fr_scmp;        /* ポート比較のデータ */
               u_char  fr_dcmp;
               u_short fr_dport;
               u_short fr_sport;
               u_short fr_stop;        /* <> と >< の先頭ポート */
               u_short fr_dtop;        /* <> と >< の先頭ポート */
               u_32_t  fr_flags;       /* ルール毎のフラク && オプション
                                          (下記参照) */
               u_short fr_skip;        /* スキップするルールの数 */
               u_short fr_loglevel;    /* syslog ログ機能 + 優先度 */
               int     (*fr_func) __P((int, ip_t *, fr_info_t *));
               char    fr_icode;       /* 返される ICMP コード */
               char    fr_ifname[IFNAMSIZ];
       #if BSD > 199306
               char    fr_oifname[IFNAMSIZ];
       #endif
               struct  frdest  fr_tif; /* "to" インタフェース */
               struct  frdest  fr_dif; /* 二重のパケットインタフェース */
       } frentry_t;

       新しい規則を加える場合、(フィルタ規則中の) すべての未使用のフィールドは
       0 に初期化されるべきです。規則を挿入するために、フィルタリスト中の特別
       の位置では、前に挿入されるための規則の数は、"fr_hits" フィールド (最初
       規則は 0 です) に入れなければなりません。

       fr_flags で認識されるフラグは次のとおりです。

            FR_BLOCK        0x000001   /* パケットを通過させない */
            FR_PASS         0x000002   /* パケットを通過させる */
            FR_OUTQUE       0x000004   /* 発信パケット */
            FR_INQUE        0x000008   /* 着信パケット */
            FR_LOG          0x000010   /* ログ */
            FR_LOGB         0x000011   /* ログ-失敗 */
            FR_LOGP         0x000012   /* ログ-パス */
            FR_LOGBODY      0x000020   /* パケット本体のログ */
            FR_LOGFIRST     0x000040   /* 一致する最初のパケットのみのログ */
            FR_RETRST       0x000080   /* ブロックされる場合、TCP RST パケット
                                          を返す */
            FR_RETICMP      0x000100   /* ブロックされる場合、ICMP パケットを
                                          返す */
            FR_FAKEICMP     0x00180    /* 偽のソースで到達しない ICMP を返す */
            FR_NOMATCH      0x000200   /* 不一致が生じた */
            FR_ACCOUNT      0x000400   /* パケットバイトのカウント */
            FR_KEEPFRAG     0x000800   /* フラグメント情報を保持 */
            FR_KEEPSTATE    0x001000   /* `接続' 状態情報を保持 */
            FR_INACTIVE     0x002000
            FR_QUICK        0x004000   /* プロセスリストの一致 & 停止 */
            FR_FASTROUTE    0x008000   /* 通常ルーティングのバイパス */
            FR_CALLNOW      0x010000   /* 一致した場合、別の関数 (fr_func) を
                                          呼び出し */
            FR_DUP          0x020000   /* 重複したパケット */
            FR_LOGORBLOCK   0x040000   /* ログできない場合、パケットを
                                          ブロック */
            FR_NOTSRCIP     0x080000   /* ソース IP 番号でない */
            FR_NOTDSTIP     0x100000   /* 目的 IP 番号でない */
            FR_AUTH         0x200000   /* 認証を使用 */
            FR_PREAUTH      0x400000   /* 前認証が必要 */

       fr_scomp と fr_dcomp (起点と目的地のポート値の比較) に対する値は次のと
       おりです。

            FR_NONE         0
            FR_EQUAL        1
            FR_NEQUAL       2
            FR_LESST        3
            FR_GREATERT     4
            FR_LESSTE       5
            FR_GREATERTE    6
            FR_OUTRANGE     7
            FR_INRANGE      8

       3 番目の ioctl、SIOCIPFFL は入力フィルタリスト、出力フィルタリストまた
       は両方のいずれかをフラッシュし、リストから削除されたフィルタの数を返し
       ます。それが取って認識する値は、FR_INQUE と FR_OUTQUE (上記参照) です。
       この ioctl はまた、/dev/ipstate が実装されており、0 が渡されればすべて
       の状態テーブルをフラッシュし、1 が渡されれば確立されていないものをすべ
       てフラッシュします。

       一般的なロギングフラグ
       ルールの使用とは無関係にパケットのログを設定することができる 2 つのフラ
       グがあります。これらは、通過されるか、ブロックされるパケットのログを許
       可します。これらのフラグを設定して (クリアする)、または取得する 2 つの
       ioctls が提供されています。

       SIOCSETFF       パラメータとして符号なし整数を取ります。そして、フラグ
                       は提供されたものに設定されます (一体化してクリアする
                       か、設定する)。

                            FF_LOGPASS     0x10000000
                            FF_LOGBLOCK    0x20000000
                            FF_LOGNOMATCH  0x40000000
                            FF_BLOCKNONIP  0x80000000    /* Solaris 2.x のみ */

       SIOCGETFF       パラメータとして符号なし整数へのポインタを取ります。現
                       在中で使用されているフラグのコピーはユーザ空間にコピー
                       されます。

       フィルタ統計
       このパッケージによってパケットで実行された様々な操作の統計はカーネルの
       中に保持されます。これらの統計はカーネルを介して横断されるパケットに適
       用されます。この構造体を検索するには、この ioctl を使用します。

            ioctl(fd, SIOCGETFS, struct friostat *)

       struct  friostat        {
               struct  filterstats     f_st[2];
               struct  frentry         *f_fin[2];
               struct  frentry         *f_fout[2];
               struct  frentry         *f_acctin[2];
               struct  frentry         *f_acctout[2];
               struct  frentry         *f_auth;
               u_long  f_froute[2];
               int     f_active;       /* 1 または 0 - アクティブルールセット */
               int     f_defpass;      /* デフォルトパス - fr_pass から */
               int     f_running;      /* 実行中の場合 1、その他 0 */
               int     f_logging;      /* 有効な場合 1、その他 0 */
               char    f_version[32];  /* 版数文字列 */
       };

       struct    filterstats {
               u_long  fr_pass;        /* パケット許可 */
               u_long  fr_block;       /* パケット拒否 */
               u_long  fr_nom;         /* すべてのルールに一致しないパケット */
               u_long  fr_ppkl;        /* 許可されロギングされたパケット */
               u_long  fr_bpkl;        /* 拒否されロギングされたパケット */
               u_long  fr_npkl;        /* 不一致でロギングされたパケット */
               u_long  fr_pkl;         /* ロギングされたパケット */
               u_long  fr_skip;        /* ロギングされるパケットだが、バッファ
                                          がフル */
               u_long  fr_ret;         /* 返されるパケットが送られた */
               u_long  fr_acct;        /* カウントされるパケットは実行された */
               u_long  fr_bnfr;        /* フラグメント状態を割り付ける悪い
                                          試み */
               u_long  fr_nfr;         /* 新しいフラグメント状態は保持された */
               u_long  fr_cfr;         /* 新しいフラグメント状態は追加されたが、
                                          完全なパケット */
               u_long  fr_bads;        /* パケット状態を割り付ける悪い試み */
               u_long  fr_ads;         /* 新しいパケット状態は保持された */
               u_long  fr_chit;        /* キャッシュヒット */
               u_long  fr_pull[2];     /* 良い/悪いプルアップの試み */
       #if SOLARIS
               u_long  fr_notdata;     /* データがない PROTO/PCPROTO */
               u_long  fr_nodata;      /* データがない mblks */
               u_long  fr_bad;         /* フィルタされる悪い IP パケット */
               u_long  fr_notip;       /* ip キュー上の通過しないパケット */
               u_long  fr_drop;        /* 情報がない - 落されたパケット! */
       #endif
       };

       すべての統計を検索して、カウンタを 0 に戻してリセットしたい場合、
       ioctl() 呼び出しは SIOCGETFS より SIOCFRZST を行ないます。上記の統計に
       加えて、パケットの数とバイトの両方をカウントし、各ルールのヒットカウン
       トを保持します。ルールのためにこれらのカウンタをリセットするためには、
       様々なルール情報を frentry 構造体にロードし、SIOCZRLST を呼び出します。

       スワップアクティブリスト
       IP フィルタはフィルタリングとアカウントのための 2 つのリストのルールを
       サポートします: アクティブリストと非アクティブリストです。これは、大規
       模ルールベースを最小の割り込みと別の方法で不可分の場所に置くために変更
       することを許します。SIOCSWAPA ioctl を使用することで 2 つのどれかをアク
       ティブに変更することができます。渡された引数が認識されず、返された値が
       現在アクティブでないリストであることを注意することは重要です。

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

関連項目
       ipl(4), ipnat(4), ipf(5), ipf(8), ipfstat(8)



                                                                        IPF(4)

Table of Contents

FreeBSD マニュアル検索