diff --git a/ja_JP.eucJP/man/man5/ipnat.5 b/ja_JP.eucJP/man/man5/ipnat.5 index cdd884c28d..b074a4e8e5 100644 --- a/ja_JP.eucJP/man/man5/ipnat.5 +++ b/ja_JP.eucJP/man/man5/ipnat.5 @@ -1,143 +1,194 @@ .TH IPNAT 5 .\" jpman %Id: ipnat.5,v 1.3 1998/09/22 14:16:13 horikawa Stab % .SH 名称 ipnat, ipnat.conf \- IP NAT ファイルの形式 .SH 解説 ipnat が受け付けるファイルの形式は、以下の文法で記述されるものです。 .LP .nf ipmap :: = mapblock | redir | map . map ::= mapit ifname ipmask "->" ipmask [ mapport ] . +map ::= mapit ifname fromto "->" ipmask [ mapport ] . mapblock ::= "map-block" ifname ipmask "->" ipmask [ ports ] . -redir ::= "rdr" ifname [ fromspec ] ipmask "->" ip [ ports ] [ tcpudp ] . +redir ::= "rdr" ifname ipmask dport "->" ip [ "," ip ] [ ports ] options . + +dport ::= "port" portnum [ "-" portnum ] . ports ::= "ports" numports | "auto" . mapit ::= "map" | "bimap" . +fromto ::= "from" object "to" object . ipmask ::= ip "/" bits | ip "/" mask | ip "netmask" mask . mapport ::= "portmap" tcpudp portnumber ":" portnumber . +options ::= [ tcpudp ] [ rr ] . + +object = addr [ port-comp | port-range ] . +addr = "any" | nummask | host-name [ "mask" ipaddr | "mask" hexnumber ] . +port-comp = "port" compare port-num . +port-range = "port" port-num range port-num . -fromspec ::= "from" ip "/" ipmask . +rr ::= "round-robin" . tcpudp ::= "tcp" | "udp" | "tcp/udp" . portnumber ::= number { numbers } | "auto" . ifname ::= 'A' - 'Z' { 'A' - 'Z' } numbers . numbers ::= '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' . .fi .PP 標準的な NAT 機能では、ひとつのルールは \fBmap\fP で始まり、 その後にインタフェースの指定が続きます。そのインタフェースから パケットが出て行く際にソースアドレスが書き換えられます。 .PP 書き換えられるパケットの選択は、もとのソースアドレスとの照合のみで 行なわれます。IP アドレスの指定にはネットマスクを指定する必要が あります。 .PP もとのアドレスと置き換えられるアドレスは、IP番号/ネットマスクの組から 選ばれます。すべて 1 のネットマスクは、ホスト名が正しいことを表します。 1 が 31 個からなるネットマスク (255.255.255.254) は、ブロードキャスト アドレスとネットワークアドレスを取ったあとでホスト IP 番号を割り当てる 余裕がないため、正しくないと見なされます。 .PP TCP パケットと UDP パケットの再マップの際には、ソースポート番号の変更 も可能です。TCP, UDP パケットともども、それぞれの規則で選択が可能です。 これらは、規則のうしろに再マップ先のポート番号の範囲を、 \fBport-number:port-number\fP の形式で指定します。 .SH コマンド .\" There are found commands recognised by IP Filter's NAT code: .\" この部分、There are four commands ... の間違いではないかと send-pr 済み .\" (2000-1-19, by kuma) -IP フィルタの NAT コードが認識するコマンドがあります: +IP フィルタの NAT コードが認識するコマンドが 4 個あります: .TP .B map アドレスもしくはネットワークひとつを、統制なしのラウンドロビン法で 他のアドレスに写像するときに用います。 .TP .B rdr ある IP アドレスとポートの組から別の組に、パケットをリダイレクトする ときに用います。 .TP .B bimap 外部 IP アドレスと内部 IP アドレスとの間で双方向 NAT を設定するときに 用います。 .TP .B map-block IP アドレスに基づく静的な変換を設定します。アドレスを絞り込み、目的の範囲に 収まるように変換するアルゴリズムに基づくものです。 .SH 照合処理 .PP 基本的な NAT 機能とパケットのリダイレクトにおいては、プロトコルとともに 変更可能性のあるアドレスを用いて、あるパケットを変更せねばならないか -どうかをチェックします。リダイレクトについては、キーワード \fBfrom\fP -を用いて、ソースアドレスに基づくパケット選択を行なうこともできます。 -それぞれの規則の "->" の左辺は、その規則のパケット \fI照合処理\fP +どうかをチェックします。 +それぞれの規則の "->" の左辺は、その規則のパケット\fI照合処理\fP 部分です。 +.PP +パケットの照合処理は、より複雑な比較が可能なように拡張されました。 +変換されるアドレス部分においては、 +IP アドレスとポート番号の比較は、\fBipf\fP で使用可能な式を使用可能です。 +単純な NAT ルールは次のように記述可能です: +.LP +.nf +map de0 10.1.0.0/16 -> 201.2.3.4/32 +.fi +.LP +または +.LP +.nf +map de0 from 10.1.0.0/16 to any -> 201.2.3.4/32 +.fi +.LP +IP アドレスとポート番号のみ、比較対象にできます。 +これは、すべての NAT ルールで使用可能です。 .SH 変換処理 .PP "->" の右辺は、それ以前の制約条件との照合が既に成功している場合に、その パケットに書き込まれるアドレスとポートを指定する部分です。リダイレクトの 場合 (\fBrdr\fP) が最も単純です。新しいデスティネーションアドレスを その中で指定します。 \fBmap\fP 規則に対しては、デスティネーションアドレスは、新しいアドレス の組 (ソースとデスティネーション) が一意的であると知られているアドレス になります。パケットが TCP か UDP パケットの場合、デスティネーション ポートとソースポートもこの等式に含めます。 アドレスの組が既に存在する場合、IP フィルタは、まず \fBportmap\fP で 指定した有効範囲内でポート番号を 1 つ増やします。そうしても一意的な アドレスの組が得られない場合、指定されたネットマスクの範囲内で ソースアドレスを 1 つ増やします。一意的なアドレスの組が決して得られない 場合、パケットは変換されません。\fBmap-block\fP では、新規アドレスの組、 フリーなアドレスの組、一意的なアドレスの組を検索するやりかたがより限定 されます。ここでは、ポートの有効範囲に加えて、新しいソースアドレスを 何にするかを決定するアルゴリズムを使用します。IP アドレスは決して 変更されませんし、ポート番号も割り当てられた範囲を越えるものは 変更されません。 .SH カーネルプロキシ .PP IP フィルタには、カーネルにロードされるコードの中に組み込まれた単純な プロキシがいくつか付いてきます。これにより、パケットをユーザプログラムを 通させずに 2 番目のチャネルを開けておくことが可能となります。 .SH 透過型プロキシ .PP 真の透過型プロキシ処理 (transparent proxying) は、実際の発信元と コネクションのアドレスを決定するため、\fB/dev/ipnat\fP 経由で検索を 行なうプロキシプログラムを用いて、localhost (127.0.0.1) のポートに 対応付けるリダイレクト (\fBrdr\fP) 規則を用いて行なう必要があります。 +.SH 負荷分散 +.PP +\fBrdr\fP と組み合わせて 2 個のオプションを使用可能です。 +これにより、原始的な\fIラウンドロビン\fPベースの負荷分散をサポートします。 +最初のオプションは、\fBrdr\fP 用に 2 番目の終点を、次のように指定します: +.LP +.nf +rdr le0 203.1.2.3/32 port 80 -> 203.1.2.3,203.1.2.4 port 80 tcp +.fi +.LP +これにより、203.1.2.3 と 203.1.2.4 へ交互に接続を送ります。 +より多くのサーバに不可を分散したい場合には、次のようにします: +.LP +.nf +rdr le0 203.1.2.3/32 port 80 -> 203.1.2.3,203.1.2.4 port 80 tcp round-robin +rdr le0 203.1.2.3/32 port 80 -> 203.1.2.5 port 80 tcp round-robin +.fi +.LP +この場合、接続は 203.1.2.3 にまず向けられ、次に 203.1.2.4 に向けられ、 +そして 203.1.2.5 に向けられ、最後に 203.1.2.3 に戻ります。 +これを実現する際、必要に応じて自動的に、 +ルールがリストの先頭から取り除かれて最後に追加されます。 +これは、"ipnat -l" を使用したルール表示には影響せず、 +内部的な適用順序にのみ影響します。 .SH 使用例 .PP 本セクションでは、\fBmap\fP コマンドとその変形を扱います。 .PP ppp0 インタフェース経由で、内部で使用する IP 番号がネットワーク 10 の パケットを、ISP (インターネットサービスプロバイダ) が提供してくれた 209.1.2.0 (8 ビットサブネット) に変更する場合、以下の規則を使います。 .LP .nf map ppp0 10.0.0.0/8 -> 209.1.2.0/24 .fi .PP ここで、16,000,000 個以上の IP アドレスを 254 個に絞り込もうとすること が問題なのは明らかでしょう。スコープを広げるために、TCP と UDP については ポート再マップを使うこともできます。 .LP .nf map ppp0 10.0.0.0/8 -> 209.1.2.0/24 portmap tcp/udp 1025:65000 .fi .PP これで、ネットワーク 10 で利用可能な空間のうち、不足分は ``アドレス'' 527,566 個分だけになります。これらの規則を結合させるとすると、以下のよ うな指定が必要となります。 .LP .nf map ppp0 10.0.0.0/8 -> 209.1.2.0/24 portmap tcp/udp 1025:65000 map ppp0 10.0.0.0/8 -> 209.1.2.0/24 .fi .PP これで、TCP/UDP パケットのすべてはポートマップが行なわれ、IP アドレス のみが変更されるのは ICMP など他のプロトコルだけとなります。 .SH 関連ファイル /dev/ipnat .br /etc/services .br /etc/hosts .SH 関連項目 ipnat(4), hosts(5), ipf(5), services(5), ipf(8), ipnat(8) diff --git a/ja_JP.eucJP/man/man8/ipf.8 b/ja_JP.eucJP/man/man8/ipf.8 index 4ba175058a..a26145f1c2 100644 --- a/ja_JP.eucJP/man/man8/ipf.8 +++ b/ja_JP.eucJP/man/man8/ipf.8 @@ -1,144 +1,147 @@ -.\" %FreeBSD: src/contrib/ipfilter/man/ipf.8,v 1.3 2000/02/10 03:17:49 peter Exp % +.\" %FreeBSD: src/contrib/ipfilter/man/ipf.8,v 1.3.2.1 2000/07/19 23:00:50 darrenr Exp % .TH IPF 8 .\" jpman %Id: ipf.1,v 1.3 1998/10/15 12:27:39 kuma Stab % .SH 名称 ipf \- IP パケット入出力用のパケットフィルタリストを変更する .SH 書式 .B ipf [ -.B \-AdDEInoPrsUvVyzZ +.B \-6AdDEInoPrsUvVyzZ ] [ .B \-l ] [ .B \-F ] .B \-f <\fIfilename\fP> [ .B \-f <\fIfilename\fP> [...]] .SH 解説 .PP \fBipf\fP は列挙されたファイルをオープンし ("\-" は標準入力として扱います)、 そのファイルを解釈して、 パケットフィルタルールセットに対し追加または削除するルールセットを求めます。 .PP \fBipf\fP が処理する各ルールは、解釈に問題がなければ、 カーネル内部のリストに追加されます。 ルールは、\fBipf\fP に与えられた時の出現順に一致する順序で 内部リストの最後に追加されます。 .SH オプション .TP +.B \-6 +本オプションは、IPv6 ルールのパーズおよびロードに必要です。 +.TP .B \-A リストを、動作中のリストに変更を加えるものとします (デフォルト)。 .TP .B \-d デバッグモードをオンにします。 各フィルタルールを処理するごとに、フィルタルールの 16 進数ダンプを作成します。 .TP .B \-D (フィルタが有効な場合) フィルタを無効にします。 ローダブルカーネルバージョンでは動作しません。 .TP .B \-E (フィルタが無効な場合) フィルタを有効にします。 ローダブルカーネルバージョンでは動作しません。 .TP .BR \-F \0 このオプションは、どのフィルタリストを捨てるのかを指定します。 パラメータは、"i" (input; 入力), "o" (output; 出力), "a" (all; 全フィルタルールの除去) のいずれかです。 レター一文字でも、またはそのレターで開始する語でも どちらを用いてもかまいません。 実行オプションを指定するコマンドラインにおいて、 このオプションの位置は他のオプションの前でも後でもかまいません。 .TP .BR \-F \0 状態テーブルからエントリを消すために、 \fB-F\fP オプションは、"s" (完全に確立していない接続に関する状態情報の除去) か "S" (すべての接続に関する状態情報の除去) と共に使用します。 2 つのオプションのどちらか片方のみ指定可能です。 完全に確立された接続は、\fBipfstat -s\fP 出力で 4/4 と表示され、 どちらかの方向にずれている場合にはもう完全には確立していないことを示します。 .TP .BR \-f \0 このオプションは、パケットフィルタルールリストを変更するための入力を、 \fBipf\fP がどのファイルから得るのかを指定します。 .TP .B \-I リストを、動作中ではないリストに変更を加えるものとします。 .TP .B \-l \0 \fB-l\fP フラグを使用すると、パケットのデフォルトログ動作を切り替えます。 このオプションに対する有効な引数は、 \fBpass\fP, \fBblock\fP, \fBnomatch\fP のいずれかです。 オプションが設定されたとき、 フィルタリングから抜け出した、 いずれかの分類にマッチするパケットは、ログされます。 これが最も有用なのは、 ロードしたルールのいずれにもマッチしなかった全パケットをログする場合です。 .TP .B \-n このフラグ (無変更) は、\fBipf\fP が実際に ioctl を呼び出すことと、 現在実行中のカーネルを変更することを妨げます。 .TP .B \-o (デフォルトの) 入力リストに対してではなく、 出力リストに対してデフォルトでルールを追加/削除するように強制します。 .TP .B \-P 認証ルールテーブルの一時エントリに、ルールを追加します。 .TP .B \-r マッチするフィルタルールを、内部リストに追加するのではなく、削除します。 .TP .B \-s 使用中の活動フィルタリストを「他」のものと交換します。 .TP .B \-U (SOLARIS 2 のみ) IP パケットとしては認識されないような データストリームを伴っているパケットをブロックします。 このようなパケットはコンソールに表示されます。 .TP .B \-v 冗長モードをオンにします。ルール処理に関する情報を表示します。 .TP .B \-V バージョン情報を表示します。 ipf バイナリに組み込まれたバージョン情報を表示します。 これは、(実行中/存在する場合には) カーネルコードから取り出します。 カーネル中に存在する場合、現在の状態が表示されます (ログ取得が有効か、デフォルトフィルタリング等)。 .TP .B \-y IP フィルタが管理しているカーネル内インタフェースリストと、 現在のインタフェース状態リストとを、手動で再同期します。 .TP .B \-z 入力ファイル中の各ルールに対し、統計情報を 0 にリセットし、 0 にする前の統計情報を表示します。 .TP .B \-Z フィルタリングのみに使用されるカーネル内全体統計情報を 0 にします (断片化と状態の統計には無関係です)。 .DT .SH 関連ファイル /dev/ipauth .br /dev/ipl .br /dev/ipstate .SH 関連項目 ipftest(1), mkfilters(1), ipf(4), ipl(4), ipf(5), ipfstat(8), ipmon(8), ipnat(8) .SH 診断 .PP カーネル内のパケットフィルタリストを実際に更新するには、 root として実行する必要があります。 .SH バグ .PP バグをみつけたら、darrenr@cyber.com に電子メールを送ってください。 diff --git a/ja_JP.eucJP/man/man8/ipfstat.8 b/ja_JP.eucJP/man/man8/ipfstat.8 index 73af4357fa..dc75654ab0 100644 --- a/ja_JP.eucJP/man/man8/ipfstat.8 +++ b/ja_JP.eucJP/man/man8/ipfstat.8 @@ -1,117 +1,196 @@ -.\" %FreeBSD: src/contrib/ipfilter/man/ipfstat.8,v 1.3.2.1 2000/07/19 14:28:04 darrenr Exp % +.\" %FreeBSD: src/contrib/ipfilter/man/ipfstat.8,v 1.3.2.2 2000/07/19 23:00:50 darrenr Exp % .TH ipfstat 8 .\" jpman %Id: ipfstat.8,v 1.3 1998/10/14 10:49:51 horikawa Stab % .SH 名称 ipfstat \- パケットフィルタ統計とフィルタリストのレポート .SH 書式 .B ipfstat [ -.B \-aAfghIinosv +.B \-6aAfghIinosv +] [ +.B \-d + +] + +.B ipfstat -t +[ +.B \-C +] [ +.B \-D + +] [ +.B \-P + +] [ +.B \-S + +] [ +.B \-T + ] [ .B \-d ] .SH 解説 .PP \fBipfstat\fP コマンドはシンボル \fB_fr_flags\fP, \fB_frstats\fP, \fB_filterin\fP, \fB_filterout\fP を用いて /dev/kmem を調べます。 このコマンドが実行できかつ機能しうるためには、/dev/kmem とカーネル そのものを読める必要があります。 カーネルの名前は、デフォルトでは \fB/kernel\fP とつけられています。 .PP \fBipfstat\fP のデフォルトの動作は、カーネルがフィルタを通して パケットをやりとりする間に蓄積された統計を取り出して表示することです。 .SH オプション .TP +.B \-6 +IPv6 用のフィルタリストを、使用可能であれば、表示します。 +.TP .B \-a アカウンティングを行なっているフィルタリストを表示します。 更に、それぞれのルールに対してカウントされたバイト数を表示します。 .TP .B \-A パケット認証統計を表示します。 +.TP +.B \-C +\fB\-t\fP オプションと組み合わせる場合のみ、本オプションは有効です。 +top において、"closed" の状態も表示します。 +通常、TLOSE_WAIT のプロトコル状態になった TCP 接続は、表示されません。 +本オプションを有効にすると、すべての状態のエントリが表示されます。 .TP .BR \-d \0 カーネルとのインタフェースを行なう為、\fB/dev/ipl\fP の代わりに、 device を用います。 .TP +.BR \-D \0 +\fB\-t\fP オプションと組み合わせる場合のみ、本オプションは有効です。 +top 形式の状態表示対象のエントリを、 +終点 IP アドレスとポートが addport 引数にマッチするもののみに限定します。 +addrport の指定は ipaddress[,port] という形式です。 +ipaddress と port は、数値か文字列 "any" +(それぞれ、任意の IP アドレスまたは任意のポートを指定) です。 +\fB\-D\fP オプションが指定されない場合、\fB\-D\fP any,any になります。 +.TP .B \-f フラグメントの状態情報 (統計) と、もしも存在していたら、(カーネル内に) 保存された状態情報を表示します。 .TP .B \-g 設定済みのグループを表示します (アクティブのものと非アクティブのものの両方)。 .TP .B \-h ルール毎にそれぞれがヒットを記録する回数を表示します。 \fB\-i\fP とともに用います。 .TP .B \-i カーネルの IP 処理の入力側に用いられるフィルタリストを表示します。 .TP .B \-I 「非アクティブ」フィルタリストの詳細を取り出す処理と、 「アクティブ」フィルタリストの詳細を取り出す処理を切り替えます。 \fB\-i\fP とともに用いる為のものです。 .TP .B \-n ルールがプリントされる時にそれぞれの「ルール番号」が示されます。 .TP .B \-o カーネルの IP 処理の出力側に用いられるフィルタリストを表示します。 .TP +.BR \-P \0 +\fB\-t\fP オプションと組み合わせる場合のみ、本オプションは有効です。 +top 形式の状態表示対象のエントリを、 +特定のプロトコルにマッチするもののみに限定します。 +引数は、プロトコル名 (\fB/etc/protocols\fP で定義されるもの) か、 +プロトコル番号です。 +本オプションを指定しないと、すべてのプロトコルの状態エントリが指定されます。 +.TP .B \-s -パケット/フローの状態情報 (統計のみ) を表示します。 +パケット/フローの状態情報 (統計のみ) .TP .B \-sl (カーネル内に) 保存された状態情報が存在すれば、これを表示します。 .TP .BR \-S \0 \fB\-t\fP オプションと組み合わせる場合のみ、本オプションは有効です。 -状態表示対象のエントリを、 +top 形式の状態表示対象のエントリを、 始点 IP アドレスとポートが addport 引数にマッチするもののみに限定します。 addrport の指定は ipaddress[,port] という形式です。 ipaddress と port は、数値か文字列 "any" (それぞれ、任意の IP アドレスまたは任意のポートを指定) です。 \fB\-S\fP オプションが指定されない場合、\fB\-S\fP any,any になります。 .TP .B \-t 状態表の表示を、\fBtop(1)\fP がプロセス表を表示する方法で行います。 状態は、何種類かの方法でソート可能です。 本オプションは、\fBncurses(3)\fP が必要であり、 本オプションが組み込まれていることが必要です。 本オプションは、すべてのオペレーティングシステムで使用可能とは限りません。 top モードの ipfstat で使用可能なキーについての更なる情報は、後述します。 .TP .BR \-T \0 \fB\-t\fP オプションと組み合わせる場合のみ、本オプションは有効です。 -本オプションは、状態表示の更新頻度を指定します。 +本オプションは、top 形式の状態表示の更新頻度を指定します。 refreshtime は、更新間隔を秒単位で指定し、正整数を指定可能です。 デフォルト (そして最小更新間隔) は 1 です。 .TP .B \-v 冗長モードで起動します。より多くのデバッグ情報を表示します。 .SH 概要 \fBipfstat\fP の役割は、現在のカーネルの統計を表示することです。 この統計は、カーネルに出入りするパケットにいくつかのフィルタが (存在する場合には) 適切に適用される結果として集められたものです。 これは、コマンドラインパラメータが指定されていない時のデフォルトの 動作です。 .PP このコマンドは \fB\-i\fP か \fB\-o\fP とともに与えられた時は、 その時点でインストールされカーネルに使用されている 適切なフィルタルールリストを、 取り出して表示するでしょう。 +.SH TOP 形式の状態表示 +\fB\-t\fP オプションを使用すると、 +\fBipfstat\fP は top 形式の状態表示モードになります。 +このモードでは、 +状態表の表示を、\fBtop(1)\fP がプロセス表を表示する方法で行います。 +\fB\-C\fP, \fB\-D\fP, \fB\-P\fP, \fB\-S\fP, \fB\-T\fP の +コマンドラインオプションを使うことで、 +状態エントリの制限と表示更新の頻度を指定可能です。 +.PP +top モードでは、次のキーを使用して、表示情報を変更可能です。 +\fBl\fP を使うと、画面を再描画します。 +\fBq\fP を使うと、プログラムを終了します。 +\fBs\fP を使うと、ソートに使用する基準を変更します。 +\fBr\fP を使うと、ソートに使用する基準を反転します。 +.PP +状態エントリのプロトコル番号・IP パケット数・ +バイト数・生存時間で、状態をソート可能です。 +デフォルトでは、バイト数でソートします。 +状態は、降順でソートされますが、 +\fBr\fP キーを使用することで昇順でソート可能です。 +.SH TOP 形式の状態表示の制約 +現在のところ、始点・終点・プロトコルの各フィルタおよび更新間隔は、 +対話的に変更できません。 +コマンドラインから実行する必要があります。 +.PP +画面は最低 80 桁必要ですが、このことはチェックされません。 +.PP +ソートおよびフィルタの基準にマッチする、 +最初の X-5 エントリだけが表示されます (ここで X は画面の行数です。 +より多くのエントリを見る方法はありません)。 +.PP +IPv6 サポートはありません。 +.PP .SH 関連ファイル /dev/kmem .br /dev/ipl .br /dev/ipstate .br /kernel .SH 関連項目 ipf(8) .SH バグ 知られていません。 diff --git a/ja_JP.eucJP/man/man8/ipmon.8 b/ja_JP.eucJP/man/man8/ipmon.8 index 3d2d0480da..6e9e5768dc 100644 --- a/ja_JP.eucJP/man/man8/ipmon.8 +++ b/ja_JP.eucJP/man/man8/ipmon.8 @@ -1,162 +1,178 @@ -.\" %FreeBSD: src/contrib/ipfilter/man/ipmon.8,v 1.6 2000/02/10 03:17:50 peter Exp % +.\" %FreeBSD: src/contrib/ipfilter/man/ipmon.8,v 1.6.2.1 2000/07/19 23:00:50 darrenr Exp % .TH ipmon 8 .\" jpman %Id: ipmon.8,v 1.3 1998/10/12 11:28:11 horikawa Stab % .\" .\" WORD: normal IP filter 通常 IP フィルタ[ipmon.8] .\" .SH 名称 .\"X ipmon \- monitors /dev/ipl for logged packets ipmon \- ログしたパケットのために /dev/ipl をモニタする .SH 書式 .B ipmon [ -.B \-aFhnstvxX +.B \-aDFhnpstvxX +] [ +.B "\-N " ] [ .B "\-o [NSI]" ] [ .B "\-O [NSI]" ] [ -.B "\-N " +.B "\-P " ] [ .B "\-S " ] [ .B "\-f " ] [ .B ] .SH 解説 .LP \fBipmon\fP は、\fB/dev/ipl\fP を読み出すためにオープンし、パケットフィルタ から保存されるデータを待ちます。デバイスから読み出されたバイナリデータを 可読形式で再表示します。ただし、IP番号はホスト名に変換されません。また、 ポート番号もサービス名に変換されません。この出力は、デフォルトで標準出力に 向けられます。もしくは、コマンド行でファイル名が指定された場合は、出力は そのファイルに向けられます。 \fB-s\fP オプションを使用した場合、出力はそちらでなく \fBsyslogd(8)\fP に向けられます。syslog 経由で送られたメッセージでは、年月日は削除されて いますが、ログに記録された時刻 (マイクロ秒含む) は残っています。 .LP ipmon が生成するメッセージは、空白で区切られたフィールドから成ります。 全メッセージに共通のフィールドは次の通りです: .LP 1. パケット受信データ。 メッセージが syslog に送られた場合には抑制されます。 .LP 2. パケット受信時刻。 これは HH:MM:SS.F という形式であり、 時間、分、秒、秒の小数部 (数桁になる可能性があります) です。 .LP 3. パケットが処理されたインタフェース名であり、例えば \fBwe1\fP です。 .LP 4. ルールのグループとルール番号であり、例えば \fB@0:17\fP です。 これらは \fBipfstat -n\fP で閲覧可能です。 .LP 5. 動作であり、通過の \fBp\fP またはブロックの \fBb\fP のいずれかです。 .LP 6. アドレス。 これは実際には 3 フィールドからなります。 すなわち、送信元アドレスとポート (コンマで区切ります) と、 \fB->\fP というシンボルと、 宛先アドレスとポートです。 例えば \fB209.53.17.22,80 -> 198.73.220.17,1722\fP です。 .LP 7. \fBPR\fP に続いてプロトコルの名前または番号です。 例えば \fBPR tcp\fP です。 .LP 8. \fBlen\fP に続いてヘッダ長とパケット全体の長さです。 例えば \fBlen 20 40\fP です。 .LP パケットが TCP パケットの場合、追加のフィールドがあります。 これは、ハイフンに続き、設定されているフラグに対応する文字から成ります。 文字一覧とフラグについては、ipf.conf のマニュアルページを参照してください。 .LP パケットが ICMP パケットの場合、最後に 2 フィールドがあります。 最初は常に `icmp' であり、 次は ICMP メッセージとサブメッセージタイプであり、スラッシュで区切られます。 例えば \fBicmp 3/3\fP はポート到達不能メッセージです。 .LP \fBipmon\fP を正しく動作させるためには、 カーネルオプション \fBIPFILTER_LOG\fP をカーネルで設定する必要があります。 詳細については \fBoptions(4)\fP を参照してください。 .SH オプション .TP .B \-a すべてのデバイスログファイルをオープンし、ログエントリをそこから読み込み ます。すべてのエントリを同じ出力「デバイス」(標準エラー出力または syslog) に 表示します。 .TP +.B \-D +ipmon をデーモンにします。 +ipmon を孤児にするためにサブシェルやバックグラウンドを使用する必要はないので、 +際限なく実行可能です。 +.TP .B "\-f " 通常 IP フィルタログ記録を表すログ情報を読み込むための、 別のデバイス/ファイルを指定します。 .TP .B \-F 現在のパケットログバッファをフラッシュします。フラッシュされたバイト数は (結果が 0 であっても) 表示されます。 .TP .B \-n 可能であれば、IP アドレスとポート番号をホスト名とサービス名に変換します。 .TP .B "\-N " NAT ログ記録読み込み用にオープンするログファイルを に設定します。 .TP .B \-o 実際にデータを読み込むログファイルを指定します。N - NAT ログファイル、 S - 状態ログファイル、I - 通常 IP フィルタログファイルです。 \fB-a\fP オプションは、\fB-o NSI\fP を指定するのと等価です。 .TP .B \-O どのログファイルを読み込まないかを指定します。これを \fB-a\fP と いっしょに使用することが、もっとも意味のある使い方でしょう。 パラメータとして利用可能な文字は、\fB-o\fP と同様です。 .TP +.B \-p +ログメッセージ中のポート番号を常に番号で表示し、 +\fI/etc/services\fP の検索を試みません。 +.TP +.B \-P +ipmon プロセスの PID をファイルに書き込みます。 +デフォルトでは、 +\fI/etc/opt/ipf/ipmon.pid\fP (Solaris) か、 +\fI/var/run/ipmon.pid\fP (44BSD 以降) か、 +その他すべてでは \fI/etc/ipmon.pid\fP です。 +.TP .B \-s 読み込んだパケット情報をファイルに保存するのでなく、syslogd 経由で送信 します。 コンパイル時およびインストール時のデフォルトファシリティは \fBlocal0\fP です。 以下で示すレベルが利用できます。 -.TP -.B "\-S " -状態ログ記録読み込み用にオープンするログファイルを に設定します。 -.TP .IP .B LOG_INFO \- アクションが pass や block でなく、 キーワード "log" を用いて記録されたパケット。 .IP .B LOG_NOTICE \- 通過し、記録されたパケット .IP .B LOG_WARNING \- ブロックされ、記録されたパケット .IP .B LOG_ERR \- すでに記録され、「短い」かもしれないと見なされたパケット .TP .B "\-S " 状態ログ記録読み込み用にオープンするログファイルを に設定します。 .TP .B \-t tail(1) と似た方法で入力ファイル/デバイスから読み込みます。 .TP .B \-v TCP ウィンドウ、確認応答、シーケンスフィールドを表示します。 .TP .B \-x パケットデータを 16 進数で表示します。 .TP .B \-X ログヘッダ記録データを 16 進数で表示します。 .SH 診断 \fBipmon\fP は、読み込むデータは、どう保存すべきかについての一貫性が とれていると想定しています。記録されたデータから異常を検知するテスト に失敗した場合、処理を中断します。 .SH 関連ファイル /dev/ipl .br /dev/ipnat .br /dev/ipstate +.br +/etc/services .SH 関連項目 ipl(4), ipf(8), ipfstat(8), ipnat(8) .\" .SH バグ