戻る | 進む | 目次

Diskless NetBSD HOW-TO, bootpd サーバーの設定

Internet Bootstrap Protocol は、いくつかのワークステーションの ROM が IP アドレスとブートローダーのファイル名を得るために使われています。 bootpd は inetd 経由のサービスとしてでもスタンドアローン (/etc/rc.local などから起動される) としてでも動作できます。 このページでは、 inetd 経由のサービスとしての設定方法だけを扱います。

多くの DHCP サーバーは BOOTP のリクエストを処理します。 もし bootpd に問題があれば、 dhcpd のページに従って dhcp デーモンを設定してみてください。 bootpd を使おうとする場合は、 bootpd の実行の妨げになるので、 dhcpd がシステム上で動作していないようにしてください。

多くの bootp の実装は、 bootp サーバーに要求を送ってその結果を表示するテスト用のユーティリティー (bootptest or bootpquery) を持っています。 もし問題が起きたら、そのようなプログラムを他の unix マシンから使ってみてください (/etc/bootptab ファイルに記されている クライアントのイーサネットアドレスと IP アドレスを変更する必要があります) 。

/etc/bootptab ファイルの書式はどのプラットフォームでも同じです。 各クライアント毎にひとつのエントリーがあります。 次のようにエントリーを作成 (あるいは追加) します (boot.netbsd はプラットフォームに応じて変更します):

#/etc/bootptab
client.test.net:\
        :ht=ether:\
        :ha=CCCCCCCCCCCC:\
        :sm=255.255.255.0:\
        :lg=192.168.1.5:\
        :ip=192.168.1.10:\
        :hn:\
        :bf=[/tftpboot/]boot.netbsd:\   # 下の註を参照
        :bs=auto:\
        :rp=/export/client/root/:\
        :vm=auto:                       # next ハードウェア用: 下の註を参照
        :vm=rfc1048:                    # alpha ハードウェア用: 下の註を参照

いくつかの tftp デーモンは chroot されずに実行され、 ブートファイルに完全なパスを列挙する必要があることに注意してください。 のちのち失敗することのないよう、あらかじめ コマンドラインから tftp クライアントでテストすることをおすすめします。

NeXT: NeXT クライアントでは、 "vendor magic" タグを "auto" に設定するために vm=auto の行が必要なことに注意してください。

alpha: SRM 7.0 を持つ alpha では "vendor magic" タグを "rfc1048" に設定する必要があることに注意してください。

vax: Vax は以下に掲げるパラメーターだけを要求することに注意してください: ht, ha, ip, bf, rp.

NetBSD での bootpd の設定
OpenBSD での bootpd の設定
FreeBSD での bootpd の設定
Mac OS X と Darwin での bootpd の設定
Linux での bootpd の設定
SunOS での bootpd の設定
Solaris での bootpd の設定
NEWS-OS での bootpd の設定
NEXTSTEP での bootpd の設定 (動作させられませんでした)
HP-UX での bootpd の設定

[もし、これら以外のプラットフォームについて詳しくご存知なら、 ぜひお知らせください]

もしあなたの OS がここに挙がっていなければ、 bootpd をソースからコンパイルしてみてください: bootp-DD2.4.3.tar.gz 。また、 ISC の dhcpd も、多くのプラットフォーム上で コンパイルして bootp クライアントへのサービスを行えます。


NetBSDOpenBSD

  1. /etc/inetd.conf から下記の行の # を削除します:
    bootps          dgram   udp     wait    root    /usr/sbin/bootpd        bootpd

  2. # ps -aux | grep inetd
    kill -HUP でプロセスに /etc/inetd.conf を読み直させます。

tftpd の設定に進む。


FreeBSD

FreeBSD には bootpd があります。詳細は man page を 御覧下さい。

tftpd の設定に進む。


Mac OS X と Darwin

Mac OS X と Darwin は、 bootpd の設定に NetInfo を使います。残念ながら、 これは NetBSD クライアントをネットブートさせるだけに十分な情報は提供しないようです (特にルートのパス)。 man ページによれば通常のコンフィギュレーションファイルを 読むことができるとありますが、この記述は間違いです。 もし適切な設定方法を解明したら、どうか フィードバックをお送りいただきお知らせください。

bootp クライアント用として使える ISC dhcpd をコンパイルする方法があります。 dhcpd は、お使いのシステムを他の Mac OS X または Darwin クライアントのネットブート用に使っている場合、 bootpd と衝突するかもしれません。

このページの先頭へ戻る


Linux

Linux では /usr/sbin/in.bootpd/usr/sbin/bootpd があるかもしれません。調べて、 /etc/inetd.conf の修正箇所を適切に読みかえてください。

  1. /etc/inetd.conf から下記の行の # を削除します:
    bootps dgram   udp     wait    root    /usr/sbin/bootpd        bootpd

  2. # ps aux | grep inetd
    kill -HUP でプロセスに /etc/inetd.conf を読み直させます。

tftpd の設定に進む。


SunOS

SunOS では bootpddhcpd をソースからコンパイルする必要があります。

  1. bootp-DD2.4.3.tar.gz をダウンロードして展開します。

  2. # make sunos4

  3. # make install

  4. /etc/services に下記の 2 行を追加します:
            bootps          67/udp          bootp           # BOOTP Server
            bootpc          68/udp                          # BOOTP Client

  5. /etc/inetd.conf に下記の行を追加します:
    bootps dgram udp wait root /usr/etc/bootpd bootpd -i

  6. # ps aux | grep inetd
    kill -HUP でプロセスに /etc/inetd.conf を読み直させます。

tftpd の設定に進む。


Solaris

Solaris 2.6 以降には dhcpd が含まれています。 それより前のバージョンでは、 bootpddhcpd をソースからコンパイルする必要がありま す。

  1. bootp-DD2.4.3.tar.gz をダウンロードして展開します。

  2. # make sunos5

  3. # make install

  4. /etc/services に下記の 2 行を追加します:
            bootps          67/udp          bootp           # BOOTP Server
            bootpc          68/udp                          # BOOTP Client

  5. /etc/inetd.conf に下記の行を追加します:
    bootps dgram udp wait root /usr/etc/bootpd bootpd -i

  6. # ps -ef | grep inetd
    kill -HUP でプロセスに /etc/inetd.conf を読み直させます。

tftpd の設定に進む。


NEWS-OS

  1. /etc/inetd.conf から、 bootps のある行頭の # を削除します。 bootpd のパスは /usr/etc/bootpd です。

  2. # ps -aux | grep inetd
    kill -HUP でプロセスに /etc/inetd.conf を読み直させます。

tftpd の設定に進む。


NEXTSTEP

NEXTSTEP は非標準の bootptab を使い、 bootpd をスタンドアローンで動かしています。 'nidump' ユーティリティーは、 NEXTSTEP が使う netinfo データベースの ロードと展開に使えます。これを正しく設定する方法を、 フィードバックを送って 私たちに教えてください。

注意: ISC dhcpd のコンパイル済バージョンがあり、 bootp クライアントに対してうまく動作するはずです。 Peanuts のアーカイブを見てください。

  1. # ps -aux | grep bootpd
    もし走っていたら、 kill -HUP でプロセスに /etc/bootptab を読み直させます。
    もし走っていなければ、動かす必要があります:
    # /usr/etc/bootpd

このページの先頭へ戻る


HP-UX

HP-UX 9 までの標準の bootpd は NetBSD クライアントに完全対応しておらず、 ルート NFS パスを設定する rp タグに対応していません。 また、私は HP-UX 9 で bootpddhcpd をソースからうまく コンパイルできませんでした。

HP-UX 10 にはしっかりした bootp サーバーがあります。

  1. /etc/inetd.conf から下記の行の # を削除します:
    bootps      dgram  udp wait   root /usr/lbin/bootpd      bootpd

  2. # ps -ef | grep inetd
    kill -HUP でプロセスに /etc/inetd.conf を読み直させます。

tftpd の設定に進む。


戻る | 進む | 目次
NetBSD ホームページ
NetBSD Documentation top level

(連絡先 - 英語, 日本語: www@jp.NetBSD.org)
$NetBSD: bootpd.html,v 1.3 2007/08/01 15:36:01 kano Exp $
Copyright © 1998-2004 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.