DHCP サーバーは Grub (BOOTP) をブートし、 その後で Linux をブートする際、 クライアントに IP アドレスを提供するのに必要なものです。 TFTP サーバーは、Linux のブート用に、 ネットワークで利用でできるブートイメージを作成するのに必要になります。 ディスクイメージの保存/リストアを可能にする際にも、 TFTP サーバーは必要になります。
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.
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 パッケージ(クライアント用)をインストールすれば利用できます。
DHCP と TFTP に関しては、別のサーバーを使用することもできます。 これは動作中の DHCP サーバーを使用する場合に必要になるかもしれません。 DHCP の next-server パラメータを設定して、 TFTP サーバーを指すようにしたり、 Grub で tftpserver コマンドを使うことができます。