301 lines
7.4 KiB
Groff
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
|