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


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

試験的に 3.1-RELEASE のみ man3 を検索できるようにしました



検索コマンド: man apropos whatis コマンド/キーワード:
日本語マニュアル RELEASE :
※注意※ 日本語はセクション 1,3,5,6,7,8 のみです(無いものもあります)。
セクション:

日本語マニュアルについて (FreeBSD jpmanプロジェクト)
jpman プロジェクトへの協力
FreeBSD 他各種 OS の英語マニュアル閲覧

Table of Contents
名称 | 書式 | 解説 | チェックリスト | 長所 | パケットの行き先変更 | 使用例 | 関連項目 | バグ | 作者 | 歴史
IPFW(8)                 FreeBSD System Manager's Manual                IPFW(8)

名称
     ipfw - IP ファイアウォール制御ユーティリィティ

書式
     ipfw [-q] file
     ipfw [-f | -q] flush
     ipfw [-q] zero [number ...]
     ipfw delete number ...
     ipfw [-aftN] list [number ...]
     ipfw [-ftN] show [number ...]
     ipfw [-q] add [number] action [log] proto from src to dst [via name |
          ipno] [options]

解説
     書式の 1 行目のようにファイル名を指定した場合は、 file を 1 行ずつ、引数
     として読み込みます。

     ipfw はパケットごとに、マッチするルールが見つかるまでルールリストを調べま
     す。各ルールにはパケット数とパケットサイズの 2 つのカウンタが用意されてい
     て、パケットがマッチするとカウンタ値は更新されます。

     全ルールは 1 から 65534 の範囲の行番号で順序付けられます。この番号によっ
     てルールの並べ変えと削除を行ないます。ルールのマッチングは昇順で行なわ
     れ、最初にマッチしたものが適用されます。複数のルールが同じ番号を共有する
     ことも可能です。この場合はルールが追加された順序でマッチングが行なわれま
     す。

     番号を指定せずにルールを追加した場合は、直前のルールの番号に 100 を加えた
     ものとなります。ルールの番号が 65434 より大きい場合は、新しいルールは最後
     のルールに追加されます。

     delete 操作は number で指定された番号を持つ最初のルールを、もし有れば、削
     除します。

     list 操作は現在のルール一覧を出力します。

     show 操作は `ipfw -a list' と同じ結果を出力します。

     zero 操作は number で指定された番号を持つルールのカウンタをクリアします。

     flush 操作は全ルールを削除します。

     記号 `#' で始まる行および空行は無視されます。

     どんな場合でも次のルールは存在します:

                       65535 deny all from any to any

     全パケットを拒否するのがデフォルトのポリシーです。これを修正し、必要なル
     ールを設定して下さい。

     オプションは以下のものが利用可能です。

     -a    list 操作の時、カウンタの値を表示します。show の項を参照のこと。

     -f    操作を実行する際に確認メッセージを表示しません。flush 操作も無条件
           に実行されます。 (注意)プロセスに tty が関連付けられていない場合
           には、このオプションが指定されているものとして実行されます。

     -q    ルールを add, zero, flush する際に、メッセージの出力を抑制します (
           -f も含まれます)。このオプションは、リモートログインセッションでル
           ールを調整する際に、(例えば sh /etc/rc.firewall のようにして) スク
           リプトの中から複数の ipfw コマンドを実行する場合や、多数の ipfw ル
           ールを記述したファイルを用いる場合に便利です。flush 操作が通常の
           (冗舌な) 状態で実行されると、メッセージが出力されます。ここで、すべ
           てのルールは削除されるので、メッセージをログインセッションに送るこ
           とができず、ログインセッションがクローズされてしまうので、残りのル
           ールセットは実行されません。この状態を修復するにはコンソールへのア
           クセスが必要となります。

     -t    list 操作の時に、最後にマッチしたパケットのタイムスタンプを表示しま
           す。

     -N    IP アドレスとサービス名をリゾルブしてホスト名で表示します。

     action:

         allow             マッチするパケットを通過させ、マッチングを終了しま
                           す。 pass, permit, accept と同じです。

         deny              マッチするパケットを破棄し、マッチングを終了しま
                           す。 dropdeny と同じです。

         reject            (パケットを送らないよう嘆願) マッチするパケットを破
                           棄し、ICMP の host unreachable を送信して、終了しま
                           す。

         unreach code      パケットを破棄し、ICMP の unreachable に code を付
                           けて送信します。 code は、0 から 256 までの数字、も
                           しくは、以下に列挙する別名のいずれかです: net,
                           host, protocol, port, needfrag, srcfail, net-
                           unknown, host-unknown, isolated, net-prohib, host-
                           prohib, tosnet, toshost, filter-prohib, host-
                           precedence, precedence-cutoff。送信後、終了します。

         reset             TCP パケットのみに対応。パケットを破棄し、TCP の
                           (RST) を送信し、終了します。

         count             マッチするパケットのカウンタを更新し、引続きマッチ
                           ングを行ないます。

         divert port       マッチするパケットを port で指定されたポートにバイ
                           ンドされている divert(4) ソケットに送り、マッチング
                           を終了します。

         tee port          マッチするパケットのコピーを port で指定されたポー
                           トにバインドされている divert(4) ソケットに送り、引
                           続きマッチングを行ないます。

         skipto number     number より小さな番号のルールを飛び越して、 number
                           以上の番号のルールで最初に存在するものから、マッチ
                           ングを継続します。

     パケットが diverttee のどちらかひとつ以上、もしくは両方の組合せの、複
     数のルールにマッチした場合、最後のものを除き、無視します。

     カーネルが IPFIREWALL_VERBOSE オプション付きでコンパイルされている場合
     に、``log'' が指定されているルールとマッチした時は、メッセージをコンソー
     ルに表示します。もし、 IPFIREWALL_VERBOSE_LIMIT オプション付きでコンパイ
     ルされている場合、一連のルールに対し指定されたパケット数を受信した後、
     メッセージの表示を中止します。パケットのカウンタをクリアすれば再びメッセ
     ージを出力します。

     コンソールへの表示とその制限数は、 sysctl(8) を通し、直接設定できます。

     proto:


         ip                全パケットがマッチします。別名 all も使えます。

         tcp               TCP パケットのみマッチします。

         udp               UDP パケットのみマッチします。

         icmp              ICMP パケットのみマッチします。

         <number|name>      指定されたプロトコルのパケットのみマッチします (
                           /etc/protocols のリストを参照の事)

     srcdst:

         <address/mask> [ports]

     <address/mask> は以下のように指定できます。

         ipno              IP 番号を 1.2.3.4 の形式で指定します。指定されたア
                           ドレスのみがマッチします。

         ipno/bits         IP 番号とネットマスクの幅を 1.2.3.4/24 の形式で指定
                           します。この場合は 1.2.3.0 から 1.2.3.255 のアドレ
                           スがマッチします。

         ipno:mask         IP 番号とネットマスクの幅を 1.2.3.4:255.255.240.0
                           の形式で指定します。この場合は 1.2.0.0 から
                           1.2.15.255 のアドレスがマッチします。

     アドレスの前に ``not'' を付けることによって、マッチの意味を反転させること
     ができます (指定されたアドレス以外の総てのアドレスがマッチします)。これは
     ポート番号には影響しません。

     TCP と UDP ではさらに、 ports を以下のように指定できます。

         {port|port-port}[,port[,...]]

     ポート番号の代わりに (ファイル /etc/services から取った) サービス名を使用
     できます。port-port の書式で、最初の値に限り範囲指定できます。列挙出来る
     ポート数は /usr/src/sys/netinet/ip_fw.h で IP_FW_MAX_PORTS として定義され
     ています。

     断片化されたパケットでオフセットが非 0 のもの (すなわち、最初の断片ではな
     いもの) は、一つ以上のポート仕様を持つルールにはマッチしません。?断片化
     されたパケットへのマッチングに関する詳細は frag オプションを参照してくだ
     さい。

     マッチングのルールは、入ってくるパケットか、出ていくパケット、もしくはそ
     の両方に対し適応されます。 in を指定すれば、入ってくるパケットのみにルー
     ルを適応します。 out を指定すれば、出ていくパケットのみに適応します。

     特定のインタフェースを通過するパケットには、 via を用いてインタフェースを
     指定します:

         via ifX           ifX を通過するパケットを指定します。

         via if*           ifX を通過するパケットを指定します。X はいずれかの
                           ユニットの番号です。

         via any           いずれかのインタフェースを通過するパケットを指定し
                           ます。

         via ipno          IP アドレスが ipno のインタフェースを通過するパケッ
                           トを指定します。

     via を用いると、常時指定されたインタフェースがチェックされます。 recvxmit を、 via の代わりに指定すると、受信、もしくは送信インタフェースのみ
     が (各々に) チェックされます。両方を指定すれば、受信と送信の両方のインタ
     フェースを通るパケットを指定できます。例:

           ipfw add 100 deny ip from any to any out recv ed0 xmit ed1

     recv で指定したインタフェースでは、受信と送信、両方のパケットをチェックで
     きます。それに対し、 xmit で指定したインタフェースでは、送信パケットのみ
     となります。それゆえに、 xmit を指定すると out が、必須です ( in は不
     可)。 via と共に xmit もしくは、 recv を指定する事はできません。

     個々のパケットは、受信用ないし送信用インタフェースを持たないかもしれませ
     ん。ローカルホストで発生したパケットには受信用のインタフェースはないし、
     ローカルホスト内宛のパケットは、送信用インタフェースが有りません。

     追加用 options:

         frag              パケットが断片 (フラグメント) 化されたデータグラム
                           の一部で、かつデータグラムの先頭の断片でない場合に
                           マッチします。 frag を、 tcpflags や TCP/UDP ポート
                           仕様と共に使用することはできません。

         in                ネットワークから受信したパケットのみマッチします。

         out               ネットワークへ送信するパケットのみマッチします。

         ipoptions spec    IP ヘッダが、 spec に指定されたコンマで区切られたオ
                           プションのリストを含む場合にのみマッチします。サポ
                           ートされている IP オプションは ssrr (strict source
                           route), lsrr (loose source route), rr (record pack-
                           et route), ts (timestamp) です。``!'' によって、特
                           定のオプションを含めないよう指定できます。

         established       RST または ACK ビットがセットされているパケットのみ
                           マッチします。このビットがセットされることがあるの
                           は TCP のパケットのみです。

         setup             SYN ビットがセットされ ACK がセットされていないパ
                           ケットのみマッチします。このビットがセットされるこ
                           とがあるのは TCP のパケットのみです。

         tcpflags spec     TCP ヘッダが spec に指定されたコンマで区切られたフ
                           ラグのリストを含む場合にのみマッチします。サポート
                           されているフラグは、 fin, syn, rst, psh, ack, urg
                           です。``!'' によって、特定のフラグを含めないよう指
                           定できます。 tcpflags 仕様を含むルールは非 0 のオフ
                           セットを持つ断片化されたパケットにマッチすることは
                           ありません。断片化されたパケットに関するマッチにつ
                           いての詳細は frag オプションを参照してください。

         icmptypes types   ICMP タイプが types で指定されたリスト中に存在する
                           場合にのみ適用されるルールとなります。リストはレン
                           ジの組み合わせでも、各タイプをコンマで区切ったもの
                           でもどちらでもかまいません。

チェックリスト
     ルールを構成する際に考慮すべき重要な点を述べます。

         +o   かならず送信パケットと受信パケットの両方のパケットをフィルタリン
             グします。ほとんどのネットワークコネクションではパケットが双方向
             に流れることが必要です。

         +o   テストは細心の注意を払って行ないます。テストの際にはコンソールの
             近くにいるのがよいでしょう。

         +o   ループバックインタフェースのことを忘れてはなりません。

長所
     ファイアウォールが常に破棄するパケットが 1 種類あります。フラグメントオフ
     セットが 1 のフラグメントパケットです。これはパケットとしては有効なもので
     すが、利用目的はファイアウォールをかいくぐることしかありません。

     ネットワーク越しにログインしている場合、LKM 版の ipfw をロードすることは
     それほど単純なことではありません。以下のコマンドを奨めます。

                       modload /lkm/ipfw_mod.o && \
                       ipfw add 32000 allow all from any to any

     これに引続き、同じような状況で

                       ipfw flush

     とするのは良くありません。

パケットの行き先変更
     指定されたポートを見ているソケットは、そのポートへ行き先変更されたパケッ
     トを、全部受けとります。 divert(4) を参照して下さい。ポートを見ているソ
     ケットがない場合やカーネルがパケットの行き先変更をサポートするようにはコ
     ンパイルされていない場合、パケットは破棄されます。

使用例
     次のコマンドは hacker.evil.org から wolf.tambov.su の telnet ポートへ送ら
     れる全ての TCP パケットを拒否するルールを追加します。

           ipfw add deny tcp from hacker.evil.org to wolf.tambov.su 23

     次のコマンドはネットワーク hackers からホスト my への全てのコネクションを
     拒否します。

           ipfw add deny all from 123.45.67.0/24 to my.host.org

     次はカウントされている情報とタイムスタンプを見る例です

           ipfw -at l

     これはタイムスタンプを省略して次のように指定できます。

           ipfw -a l

     次のルールは 192.168.2.0/24 からの全ての受信パケットを、5000 番のポートに
     行き先変更するものです。

           ipfw divert 5000 all from 192.168.2.0/24 to any in

関連項目
     ip(4),  ipfirewall(4),  divert(4),  protocols(5),  services(5),
     reboot(8),  syslogd(8),  sysctl(8)

バグ
     WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!WARNING!!

     このプログラムはコンピュータをかなり使いにくい状態にしてしまう可能性があ
     ります。はじめて使用する時はコンソール上で実行し、理解していない操作は 絶
     対に実行しないようにして下さい。

     連続したエントリの操作もしくは追加に際し、サービス名やプロトコル名は使用
     できません。

     入ってきたパケットの断片 (フラグメント) が divert によって行き先を変更さ
     れると、ソケットに配送される前に、組み立て直しをします。それに対し、 tee
     を経由した断片 (フラグメント) は、組み立て直しされません。


     ポートの別名でダッシュ (-) を含むものは、リストの最初には書けません。

作者
     Ugen J. S. Antsilevich,
     Poul-Henning Kamp,
     Alex Nash,
     Archie Cobbs. API は
     Daniel Boulet が BSDI 向けに記述したコードに基づいています。

歴史
     ipfw は、FreeBSD 2.0 で最初に現れました。

 FreeBSD                         July 20, 1996                               6

Table of Contents

FreeBSD マニュアル検索