BOOTP や DHCP が一体何のことだか分からなければ, DHCP の WWW サイト にある詳し い情報をご覧ください.NFS はこれとは別に NFS HOWTO で詳しく説明されて います.DHCP mini-HOWTO もあります.ここでは入門的なレベルの説明を行う つもりであり,それぞれの話題に関する突っ込んだ説明は行いません.話を簡 単にしすぎだと思われたら,筆者にお知らせください.
ここで説明する BOOTP/DHCP + NFS の構成を使ったインストールにおいては, KickStart の設定ファイルは BOOTP/DHCP サーバ上の /kickstart/IPADDR-kickstart からインストール対象のマシンに NFS でマウントできなければなりません.ここで IPADDR は新しい マシンの IP アドレスです.例えば, /kickstart/198.168.254.254-kickstart はマシン 198.168.254.254 用の設定ファイルです.
BOOTP/DHCP の応答で bf
(boot file)パラメータを返すことによって
この位置を上書きすることができるはずです.このファイルは全く別のマシン
から NFS マウントすることもできると思います.
既存の Linux マシンからディレクトリを NFS エクスポートするには,以下の ような内容のファイル /etc/exports を作成します:
/kickstart *.swedish-chef.org(ro,no_root_squash)
/mnt/cdrom *.swedish-chef.org(ro,no_root_squash)
使う予定の IP を DNS に登録していない場合には,NFS サーバや RPC ポート マッパから見えないと言われるかもしれないので注意してください.このよう な場合には,IP アドレスとネットマスクの組を設定ファイルに書けばなんと かなります.記述例を以下に示します:
/kickstart 198.168.254.0/255.255.255.0(ro,no_root_squash)
/etc/hosts.allow には以下の記述を行います:
ALL: 194.82.103.0/255.255.255.0: ALLOW
このようなことが起こるのは,大部分の Linux ディストリビューションは NFS 関係デーモンの一部あるいは全てにおいて TCP wrappers を使ってアクセ ス制御を行っているためです./etc/exports の文法は他の UNIX 系 OS と異なることが多いので注意してください.各 Linux ディストリビューショ ンに入っている NFS サーバは,他の UNIX に入っている NFS サーバよりも広 範囲に渡るオプションを持っていることがよくあります.
KickStart の設定ファイルに root のパスワードが書かれている場合や, 機密情報が入っているディレクトリを NFS でエクスポートする場合には,こ の情報を見せる人間をできるだけ少なくすべきである点に注意してください. これは NFS のエクスポート許可できるだけ絞り込むことによって行うことが できます.例えば,エクスポートの指定をドメイン全体でなく特定のホストや サブネットに対して行う等の方法です.KickStart を使ったインストール用に 自由に使える IP アドレスがあれば,問題もなく簡単に作業できますが,後で IP アドレスを変更するか,あるいは BOOTP/DCHP を使って IP アドレスを使 うようにマシンの設定を変更しなければならないでしょう.
ほとんどの NFS サーバでは /etc/exports を変更したことを
mountd
と nfsd
(一部の UNIX では名前の先頭に
"rpc.
" が付いています)に教えてやる必要があります.変更の通知
は普通,SIGHUP
を送ることによって行います.変更の通知を行うた
めの exportfs
と呼ばれるプログラムまたはスクリプトが用意され
ていることもあります.実行例を以下に示します:
# exportfs -a
このマシンが起動した時に NFS が起動,実行されていなければ,このディレ クトリは自動的にはエクスポートされません.試しに再起動するか,root に なって以下のプログラムを実行してください:
# portmap
# rpc.nfsd
# rpc.mountd
前に書いたように,一部のシステムでは rpc.
というプレフィック
スは使われません.最近の UNIX ディストリビューションのほとんどでは,こ
れらのプログラムは /usr/sbin ディレクトリまたは
/usr/libexec ディレクトリにあります.これらのディレクトリはパ
スには入っていないかもしれません(su
を使って
root になった場合など).portmap
プログラムは
rpcbind
という名前のこともあります.例えば,Solaris の一部の
バージョンの nfsd
は実行するサーバの数をコマンドライン引き数
で指定しなければならず,biod
と呼ばれる別のデーモンを起動しな
ければならないこともあります.以上の説明で大部分(全て?)の Linux システ
ムを満足させられるはずです.
CMU 版の BOOTP サーバで DHCP と動的アドレス割り当て拡張(前述)を用いる 場合には,/etc/bootptab エントリ(/etc/bootptab は BOOTP/DHCP 設定ファイルの通常の位置に置かれます)の例は以下のようになる でしょう:
.dynamic-1:ip=198.168.254.128:T254=0x30:T250="ds=198.168.254.2:
dn=swedish-chef.org:sm=255.255.255.0:gw=198.168.254.1:
dl=0xFFFFFFFF":
(見やすくするために行を折り返しています)
ここに書かれているのは,新しいマシンを見つける度に IP アドレスを動的 に割り当てること,割り当てるアドレスは 198.168.254.128 から始 まる連続した 48 個(16 進値で 30)のアドレスであることです.各 クライアントには T250 の値が返されます.この例では以下のよう な設定が行われます:
ds
に 198.168.254.2 を設定dn
に swedish-chef.org を設定sm
に 255.255.255.0 を設定gw
に 198.168.254.1 を設定dl
(アドレスが有効な期間)に「無期限」を設定
現在使われている CMU 版のサーバには,動的アドレス割り当てをサポートし ていないバージョンもたくさんあるようです.このような場合には,インストー ルするマシンのハードウェアアドレス(通常はイーサネットの MAC アドレス) を /etc/bootptab に列挙しなければならないでしょう.このファイ ル中でのエントリは以下のようになると思います:
bork.swedish-chef.org:ip=198.168.254.128:ha=0000E8188E56:
ds=198.168.254.2:dn=swedish-chef.org:sm=255.255.255.0:
gw=198.168.254.1:dl=0xFFFFFFFF":
(見やすくするために折り返しています)
パラメータ ha
は,インストール先のマシンのハードウェアアドレ
スに対応する点に注意してください.