DHCPのインストールと設定
GNOMEなどを使っている場合は「ソフトウェアの追加と削除」で"dhcp"で検索して該当するパッケージを導入する。コマンドラインからインストールする場合は次の通り。
[root@vmserver ~]# yum install dhcp : : [root@vmserver ~]# chkconfig --list dhcpd dhcpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
パッケージを導入したら、設定ファイル(/etc/dhcpd.conf)を変更する。このファイルは利用環境によって設定項目が変わって来るが、今回は必要最小限の設定に限定して、以下の内容とした。
[root@vmserver ~]# cat /etc/dhcpd.conf ddns-update-style none; ignore client-updates; subnet 192.168.1.0 netmask 255.255.255.0 { option routers gateway12; option subnet-mask 255.255.255.0; option nis-domain "localdomain"; option domain-name "localdomain"; option domain-name-servers dnsserver02, dnsserver01; option time-offset 32400; # Japan Standard Time option ntp-servers ntp.nict.jp, ntp.jst.mfeed.ad.jp; deny unknown-clients; # デフォルトで allow } host bishop { hardware ethernet 00:12:34:56:78:9A; fixed-address bishop; next-server vmserver; filename "/linux-install/pxelinux.0"; default-lease-time 1296000; # 2 weeks max-lease-time 2592000; # 4 weeks }
上の内容は、PXEブート用のDHCPサーバとは別に、DHCPクライアントにアドレスを割当てる通常運用のDHCPサーバが別に存在するケースであり、PXEブート用のDHCPサーバは予めこのファイルにMACアドレスを登録しているクライアントにしかサービスを行なわない。(通常運用のHDCPサーバより、高速のマシンであり先に応答することを前提としている。もし、DHCPサーバ同士がクライアントを取り合いするような場合は通常運用のHDCPサーバに、ディスクレスクライアントに反応しないように設定するか、一時的に停止するしかないだろう。)
「filename」はPXEブートのソフトウェア(NBP)のパスを記入する。tftpのルートディレクトリからのパスで、標準では /tftpbootの下からのパスになる。この場合は、/linux-install/pxelinux.0で、Linuxでのルートからのパスは/tftpboot/linux-install/pxelinux.0となる。("linux-install"というディレクトリ名は後述するネットブート設定ユーティリティが使うので、固定されてしまう。本来、NBPの設置場所はとこでも良い筈だが、netbootを利用する場合は固定される。)
なお、上の/etc/dhcpd.confの例の中で使われている"vmserver", "bishop", "gateway12", "dnsserver02" 等はホスト名で/etc/hostsの中で定義されている必要がある。(ここでは、 "vmserver" がPXEブートサーバとなり、"bishop" がディスクレス・クライアントという想定だ。)IPアドレスで記述すると、IPアドレスの変更があった場合/etc/hostsの他に/etc/dhcpd.conf等の変更も必要となり、設定忘れの原因となりかねないので、できる限りホスト名を使用する。また、"ntp.nict.jp"、"ntp.jst.mfeed.ad.jp"のFQDNはDNSで名前解決が可能でなければ当然使えない。
設定が終わったらdhcpdを再起動する。
[root@vmserver ~]# service dhcpd restart Shutting down dhcpd: [ OK ] Starting dhcpd: [ OK ]
なお、GNOMEのサービスの設定もしくはコマンドラインのchkconfig等でDHCPサービスが該当ランレベルでサービスされるように設定、確認する。
[root@vmserver ~]# chkconfig --list dhcpd dhcpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
この段階で、ディスクレスマシンをPXEブートさせてみる。勿論、まだブートは出来ないがDHCPで確実にIPアドレスを取得することを確認しておく。