私が参考にしている本によると、DHCP はネットワークに以下のような事情がある場合に特に有効なようです。
現在の私の環境は、ホスト数 1、使用可能 IP はクラス C のホームネットワークなのでほぼ使い放題、ネットワークは一つ、
アドレスの設定は管理者(筆者)が行うのである程度はある(つもり)。と、すべてに当てはまりません(笑)
では何故 DHCP を使うか。それは単に「クライアントの設定が楽だから」の一言でしょうか。
# というのは建前で、なんとなく格好よさげだから利用してるだけだったり
現在 DHCP を利用していないので内容は保証できません。
dhcp-3.0b1pl13.tar.gz を入手して rpm only インストールから脱却を計る。 適当なディレクトリに展開して configure → make → make install であっさり終了。 ディレクトリ構成の変更もないようなので一安心。
と思ったら設定ファイル群が /var/state/dhcp にコピーされて、実際にはそれらが使用されている...
Vine Linux をインストールする際に DHCP サーバ(dhcp-2.0b1pl6-2.i386.rpm)もインストールされているので設定は /etc/dhcpd.conf をいじるだけです。このファイルは存在しないので一から書きます。
このファイルは他の設定ファイルと違って末尾を ; で締め、{ } などを使って設定が階層化されるなど、 C のソースのような雰囲気ですね。BIND8 の初期設定ファイルに似ていますが、 BIND8 が DHCP に合わせたらしいです。
server-identifier netvine.kynet.com; ---(1) ホスト名 or IP アドレス option domain-name "kynet.com"; ---(2) DNS に関する情報 option domain-name-servers netvine.kynet.com; shared-network NETVINE { ---(3) サブネットワーク option subnet-mask 255.255.255.0; ---(4) ネットマスク default-lease-time 21600; ---(5) デフォルトリース時間 max-lease-time 72000; ---(6) 最大リース時間 subnet 192.168.1.0 netmask 255.255.255.0 { ---(7) サブネットワークに関する設定 range 192.168.1.9 192.168.1.13; ---(8) リースするアドレス範囲 option broadcast-address 192.168.1.255; ---(9) ブロードキャストアドレス } }
続いてアドレスリース記録ファイル、/etc/dhcpd.leases を作成します。 これは DHCP が割り当てた IP アドレスに関するリース記録を保存するファイルです。 touch はタイムスタンプを変更するコマンドですがこのように空ファイルを作成する際によく利用します。
# touch /etc/dhcpd.leases
起動スクリプトに修正を加えます。
start) # Start daemons. echo -n "Starting dhcpd: " route add -host 255.255.255.255 dev eth0←追加 daemon /usr/sbin/dhcpd echo touch /var/lock/subsys/dhcpd ;; stop) # Stop daemons. echo -n "Shutting down dhcpd: " route del -host 255.255.255.255 dev eth0←追加 killproc dhcpd
最後に DHCP で割り当てる範囲分の IP アドレスとホスト名の対応を解決しなければなりません。 /etc/hosts に書いても良いのですが、今回は DNS を構築しますので BIND で設定します。
Internet Software Consortium - DHCP
DHCP の一次配布先。