doc/ja/man/man8/bootpd.8
Jun Kuriyama 88a4de0fb8 Catch up to 3.0-19980827-SNAP and some fixes.
Submitted by:	Kazuo Horikawa <k-horik@yk.rim.or.jp>
1998-09-26 06:20:22 +00:00

301 lines
7.4 KiB
Groff

.\" Copyright (c) 1988, 1989, 1991 Carnegie Mellon University
.\"
.\" %Id: bootpd.8,v 1.9 1998/06/03 04:21:33 jkoshy Exp %
.\" jpman %Id: bootpd.8,v 1.4 1997/10/11 07:39:12 horikawa Stab %
.\"
.Dd November 06, 1993
.Dt BOOTPD 8
.Os "Carnegie Mellon University"
.Sh 名称
.Nm bootpd , bootpgw
.Nd インターネットブートプロトコルサーバ/ゲートウェイ
.Sh 書式
.Nm bootpd
.Op Fl i
.Op Fl s
.Op Fl t Ar timeout
.Op Fl d Ar level
.Op Fl c Ar chdir-path
.Oo
.Ar bootptab
.Op Ar dumpfile
.Oc
.Nm bootpgw
.Op Fl i
.Op Fl s
.Op Fl t Ar timeout
.Op Fl d Ar level
.Ar server
.Sh 解説
.Nm
は RFC951, RFC1532, RFC1533 で定義された
インターネットブートプロトコル (BOOTP) サーバを実装したものです。
.Nm bootpgw
は、要求と応答を、あるサブネット上のクライアントと、
別のサブネット上の BOOTP サーバ (すなわち
.Nm
) との間で転送するのに使われる、単純な BOOTP ゲートウェイを実装しています。
.Nm
または
.Nm bootpgw
は BOOTREPLY パケットを転送しますが、
.Nm bootpgw
だけが BOOTREQUEST パケットを転送します。
.Pp
各々のネットワークセグメントにつき、通常一つのホストで、
以下の行のどれかをファイル
.Pa /etc/inetd.conf
に含めることにより、
.Nm
あるいは
.Nm bootpgw
.Xr inetd 8
から起動されるように設定されます:
.Pp
.Dl bootps dgram udp wait root /usr/libexec/bootpd bootpd /etc/bootptab
.Dl bootps dgram udp wait root /usr/libexec/bootpgw bootpgw server
.Pp
この動作モードは「inetd モード」と呼ばれ、
ブート要求が到着した時にだけ
.Nm
(あるいは
.Nm bootpgw
) を開始します。
もし最後にパケットを受信してから 15 分以内に別のパケットを受信しないのなら、
システムの資源を浪費しないように終了します。
.Fl t
オプションがこのタイムアウト時間を制御します (オプション参照)。
.Pp
他の通常のコマンドのように単にシェルから起動することで、
.Nm
(あるいは
.Nm bootpgw
) を「スタンドアローンモード」(
.Xr inetd 8
なし) で実行することも可能です。
.Nm
が大きなコンフィギュレーションデータベースのもとで使われる時には、
inetd モードでの起動時の遅延が
クライアントの要求に対する素早い応答を妨げるので、
スタンドアローンモードは特に役に立ちます。
(例えば
.Pa /etc/rc.local
から
.Nm
を呼びだすことによって、
スタンドアローンモードで自動的に起動することができます)
.Nm bootpgw
は設定ファイルを読まないので、
起動時の遅延はかなり小さく、
スタンドアローンモードはあまり役に立ちません。
.Pp
どちらのプログラムも、inetd から呼び出されたかシェルから呼び出されたかを
自動的に検出し、自動的に適当なモードを選択します。
.Fl s
.Fl i
オプションは各々、スタンドアローンモードと inetd モードを強制するのに
使います (オプション参照)
.Sh オプション
以下のオプションを使用可能です:
.Bl -tag -width indent
.It Fl t Ar timeout
.Nm
あるいは
.Nm bootpgw
プロセスが終了する前に BOOTP パケットを待つ
.Ar timeout
値 (分単位) を指定します。
もし
.Ar timeout
分内にパケットを受信しなければ、プログラムは終了します。
timeout の値が 0 の場合は「永遠に実行する」という意味です。
スタンドアローンモードでは、このオプションは 0 に強制されます。
.It Fl d Ar debug-level
生成されるデバッグメッセージの量を制御する変数
.Ar debug-level
を設定します。
例えば、
.Fl d Ns 4
.Fl d
4 では、デバッグレベルが 4 に設定されます。
古いバージョンの
.Nm
との互換性のため、数字のパラメータを省略 (つまり、
.Fl d
だけ) すると
単にデバッグレベルを一つだけ増加させます。
.It Fl c chdir-path
クライアントのブートファイルの存在とサイズを検査する間に
.Nm
で使われるカレントディレクトリを設定します。
クライアントのブートファイルが相対パス名で指定されていて、
.Nm
が TFTP サーバと同じカレントディレクトリ (典型的には
.Pa /tftpboot
) を必要とするときに有用です。
このオプションは
.Nm bootpgw
によっては認識されません。
.It Fl i
強制的に inetd モードにします。
このオプションは時代遅れですが、古いバージョンの
.Nm
との互換性のために残してあります。
.It Fl s
.B \-s
強制的にスタンドアローンモードにします。
このオプションは時代遅れですが、
古いバージョンの
.Nm
との互換性のために残してあります。
.It Ar bootptab
.Nm
がロードする
設定ファイルの名前を指定します (
.Nm
のみ)。
これはあらかじめ知っているクライアントと
そのクライアントのオプションに関するデータベースです。
.It Ar dumpfile
.Nm
が、SIGUSR1 シグナルを受信したときに
内部データベースをダンプするファイルの名前を指定します (
.Nm
のみ)。
このオプションは
.Nm
が -DDEBUG フラグ付きでコンパイルされたときだけ認識されます。
.It Ar server
.Nm bootpgw
が受信した全ての BOOTREQUEST パケットを転送する、
BOOTP サーバの名前を指定します (
.Nm bootpgw
のみ)。
.El
.Sh 操作
.Em bootps
ポートに送られたどんなパケットも取り込んで
どんな BOOTREPLY パケットも単純に転送するという点で
.Nm
.Nm bootpgw
の双方が似た動きをします。
BOOTREQUEST の扱いは違います。
.Pp
.Nm bootpgw
は動作開始時に、コマンド行パラメタとして名前を与えられた
BOOTP サーバのアドレスを決めます。
.Nm bootpgw
が BOOTREQUEST パケットを受信したとき、
パケットの「ゲートウェイアドレス」と「ホップ数」フィールドを設定し、
パケットを前に決めたアドレスの BOOT サーバへ転送します。
要求パケットは、
クライアントが少くとも 3 秒は待っているとパケットが示している時にだけ
転送されます。
.Pp
.Nm
は動作開始時に設定ファイル (通常
.Pa /etc/bootptab
) を読みこみます。
これで、あらかじめ知っているクライアントと
クライアントのオプションに関する内部データベースを初期化します。
この内部データベースは、
.Nm
が回線切断シグナル (SIGHUP) を受信したとき、
または設定ファイルが変更されたことを
発見したときに、再読み込みが行なわれます。
.Pp
.Nm
が BOOTREQUEST パケットを受信したとき、
クライアントの要求に一致するデータベースエントリを探します。
もしそのクライアントをあらかじめ知っていれば
.Nm
は前に見付けたデータベースエントリを使って BOOTREPLY パケットを構成し、
(ひょっとしたらゲートウェイを使って) クライアントに返答を送ります。
もしクライアントが未知ならば、(debug > 0 のときは注意を出して)
要求は捨てられます。
.Pp
.Nm
が -DDEBUG オプションでコンパイルされていれば、
SIGUSR1 シグナルを送ると内部データベースをファイル
.Pa /tmp/bootpd.dump
か、コマンド行パラメータで指定されたダンプファイルに
にダンプします。
.Pp
初期化の時どちらのプログラムも、
(普通は
.Pa /etc/services
を使う)
.Xr getservbyname 3
を呼ぶことで UDP ポート番号を決定します。
二つのサービス名 (とポート番号) が使われます:
.Pp
.Dl bootps \- BOOTP サーバ待機ポート
.Dl bootpc \- BOOTP クライアント届け先ポート
.Pp
もしポート番号が
.Xr getservbyname 3
を使って決定できないときには、
デフォルト値は bootps=67 と bootpc=68 です。
.Sh 関連ファイル
.Bl -tag -width /tmp/bootpd.dump -compact
.It Pa /etc/bootptab
.Nm
によって読み込まれるデータベースファイル。
.It Pa /tmp/bootpd.dump
.Nm
によって生成されるデバッグダンプファイル。
.It Pa /etc/services
インターネットサービス番号。
.It Pa /tftpboot
TFTP サーバと
.Nm
で使われる典型的カレントディレクトリ。
.El
.Sh バグ
各々のホストエントリは 1024 文字を越えてはいけません。
.Sh 功労者
この配布版は現在、
.An Walter L. Wimer Aq walt+@cmu.edu
によって
保守されています。
.Pp
オリジナルの BOOTP サーバは
スタンフォード大学の
.An Bill Croft
によって 1986 年 1 月に作成されました。
.Pp
現在のバージョンの
.Nm
は第一に、Carnegie Mellon University の
.An David Kovar ,
.An Drew D. Perkins ,
.An Walter L. Wimer
の仕事にるものです。
.Pp
機能拡張とバグフィクスは以下の方の貢献によります:
(アルファベット順)
.Pp
.An Danny Backx Aq db@sunbim.be ,
.An John Brezak Aq brezak@ch.hp.com ,
.An Frank da Cruz Aq fdc@cc.columbia.edu ,
.An David R. Linn Aq drl@vuse.vanderbilt.edu ,
.An Jim McKim Aq mckim@lerc.nasa.gov ,
.An Gordon W. Ross Aq gwr@mc.com ,
.An Jason Zions Aq jazz@hal.com .
.Sh 関連項目
.Xr bootptab 5 ,
.Xr inetd 8 ,
.Xr tftpd 8
.Pp
DARPA Internet Request For Comments:
.Bl -tag -width RFC1533 -compact
.It RFC951
Bootstrap Protocol
.It RFC1532
Clarifications and Extensions for the Bootstrap Protocol
.It RFC1533
DHCP Options and BOOTP Vendor Extensions
.El