608 lines
15 KiB
Groff
608 lines
15 KiB
Groff
.\"
|
|
.\" %FreeBSD: src/sbin/ip6fw/ip6fw.8,v 1.3.2.10 2002/07/01 02:00:33 kuriyama Exp %
|
|
.\"
|
|
.\" $KAME$
|
|
.\"
|
|
.\" Copyright (C) 1998, 1999, 2000 and 2001 WIDE Project.
|
|
.\" All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. Neither the name of the project nor the names of its contributors
|
|
.\" may be used to endorse or promote products derived from this software
|
|
.\" without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.\"
|
|
.\" WORD: modifier 修飾子
|
|
.\" WORD: fragmented packet フラグメントパケット
|
|
.\" WORD: encapsulating security payload 暗号ペイロード [IPv6]
|
|
.\" WORD: no next header 次ヘッダなし [IPv6]
|
|
.\" WORD: fine points 微調整
|
|
.Dd March 13, 2000
|
|
.Dt IP6FW 8
|
|
.Os
|
|
.Sh 名称
|
|
.Nm ip6fw
|
|
.Nd IPv6 ファイアフォール用制御ユーティリティ
|
|
.Sh 書式
|
|
.Nm
|
|
.Op Fl q
|
|
.Oo
|
|
.Fl p Ar preproc
|
|
.Oo Fl D
|
|
.Ar macro Ns Op = Ns Ar value
|
|
.Oc
|
|
.Op Fl U Ar macro
|
|
.Oc
|
|
.Ar pathname
|
|
.Nm
|
|
.Op Fl f | Fl q
|
|
flush
|
|
.Nm
|
|
.Op Fl q
|
|
zero
|
|
.Op Ar number ...
|
|
.Nm
|
|
delete
|
|
.Ar number ...
|
|
.Nm
|
|
.Op Fl aftN
|
|
list
|
|
.Op Ar number ...
|
|
.Nm
|
|
.Op Fl ftN
|
|
show
|
|
.Op Ar number ...
|
|
.Nm
|
|
.Op Fl q
|
|
add
|
|
.Op Ar number
|
|
.Ar action
|
|
.Op log
|
|
.Ar proto
|
|
from
|
|
.Ar src
|
|
to
|
|
.Ar dst
|
|
.Op via Ar name | ipv6no
|
|
.Op Ar options
|
|
.Sh 解説
|
|
簡単に設定するために、ルールをファイルに格納して、最初の書式に示すように
|
|
.Nm
|
|
に処理させることが可能です。
|
|
絶対
|
|
.Ar pathname
|
|
を使用する必要があります。
|
|
ファイルは、1 行ずつ読み込まれ、
|
|
.Nm
|
|
ユーティリティへの引数に適用されます。
|
|
.Pp
|
|
オプションとして、プリプロセッサを
|
|
.Fl p Ar preproc
|
|
で指定可能であり、ここを
|
|
.Ar pathname
|
|
がパイプされます。
|
|
有用なプリプロセッサには
|
|
.Xr cpp 1
|
|
と
|
|
.Xr m4 1
|
|
があります。
|
|
.Ar preproc
|
|
の最初の文字がスラッシュ
|
|
.Pq Ql /
|
|
で開始しない場合、通常の
|
|
.Ev PATH
|
|
の名前検索が実行されます。
|
|
.Nm
|
|
実行時には (まだ) 全ファイルシステムがマウントされていない環境においては、
|
|
注意が必要です (例えば NFS 経由でマウントする場合)。
|
|
一度
|
|
.Fl p
|
|
が指定されると、オプションの
|
|
.Fl D
|
|
と
|
|
.Fl U
|
|
の指定を続けることが可能であり、これらはプリプロセッサに渡されます。
|
|
これにより、設定ファイル (ローカルホスト名による条件等) が柔軟になり、
|
|
IP アドレス等の頻繁に必要となる引数を集中管理可能となります。
|
|
.Pp
|
|
.Nm
|
|
コードは、各パケットに対してマッチするものが見つかるまで
|
|
ルールリストを走査することによって動作します。
|
|
ルールにはすべて 2 つの関連のあるカウンタがあります。
|
|
パケットカウンタとバイトカウンタです。
|
|
これらのカウンタはパケットがルールにマッチするときに
|
|
更新されます。
|
|
.Pp
|
|
ルールは、
|
|
1 から 65534 までの
|
|
.Dq 行番号
|
|
で序列がつけられており、
|
|
ルールを決めたり削除したりするのに使用されます。
|
|
ルールは昇順で試され、パケットに最初にマッチしたルールが
|
|
適用されます。
|
|
複数のルールが同じ行番号を共有できます。
|
|
この場合、追加した順番でルールが適用されます。
|
|
.Pp
|
|
番号をつけずにルールを足した場合、その直前のルールよりも
|
|
100 大きい番号がつけられます。
|
|
定義されたルール番号の最大値が 65434 よりも大きい場合、
|
|
新しく定義されるルールは、ルールの最後に追加されます。
|
|
.Pp
|
|
delete 操作では、それが存在する場合には、
|
|
.Ar number
|
|
を行番号にもつ最初のルールが削除されます。
|
|
.Pp
|
|
list コマンドは、現在のルールセットを出力します。
|
|
.Pp
|
|
show コマンドは `ip6fw -a list' と等価です。
|
|
.Pp
|
|
zero 操作は、ルール番号
|
|
.Ar number
|
|
に関連づけられたカウンタを 0 にします。
|
|
.Pp
|
|
flush 操作は、すべてのルールを削除します。
|
|
.Pp
|
|
.Sq #
|
|
で始まるコマンドおよび空白だけのコマンドはみな
|
|
無視されます。
|
|
.Pp
|
|
次のルールは必ず存在します:
|
|
.Bd -literal -offset center
|
|
65535 deny all from any to any
|
|
.Ed
|
|
.Pp
|
|
このルールはデフォルトのポリシです。すなわち、
|
|
何も許さないということです。ルールを設定する際に
|
|
あなたがすべき仕事は、このポリシを必要に合わせて
|
|
変更するということです。
|
|
.Pp
|
|
次のオプションが使用できます:
|
|
.Bl -tag -width flag
|
|
.It Fl a
|
|
リスト中に、カウンタ値を表示します。
|
|
.Dq show
|
|
コマンドを参照してください。
|
|
.It Fl f
|
|
間違って使用すると問題をひき起こす可能性のある
|
|
コマンド (つまり、flush) の確認をとりません。
|
|
.Ar 注意、
|
|
プロセスに端末が割り当てられていない場合は、暗黙のうちに
|
|
このオプションが指定されています。
|
|
.It Fl q
|
|
add 操作や zero 操作、flush 操作を行っている最中に、
|
|
そのアクションに対して何も表示しません (暗黙のうちに '-f' が指定されています)。
|
|
これは、リモートログイン時のセッションで
|
|
スクリプト内で複数の ip6fw コマンドを実行したり
|
|
(例えば、sh /etc/rc.firewall のように)、
|
|
たくさんの ip6fw ルールファイルを処理したりすることで
|
|
ルールを調節するときに便利です。
|
|
通常モード (冗長) で flush 操作を行うと、メッセージが出力
|
|
されます。ルールがすべて flush されるので、ログインセッションに
|
|
メッセージを送ることができず、ログインセッションも閉じてしまいます。
|
|
そのため、残りのルールセットは処理されなくなってしまいます。
|
|
復旧には、コンソールへのアクセスが必要になります。
|
|
.It Fl t
|
|
list している最中に、最後にマッチしたときのタイムスタンプを表示します。
|
|
.It Fl N
|
|
出力で、アドレスおよびサービス名を解決しようとします。
|
|
.El
|
|
.Pp
|
|
.Ar アクション
|
|
は次の通りです。
|
|
.Bl -hang -offset flag -width 16n
|
|
.It Ar allow
|
|
ルールにマッチしたパケットを許可します。
|
|
そして探索を終了します。別名は
|
|
.Ar pass ,
|
|
.Ar permit ,
|
|
.Ar accept
|
|
です。
|
|
.It Ar deny
|
|
ルールにマッチしたパケットを捨てます。
|
|
そして探索を終了します。
|
|
.Ar drop
|
|
は
|
|
.Ar deny
|
|
の別名です。
|
|
.It Ar reject
|
|
(非推奨です) ルールにマッチしたパケットを捨てて、
|
|
ICMPv6 の host unreachable notice メッセージを
|
|
送ろうとします。
|
|
そして探索を終了します。
|
|
.It Ar unreach code
|
|
ルールにマッチしたパケットを捨てて、
|
|
ICMPv6 の
|
|
unreachable notice メッセージをコード
|
|
.Ar code
|
|
で送ろうとします。ここで、
|
|
.Ar code
|
|
は 0 から 255 までの番号もしくは次の別名のうちのいずれかです:
|
|
.Ar noroute ,
|
|
.Ar admin ,
|
|
.Ar notneighbor ,
|
|
.Ar addr ,
|
|
.Ar noport
|
|
。
|
|
そして探索を終了します。
|
|
.It Ar reset
|
|
TCP パケットのみです。
|
|
ルールにマッチしたパケットを捨てて、
|
|
TCP reset (RST) notice メッセージを送ろうとします。
|
|
そして探索を終了します
|
|
.Em ( "まだ動作しません" )
|
|
。
|
|
.It Ar count
|
|
ルールにマッチしたすべてのパケットに対するカウンタを
|
|
更新します。
|
|
探索は、次のルールへと継続します。
|
|
.It Ar skipto number
|
|
.Ar number
|
|
よりも小さい番号のついたルールをスキップします。
|
|
探索は
|
|
.Ar number
|
|
以上の番号のついたルールへと継続します。
|
|
.El
|
|
.Pp
|
|
カーネルを
|
|
.Dv IPV6FIREWALL_VERBOSE
|
|
つきでコンパイルした場合、パケットが
|
|
.Dq log
|
|
キーワードつきのルールにマッチしたとき
|
|
または clear/resetlog が実行されたときには、
|
|
メッセージが
|
|
.Xr syslogd 8
|
|
に記録されるか、これが失敗したときにはコンソールにメッセージが表示されます。
|
|
カーネルを
|
|
.Dv IPV6FIREWALL_VERBOSE_LIMIT
|
|
オプションつきでコンパイルした場合、
|
|
特定のチェーンエントリに対して
|
|
このオプションで指定した数だけパケットを受け取った後は
|
|
ログを記録しません。
|
|
この制限に到達した場合、制限とルール番号が記録されます。
|
|
このエントリに対するカウンタをクリアすることでログの記録を再開できます。
|
|
.Pp
|
|
.Xr syslogd 8
|
|
ログおよびデフォルトのログの制限を、
|
|
.Xr sysctl 8
|
|
インタフェースを介して動的に調整できます。
|
|
.Pp
|
|
.Ar proto
|
|
は次の通りです。
|
|
.Bl -hang -offset flag -width 16n
|
|
.It Ar ipv6
|
|
すべてのパケットがマッチします。
|
|
別名
|
|
.Ar all
|
|
は同じ効果を持ちます。
|
|
.It Ar tcp
|
|
TCP パケットだけがマッチします。
|
|
.It Ar udp
|
|
UDP パケットだけがマッチします。
|
|
.It Ar ipv6-icmp
|
|
ICMPv6 パケットだけがマッチします。
|
|
.It Ar <number|name>
|
|
指定したプロトコルだけがマッチします
|
|
(完全なリストは
|
|
.Pa /etc/protocols
|
|
を参照してください)。
|
|
.El
|
|
.Pp
|
|
.Ar src
|
|
および
|
|
.Ar dst
|
|
は次の通りです。
|
|
.Bl -hang -offset flag
|
|
.It Ar <address/prefixlen>
|
|
.Op Ar ports
|
|
.El
|
|
.Pp
|
|
.Em <address/prefixlen>
|
|
は次のように指定できます:
|
|
.Bl -hang -offset flag -width 16n
|
|
.It Ar ipv6no
|
|
.Li fec0::1:2:3:4
|
|
という形式の IPv6 ナンバ。
|
|
.It Ar ipv6no/prefixlen
|
|
.Li fec0::1:2:3:4/112
|
|
のような形式のプレフィックス長をもった IPv6 ナンバ。
|
|
.El
|
|
.Pp
|
|
.Dq not
|
|
修飾子をアドレスの前につけることで、マッチの意味を反転させることができます。
|
|
これによって、他のすべてのアドレスが代わりにマッチするようになります。
|
|
これは、ポート番号の選択には影響ありません。
|
|
.Pp
|
|
TCP および UDP プロトコルでは、オプションで
|
|
.Em ports
|
|
が次のように指定できます:
|
|
.Pp
|
|
.Bl -hang -offset flag
|
|
.It Ns {port|port-port} Ns Op ,port Ns Op ,...
|
|
.El
|
|
.Pp
|
|
(
|
|
.Pa /etc/services
|
|
より) サービス名を、
|
|
数値によるポート番号の代わりに使用できます。
|
|
範囲は最初の値としてのみ指定でき、ポートリスト長は
|
|
.Dv IPV6_FW_MAX_PORTS
|
|
(
|
|
.Pa /usr/src/sys/netinet6/ip6_fw.h
|
|
で指定) 個のポートまでに制限されています。
|
|
.Pp
|
|
0 ではないオフセットを持つ (すなわち、最初のフラグメントではない)
|
|
フラグメントパケットは、1 つ以上のポートが列挙されたルールには
|
|
絶対にマッチしません。
|
|
フラグメントパケットのマッチについての詳細は
|
|
.Ar frag
|
|
オプションを参照してください。
|
|
.Pp
|
|
ルールは、パケットが入力されるとき、および出力されるとき、
|
|
あるいはその両方ともであるときに適用されます。
|
|
.Ar in
|
|
キーワードは、入力パケットにのみルールがマッチしなくては
|
|
ならないことを示すものです。
|
|
.Ar out
|
|
キーワードは、出力パケットにのみルールがマッチしなくては
|
|
ならないことを示すものです。
|
|
.Pp
|
|
あるインタフェースを通るパケットにマッチするためには、
|
|
.Ar via
|
|
を使用して次のようにインタフェースを指定してください。
|
|
.Bl -hang -offset flag -width 16n
|
|
.It Ar via ifX
|
|
パケットは、インタフェース
|
|
.Ar ifX
|
|
を通らなくてはなりません。
|
|
.It Ar via if*
|
|
パケットは、インタフェース
|
|
.Ar ifX
|
|
を通らなくてはなりません。ここで、X は任意のユニット番号です。
|
|
.It Ar via any
|
|
パケットは、
|
|
.Em なんらかの
|
|
インタフェースを通らなくてはなりません。
|
|
.It Ar via ipv6no
|
|
パケットは、IPv6 アドレス
|
|
.Ar ipv6no
|
|
を持ったインタフェースを通らなくてはなりません。
|
|
.El
|
|
.Pp
|
|
.Ar via
|
|
キーワードを使用すると、該当インタフェースは常に
|
|
チェックされるようになります。
|
|
.Ar via
|
|
の代わりに
|
|
.Ar recv
|
|
あるいは
|
|
.Ar xmit
|
|
を使用すると、
|
|
(それぞれ) 受信インタフェースまたは送信インタフェースだけが
|
|
チェックされます。
|
|
両方を指定することで、受信インタフェース、送信インタフェースの
|
|
両方ともにパケットをマッチさせることができます。
|
|
例えば、次のようにします。
|
|
.Pp
|
|
.Dl "ip6fw add 100 deny ip from any to any out recv ed0 xmit ed1"
|
|
.Pp
|
|
.Ar recv
|
|
インタフェースは、入力パケットあるいは出力パケットのどちらかで
|
|
テストされます。これに対して、
|
|
.Ar xmit
|
|
インタフェースは、出力パケットでしかテストされません。
|
|
そのため、
|
|
.Ar xmit
|
|
を使用する場合はいつでも
|
|
.Ar out
|
|
が必要です (そして、
|
|
.Ar in
|
|
は不正です)。
|
|
.Ar xmit
|
|
あるいは
|
|
.Ar recv
|
|
と一緒に
|
|
.Ar via
|
|
を指定するのは不正です。
|
|
.Pp
|
|
パケットには、受信インタフェースあるいは送信インタフェースがない
|
|
かもしれません。ローカルホストから送信されたパケットには
|
|
受信インタフェースがありません。そして、ローカルホストへ向けて
|
|
送信されたパケットには送信インタフェースがありません。
|
|
.Pp
|
|
追加の
|
|
.Ar options
|
|
は次の通りです。
|
|
.Bl -hang -offset flag -width 16n
|
|
.It frag
|
|
パケットがフラグメントであり、しかも
|
|
データグラムの最初のフラグメントでなければマッチします。
|
|
.Ar frag
|
|
は、
|
|
.Ar tcpflags
|
|
あるいは TCP/UDP ポートの指定と一緒には使うことができません。
|
|
.It in
|
|
パケットが入ってこようとしている場合にマッチします。
|
|
.It out
|
|
パケットが出ていこうとしている場合にマッチします。
|
|
.It ipv6options Ar spec
|
|
IPv6 ヘッダに、
|
|
.Ar spec
|
|
で指定されたコンマ区切りのオプションリストの要素が含まれて
|
|
いればマッチします。
|
|
サポートしている IPv6 オプションは次の通りです。
|
|
.Ar hopopt
|
|
(hop-by-hop オプションヘッダ)、
|
|
.Ar route
|
|
(ルーティングヘッダ)、
|
|
.Ar frag
|
|
(フラグメントヘッダ)、
|
|
.Ar esp
|
|
(暗号ペイロード)、
|
|
.Ar ah
|
|
(認証ヘッダ)、
|
|
.Ar nonxt
|
|
(次ヘッダなし)、そして
|
|
.Ar opts
|
|
(デスティネーションオプションヘッダ) です。
|
|
特定のオプションがないことは、
|
|
.Dq \&!
|
|
で表します
|
|
.Em ( "まだ動作していません" )
|
|
。
|
|
.It established
|
|
RST あるいは ACK ビットがセットされているパケットに
|
|
マッチします。
|
|
.It setup
|
|
SYN ビットはセットされているが ACK ビットがセットされていない
|
|
パケットにマッチします。
|
|
.It tcpflags Ar spec
|
|
TCP ヘッダに、
|
|
.Ar spec
|
|
で指定されたコンマ区切りのフラグリストの要素が含まれていれば
|
|
マッチします。
|
|
サポートしている TCP フラグは以下の通りです。
|
|
.Ar fin ,
|
|
.Ar syn ,
|
|
.Ar rst ,
|
|
.Ar psh ,
|
|
.Ar ack ,
|
|
そして
|
|
.Ar urg
|
|
です。
|
|
特定のフラグがないことは
|
|
.Dq \&!
|
|
を使って表します。
|
|
.Ar tcpflags
|
|
指定を含んだルールは、
|
|
0 でないオフセットを持ったフラグメントパケットには
|
|
絶対にマッチしません。
|
|
フラグメントパケットへのマッチに関する詳細は
|
|
.Ar frag
|
|
オプションを参照してください。
|
|
.It icmptypes Ar types
|
|
ICMPv6 のタイプが
|
|
.Ar types
|
|
リスト中にあればマッチします。
|
|
リストには、範囲と、個々のタイプをコンマで区切ったものを、
|
|
任意に組み合わせて指定できます
|
|
.El
|
|
.Sh チェックリスト
|
|
ここには、あなたがルールをデザインする際に考慮すべき
|
|
重要なポイントをいくつか述べてあります。
|
|
.Bl -bullet -offset flag
|
|
.It
|
|
入力および出力パケットの両方をフィルタするのだということを
|
|
忘れないでください。ほとんどの接続には両方向のパケットが
|
|
必要です。
|
|
.It
|
|
とても注意深くテストするのを忘れないでください。
|
|
テストする際にはコンソールの近くで行うというのが良いアイデアです。
|
|
.It
|
|
ループバックインタフェースを忘れないでください。
|
|
.El
|
|
.Sh 微調整
|
|
ファイアウォールが常に破棄するパケットが 1 種類あります。
|
|
それは、フラグメントオフセット 1 を持った IPv6 フラグメントです。
|
|
これは正しいパケットですが、使用方法は 1 つだけです。
|
|
それは、ファイアウォールの抜け道を探そうとすることです。
|
|
.Pp
|
|
ネットワーク越しにログインしている場合は、
|
|
.Nm
|
|
の KLD バージョンをロードするのは、おそらく
|
|
あなたが思っているほどには簡単ではないでしょう
|
|
.Em ( "サポートされていません " )
|
|
。
|
|
次のようなコマンド行を推奨します。
|
|
.Bd -literal -offset center
|
|
kldload /modules/ip6fw_mod.o && \e
|
|
ip6fw add 32000 allow all from any to any
|
|
.Ed
|
|
.Pp
|
|
同様の状況で、同じ行で
|
|
.Bd -literal -offset center
|
|
ip6fw flush
|
|
.Ed
|
|
.Pp
|
|
を行うことも良くないアイデアです。
|
|
.Sh パケット変換
|
|
サポートされていません。
|
|
.Sh 使用例
|
|
このコマンドは、
|
|
.Em hacker.evil.org
|
|
から
|
|
.Em wolf.tambov.su
|
|
の telnet ポートへの TCP パケットすべてを、このホストで
|
|
フォワードしないようにします。
|
|
.Pp
|
|
.Dl ip6fw add deny tcp from hacker.evil.org to wolf.tambov.su 23
|
|
.Pp
|
|
次のコマンドは、hackers ネットワーク全体から自ホストへの接続を
|
|
何であれ禁止します。
|
|
.Pp
|
|
.Dl ip6fw add deny all from fec0::123:45:67:0/112 to my.host.org
|
|
.Pp
|
|
これは、カウント値の記録とタイムスタンプ情報を表示するための
|
|
リストコマンドの良い使用例です。
|
|
.Pp
|
|
.Dl ip6fw -at l
|
|
.Pp
|
|
あるいは、タイムスタンプなしの、短い形式のものは
|
|
.Pp
|
|
.Dl ip6fw -a l
|
|
です。
|
|
.Sh 関連ファイル
|
|
.Xr ip 4 ,
|
|
.Xr ipfirewall 4 ,
|
|
.Xr protocols 5 ,
|
|
.Xr services 5 ,
|
|
.Xr reboot 8 ,
|
|
.Xr sysctl 8 ,
|
|
.Xr syslogd 8
|
|
.Sh バグ
|
|
.Em 注意 !! 注意 !! 注意 !! 注意 !!
|
|
.Pp
|
|
このプログラムは、あなたのコンピュータをかなり使えない状態
|
|
にしてしまう可能性があります。初めて使用する際には、
|
|
コンピュータのコンソールで作業してください。また、
|
|
理解していないことは何も
|
|
.Em しないでください
|
|
。
|
|
.Pp
|
|
チェーンエントリを操作 / 追加する際には、サービス名および
|
|
プロトコル名は受け付けられません。
|
|
.Sh 作者
|
|
.An Ugen J. S. Antsilevich ,
|
|
.An Poul-Henning Kamp ,
|
|
.An Alex Nash ,
|
|
.An Archie Cobbs
|
|
です。
|
|
.Pp
|
|
.An -nosplit
|
|
API は、BSDI 用に
|
|
.An Daniel Boulet
|
|
が書いたコードに基いています。
|
|
.Sh 歴史
|
|
.Nm
|
|
は最初に
|
|
.Fx 4.0
|
|
で登場しました。
|