.\" Copyright (c) 1988, 1989, 1991 Carnegie Mellon University .\" .\" %FreeBSD: src/libexec/bootpd/bootpd.8,v 1.10.2.5 2001/07/22 12:07:21 dd Exp % .\" $FreeBSD: doc/ja_JP.eucJP/man/man8/bootpd.8,v 1.13 2001/07/29 05:15:27 horikawa Exp $ .\" .Dd November 6, 1993 .Dt BOOTPD 8 .Os .Sh 名称 .Nm bootpd , bootpgw .Nd インターネットブートプロトコルサーバ/ゲートウェイ .Sh 書式 .Nm .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 強制的にスタンドアローンモードにします。 このオプションは時代遅れですが、 古いバージョンの .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 -split .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