Catch up with recent RELENG_4

ipnat.5	1.1.1.3.2.1
ipf.8		1.3.2.1
ipfstat.8	1.3.2.2
ipmon.8	1.6.2.1
This commit is contained in:
Kazuo Horikawa 2000-07-20 01:15:48 +00:00
parent 2e60402a15
commit bb64903e95
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=7688
4 changed files with 169 additions and 20 deletions

View file

@ -9,14 +9,24 @@ ipnat
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 ] .
fromspec ::= "from" ip "/" ipmask .
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 .
rr ::= "round-robin" .
tcpudp ::= "tcp" | "udp" | "tcp/udp" .
portnumber ::= number { numbers } | "auto" .
ifname ::= 'A' - 'Z' { 'A' - 'Z' } numbers .
@ -46,7 +56,7 @@ TCP
.\" 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
アドレスもしくはネットワークひとつを、統制なしのラウンドロビン法で
@ -67,10 +77,27 @@ IP
.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
"->" の右辺は、それ以前の制約条件との照合が既に成功している場合に、その
@ -102,6 +129,30 @@ IP
コネクションのアドレスを決定するため、\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 コマンドとその変形を扱います。

View file

@ -1,4 +1,4 @@
.\" %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 名称
@ -6,7 +6,7 @@ ipf \- IP
.SH 書式
.B ipf
[
.B \-AdDEInoPrsUvVyzZ
.B \-6AdDEInoPrsUvVyzZ
] [
.B \-l
<block|pass|nomatch>
@ -32,6 +32,9 @@ ipf \- IP
内部リストの最後に追加されます。
.SH オプション
.TP
.B \-6
本オプションは、IPv6 ルールのパーズおよびロードに必要です。
.TP
.B \-A
リストを、動作中のリストに変更を加えるものとします (デフォルト)。
.TP

View file

@ -1,4 +1,4 @@
.\" %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 名称
@ -6,7 +6,27 @@ ipfstat \-
.SH 書式
.B ipfstat
[
.B \-aAfghIinosv
.B \-6aAfghIinosv
] [
.B \-d
<device>
]
.B ipfstat -t
[
.B \-C
] [
.B \-D
<addrport>
] [
.B \-P
<protocol>
] [
.B \-S
<addrport>
] [
.B \-T
<refresh time>
] [
.B \-d
<device>
@ -24,17 +44,35 @@ ipfstat \-
パケットをやりとりする間に蓄積された統計を取り出して表示することです。
.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<device>
カーネルとのインタフェースを行なう為、\fB/dev/ipl\fP の代わりに、
device を用います。
.TP
.BR \-D \0<addrport>
\fB\-t\fP オプションと組み合わせる場合のみ、本オプションは有効です。
top 形式の状態表示対象のエントリを、
終点 IP アドレスとポートが addport 引数にマッチするもののみに限定します。
addrport の指定は ipaddress[,port] という形式です。
ipaddress と port は、数値か文字列 "any"
(それぞれ、任意の IP アドレスまたは任意のポートを指定) です。
\fB\-D\fP オプションが指定されない場合、\fB\-D\fP any,any になります。
.TP
.B \-f
フラグメントの状態情報 (統計) と、もしも存在していたら、(カーネル内に)
保存された状態情報を表示します。
@ -61,15 +99,23 @@ device
.B \-o
カーネルの IP 処理の出力側に用いられるフィルタリストを表示します。
.TP
.BR \-P \0<protocol>
\fB\-t\fP オプションと組み合わせる場合のみ、本オプションは有効です。
top 形式の状態表示対象のエントリを、
特定のプロトコルにマッチするもののみに限定します。
引数は、プロトコル名 (\fB/etc/protocols\fP で定義されるもの) か、
プロトコル番号です。
本オプションを指定しないと、すべてのプロトコルの状態エントリが指定されます。
.TP
.B \-s
パケット/フローの状態情報 (統計のみ) を表示します。
パケット/フローの状態情報 (統計のみ)
.TP
.B \-sl
(カーネル内に) 保存された状態情報が存在すれば、これを表示します。
.TP
.BR \-S \0<addrport>
\fB\-t\fP オプションと組み合わせる場合のみ、本オプションは有効です。
状態表示対象のエントリを、
top 形式の状態表示対象のエントリを、
始点 IP アドレスとポートが addport 引数にマッチするもののみに限定します。
addrport の指定は ipaddress[,port] という形式です。
ipaddress と port は、数値か文字列 "any"
@ -86,7 +132,7 @@ top
.TP
.BR \-T \0<refreshtime>
\fB\-t\fP オプションと組み合わせる場合のみ、本オプションは有効です。
本オプションは、状態表示の更新頻度を指定します。
本オプションは、top 形式の状態表示の更新頻度を指定します。
refreshtime は、更新間隔を秒単位で指定し、正整数を指定可能です。
デフォルト (そして最小更新間隔) は 1 です。
.TP
@ -103,6 +149,39 @@ refreshtime
その時点でインストールされカーネルに使用されている
適切なフィルタルールリストを、
取り出して表示するでしょう。
.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

View file

@ -1,4 +1,4 @@
.\" %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 %
.\"
@ -10,13 +10,15 @@ ipmon \-
.SH 書式
.B ipmon
[
.B \-aFhnstvxX
.B \-aDFhnpstvxX
] [
.B "\-N <device>"
] [
.B "\-o [NSI]"
] [
.B "\-O [NSI]"
] [
.B "\-N <device>"
.B "\-P <pidfile>"
] [
.B "\-S <device>"
] [
@ -85,6 +87,11 @@ ipmon
ます。すべてのエントリを同じ出力「デバイス」(標準エラー出力または syslog) に
表示します。
.TP
.B \-D
ipmon をデーモンにします。
ipmon を孤児にするためにサブシェルやバックグラウンドを使用する必要はないので、
際限なく実行可能です。
.TP
.B "\-f <device>"
通常 IP フィルタログ記録を表すログ情報を読み込むための、
別のデバイス/ファイルを指定します。
@ -109,16 +116,23 @@ S -
いっしょに使用することが、もっとも意味のある使い方でしょう。
パラメータとして利用可能な文字は、\fB-o\fP と同様です。
.TP
.B \-p
ログメッセージ中のポート番号を常に番号で表示し、
\fI/etc/services\fP の検索を試みません。
.TP
.B \-P <pidfile>
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 <device>"
状態ログ記録読み込み用にオープンするログファイルを <device> に設定します。
.TP
.IP
.B LOG_INFO
\- アクションが pass や block でなく、
@ -157,6 +171,8 @@ TCP
/dev/ipnat
.br
/dev/ipstate
.br
/etc/services
.SH 関連項目
ipl(4), ipf(8), ipfstat(8), ipnat(8)
.\" .SH バグ