BOOTPD(8) — NEWS-OS Programmer’s Manual
名称
bootpd, bootptab − ブートプロトコルサーバ
形式
/etc/bootpd [ −s −t timeout −d ] [ configfile [ dumpfile ] ]
解説
bootpd は、RFC951 および RFC1048 に規定されている、 インターネットブートプロトコルに関するリクエストを処理するためのデーモンです。 通常、 ユーザによって直接起動されることはなく、 リクエストがあった時点で /etc/inetd から間接的に起動されます。 NEWS-OS の場合、 /etc/inetd.conf の中の bootpd に関する記述はコメントアウトされていますので、 bootpd を使う場合、 この行のコメントをはずして下さい。
boopsdgramudpwaitroot/etc/bootpdbootpd
bootpd はリクエストがあって一度 inetd から起動されると、 15 分間は終了せずに次のリクエストを待って待機の状態に入ります。 15 分を超えてもリクエストが来ない場合、 システムのリソースを節約するために自動的に終了してしまいます。 −t オプションはこのタイムアウト時間を変更するために用いられます。 単位は分で指定します。
また、 inetd から間接的にではなく、 −s オプションを指定してユーザが直接起動することもできます。 この場合、 −t オプションは無効となります。
−d オプションにより、デバッグのための診断が syslog に対して送られるようになります。 通常、指定する必要はありません。
bootpd は起動後、 まずコンフィギュレーションファイル /etc/bootptab を読み込み、その後にクライアントからのリクエストパケットを待ちます。 /etc/bootptab は termcap(5) 型のテキストファイルで、 クライアント(主としてディスクレスクライアント)のブート方法を記述します。 内容はコロンで区切られたフィールドの並びから構成され、 一般的なフォーマットは
hostname:tg=value...: tg=value...:tg= value....
となります (termcap(5) 参照)。 ここで、 hostname はクライアントのホスト名、 tg は 2 文字のタグシンボルを表します。 ほとんどのタグには = とその機能に対する値が続きまが、 bool 型のタグは値を持たず、単に :tg: のように記述されます。 以下に有効なタグシンボルとその意味、 機能を示します。
bfブートプログラム名
bsブートプログラムのサイズ(ブロック数)
dsドメイン名サーバのアドレスリスト
gwゲートウェイのアドレスリスト
haハードウェアアドレス
hdブートプログラムのホームディレクトリ
htハードウェアタイプ(RFC の規定参照のこと)
imImpress サーバのアドレスリスト
ipIP アドレス
lgログサーバのアドレスリスト
lpLPR サーバのアドレスリスト
nsIEN-116 ネームサーバのアドレスリスト
rsResource location protocol サーバのアドレスリスト
smサブネットマスク
tcテンプレートホストエントリの指定
toUTC からのタイムオフセット(秒)
tsTime サーバのアドレスリスト
cs、 ds、 gw、 im、 lg、 lp、 ns、 rl および ts には、 空白で区切られた 2 つ以上の IP アドレスを記述することができますが、 ip および sm に関しては 1 つの IP アドレスしか記述できません。 全ての IP アドレスの記述は . で区切られた 10 進、8 進あるいは 16 進数 の並びからなる、 インターネット標準の表記方法で行います(0 で始まる数字は 8 進数、 0x または 0X で始まる数字は 16 進数とみなされます)。
ht にはネットワークハードウェアのタイプを記述します。 値は RFC で規定された数値、 または以下のシンボルネームを用います。
ethernet または ether10Mb Ethernet
ethernet3 または ether33Mb Ethernet
ieee802、tr または token-ringIEEE-802 network
pronetProteon ProNET Token Ring
chaosChaos
arcnetARCNET
ax.25AX.25 Amateur Radio network
ha には 16 進数で表されたハードウェアアドレスを記述します。 読みやすさを考慮して 0x を付加することもできます。 なお、 ht タグは ha タグに先立って記述されていなけてばなりません。
ホスト名、 ホームディレクトリおよびブートプログラム名は文字列で記述します。
ブートプログラムファイルが絶対パスを使って記述された場合、 そのパス名がそのままリプライパケットで返されます。 相対パスで記述された場合は hd と bf の内容から絶対パス名が作られます。 ブートファイルがサーバマシンに存在しない場合、 リクエストパケットは無視され、 リプライは行われません。 ブートファイル名が指定されていない場合は、 必ずリプライが行われます。
いずれにしても、 リプライパケットでブートプログラムファイルのフィールドが空でない場合は、 ブートプログラムが存在して読み出しが許可されていることを示し、 tftp(8) を使ってクライアントがブトプログラムをロードできることを示しています。
to にはクライアントの UTC からのタイムゾーンオフセットを秒で指定します (符号付きの 10 進数)。 秒数のかわりにキーワード auto を指定すると、 サーバのタイムゾーンオフセットが用いられます。 また、値を指定せずに to のみを記述した場合、 キーワード auto を指定した場合と同じ効果が得られます。
ブートプログラムファイルのサイズ bs は 10 進、8 進または 16 進数を用い、 ブロック数 (512 バイト/ブロック) で指定します。 キーワード auto を指定した場合、 実際のサイズから自動的に値が設定されます。 to の場合同様、 bool 型として bs だけを記述した場合、 auto と同じ効果が得られます。
複数のホストエントリで共通の同じ値を持ったタグを扱うために、 termcap(5) と同様、 tc を使うことが可能です。 また、 tc によって定義されたタグの内容を無効にしたい場合、 :tag@: の形式を指定します。 これによって無効にされたタグは、 その後で新たに別の値で定義し直すことも可能です。
空白行と # で始まるコメント行は無視されます。 複数のホストエントリは改行によって区切られます。 行末の \ はエントリが次の行に続いていることを示し、 これにより、 一つのホストエントリを複数行にわけて書くことが可能です。 ホスト名が必ず始めになければいけないことと、 ハードウェアタイプがハードウェアアドレスより先に記述されなければならない ことを除き、 各タグの記述順序には制限はありません。
/etc/bootptab の記述例:
# Sample bootptab file
default1:\
:hd=/usr/boot:bf=null:\
:ds=128.2.35.50 128.2.13.21:\
:ns=0x80020b4d 0x80020ffd:\
:ts=0x80020b4d 0x80020ffd:\
:sm=255.255.0.0:gw=0x8002fe24:\
:hn:vm=auto:to=-18000:\
:T37=0x12345927AD3BCF:T99="Special ASCII string":
carnegie:ht=6:ha=7FF8100000AF:ip=128.2.11.1:tc=default1:
baldwin:ht=1:ha=0800200159C3:ip=128.2.11.10:tc=default1:
wylie:ht=1:ha=00DD00CADF00:ip=128.2.11.100:tc=default1:
arnold:ht=1:ha=0800200102AD:ip=128.2.11.102:tc=default1:
bairdford:ht=1:ha=08002B02A2F9:ip=128.2.11.103:tc=default1:
bakerstown:ht=1:ha=08002B0287C8:ip=128.2.11.104:tc=default1:
# Special domain name server for next host
butlerjct:ht=1:ha=08002001560D:ip=128.2.11.108:ds=128.2.13.42:tc=default1:
gastonville:ht=6:ha=7FFF81000A47:ip=128.2.11.115:tc=default1:
hahntown:ht=6:ha=7FFF81000434:ip=128.2.11.117:tc=default1:
hickman:ht=6:ha=7FFF810001BA:ip=128.2.11.118:tc=default1:
lowber:ht=1:ha=00DD00CAF000:ip=128.2.11.121:tc=default1:
mtoliver:ht=1:ha=00DD00FE1600:ip=128.2.11.122:tc=default1:
bootpd はポート番号を得るために /etc/services ファイルを読み込みます。 bootps はサーバのリクエスト受け付けポートを、 bootpc はクライアントへのリプライポートを示します。
bootpd にハングアップシグナルを送ることで、 コンフィギュレーションファイルの読み直しが行われます。 また、 リクエストパケットを受信した時、 コンフィギュレーションファイルがアップデートされたことを検知した場合にも コンフィギュレーションファイルの読み直しが行われます。
関連ファイル
/etc/bootptab bootpd コンフィギュレーションファイル
/etc/services サービス名データベース
関連事項
inetd(8)
DARPA Internet Request For Comments RFC951, RFC1048, RFC1084, Assigned Numbers
バグ
コンフィギュレーションファイルの記述は 1 行 1024 文字以内である必要があります。
NEWS-OSRelease 4.2.1R