Dynamic Host Configuration Protocol

/ ホーム(H) / Linux(V) / DHCP

About

私が参考にしている本によると、DHCP はネットワークに以下のような事情がある場合に特に有効なようです。

現在の私の環境は、ホスト数 1、使用可能 IP はクラス C のホームネットワークなのでほぼ使い放題、ネットワークは一つ、 アドレスの設定は管理者(筆者)が行うのである程度はある(つもり)。と、すべてに当てはまりません(笑) では何故 DHCP を使うか。それは単に「クライアントの設定が楽だから」の一言でしょうか。
# というのは建前で、なんとなく格好よさげだから利用してるだけだったり

現在 DHCP を利用していないので内容は保証できません。


dhcp-3.0b1pl13
2000/03/08

dhcp-3.0b1pl13.tar.gz を入手して rpm only インストールから脱却を計る。 適当なディレクトリに展開して configure → make → make install であっさり終了。 ディレクトリ構成の変更もないようなので一安心。

と思ったら設定ファイル群が /var/state/dhcp にコピーされて、実際にはそれらが使用されている...


Setting
/etc/dhcpd.conf

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

続いてアドレスリース記録ファイル、/etc/dhcpd.leases を作成します。 これは DHCP が割り当てた IP アドレスに関するリース記録を保存するファイルです。 touch はタイムスタンプを変更するコマンドですがこのように空ファイルを作成する際によく利用します。

# touch /etc/dhcpd.leases
/etc/rc.d/init.d/dhcpd

起動スクリプトに修正を加えます。

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 で設定します。


Reference

Internet Software Consortium - DHCP
DHCP の一次配布先。


/ ホーム(H) / Linux(V) / DHCP

Copyright © Kazuhiro Yoshikawa (KaZ). All rights reserved.
Last modified .