doc/documentation/manual-pages/ja/man8/bootpd.8
Sergio Carlavilla Delgado 989d921f5d Migrate doc to Hugo/AsciiDoctor
I'm very pleased to announce the release of
our new website and documentation using
the new toolchain with Hugo and AsciiDoctor.

To get more information about the new toolchain
please read the FreeBSD Documentation Project Primer[1],
Hugo docs[2] and AsciiDoctor docs[3].

Acknowledgment:
Benedict Reuschling <bcr@>
Glen Barber <gjb@>
Hiroki Sato <hrs@>
Li-Wen Hsu <lwhsu@>
Sean Chittenden <seanc@>
The FreeBSD Foundation

[1] https://docs.FreeBSD.org/en/books/fdp-primer/
[2] https://gohugo.io/documentation/
[3] https://docs.asciidoctor.org/home/

Approved by:    doceng, core
2021-01-26 00:31:29 +01:00

309 lines
7.6 KiB
Groff

.\" Copyright (c) 1988, 1989, 1991 Carnegie Mellon University
.\"
.\" %FreeBSD: src/libexec/bootpd/bootpd.8,v 1.20 2004/07/02 21:28:48 ru Exp %
.\" $FreeBSD$
.\"
.Dd February 10, 2004
.Dt BOOTPD 8
.Os
.Sh 名称
.Nm bootpd , bootpgw
.Nd インターネットブートプロトコルサーバ/ゲートウェイ
.Sh 書式
.Nm
.Op Fl i | s
.Op Fl c Ar chdir-path
.Op Fl d Ar level
.Op Fl h Ar hostname
.Op Fl t Ar timeout
.Oo
.Ar bootptab
.Op Ar dumpfile
.Oc
.Nm bootpgw
.Op Fl i | s
.Op Fl d Ar level
.Op Fl h Ar hostname
.Op Fl t Ar timeout
.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 Ar chdir-path
クライアントのブートファイルの存在とサイズを検査する間に
.Nm
で使われるカレントディレクトリを設定します。
クライアントのブートファイルが相対パス名で指定されていて、
.Nm
が TFTP サーバと同じカレントディレクトリ (典型的には
.Pa /tftpboot )
を必要とするときに有用です。
このオプションは
.Nm bootpgw
によっては認識されません。
.It Fl h Ar hostname
接続を待っている IP アドレスに対応するホスト名を指定します。
デフォルトでは
.Nm
.Xr gethostname 3
が返すマシンのホスト名に対応する IP アドレスで待ちます。
.It Fl i
強制的に inetd モードにします。
このオプションは時代遅れですが、古いバージョンの
.Nm
との互換性のために残してあります。
.It Fl s
強制的にスタンドアローンモードにします。
このオプションは時代遅れですが、
古いバージョンの
.Nm
との互換性のために残してあります。
.It Ar bootptab
.Nm
がロードする
設定ファイルの名前を指定します
.No ( Nm
のみ)。
これはあらかじめ知っているクライアントと
そのクライアントのオプションに関するデータベースです。
.It Ar dumpfile
.Nm
が、SIGUSR1 シグナルを受信したときに
内部データベースをダンプするファイルの名前を指定します
.No ( Nm
のみ)。
このオプションは
.Nm
が -DDEBUG フラグ付きでコンパイルされたときだけ認識されます。
.It Ar server
.Nm bootpgw
が受信した全ての BOOTREQUEST パケットを転送する、
BOOTP サーバの名前を指定します
.Pf ( 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