3. DHCP サーバーと TFTP サーバーの設定

DHCP サーバーは Grub (BOOTP) をブートし、 その後で Linux をブートする際、 クライアントに IP アドレスを提供するのに必要なものです。 TFTP サーバーは、Linux のブート用に、 ネットワークで利用でできるブートイメージを作成するのに必要になります。 ディスクイメージの保存/リストアを可能にする際にも、 TFTP サーバーは必要になります。

3.1. DHCP の設定

DHCP の詳細は本文書の範疇を越えます。 "Linux Networking HOWTO" に DHCP の章があります。

DHCP の設定は非常に簡単です。 でも、他の人が管理しているネットワークにいる場合は、 動作中の DHCP サーバーを使う方が賢明です。 自分でネットワークを管理しているのなら、 この手順にしたがってもかまいません。

まだ DHCP をインストールしていない場合は、 rpm パッケージからインストールして下さい。 普通は Linux のディストリビューションの中に見つかります。

# rpm -ihv dhcp-*.rpm
			

/etc/dhcpd.conf ファイルを編集して、 DHCP サービスを設定して下さい。 本文書中の設定は、 サーバーの IP アドレスが 10.0.0.1 で、 253 台までのクライアントに IP アドレスを提供します。 自分の環境に応じて、 /etc/dhcpd.conf を設定して下さい。

#/etc/dhcpd.conf
server-identifier dhcp.clonedomain.com;
default-lease-time	172800;
max-lease-time		604800;
option domain-name	"clonedomain.com";
subnet 10.0.0.0 netmask 255.255.255.0 {
	range dynamic-bootp 10.0.0.2 10.0.0.254;
}
			

dhcpd サーバーのスタート

/etc/rc.d/init.d/dhcpd start.

3.2. TFTP の設定

TFTP の設定も、DHCP とほとんど同じくらい簡単です。

まず、rpm パッケージからインストールします。

# rpm -ihv tftp-server-*.rpm
			

そして、ファイルを格納するディレクトリを作ります。

# mkdir /tftpboot
# chown nobody:nobody /tftpboot
			

nobody というのは、 ftfpd がファイルをアクセスする際に設定する、 ディフォルトのユーザー ID になるので、 /tftpboot というディレクトリの所有者は、 nobody にします。

/etc/xinetd.d/tftp ファイルを次のように編集します。

service tftp
{
	socket_type	= dgram
	protocol	= udp
	wait		= yes
	user		= root
	server		= /usr/sbin/in.tftpd
	server_args	= -c -s /tftpboot
	disable		= no
	per_source	= 11
	cps		= 100 2
}
			

ディフォルトのファイルから変更するのは、 disable = no(サービスを有効にする)パラメータと、 サーバーに与える引数 -c です。 後者の引数を与えると、ファイルの生成が可能になります。 これはブートイメージやディスクイメージを保存したい場合に必要になります。 通常の操作では、TFTP を読み取りのみにしておく必要があるかも知れません。

xinetd を再ロードします。

/etc/rc.d/init.d/xinetd reload

サーバーのテストには、tftp コマンドが使えます。 このコマンドは、 tftp rpm パッケージ(クライアント用)をインストールすれば利用できます。

3.3. 別のサーバーを使用する

DHCP と TFTP に関しては、別のサーバーを使用することもできます。 これは動作中の DHCP サーバーを使用する場合に必要になるかもしれません。 DHCP の next-server パラメータを設定して、 TFTP サーバーを指すようにしたり、 Grub で tftpserver コマンドを使うことができます。