dhcpd 3.0pl2 のインストール

SERVER


dhcpd

dhcpd とは、DHCP サービスを提供するプログラムです。これを利用することで、IP アドレスなどのクライアントコンピュータのネットワーク設定を自動化することが出来ます。

この dhcpd は ftp://ftp.isc.org/isc/dhcp/ にて公開されているのですけど、このバージョン 3 からは DDNS にも対応しているそうです。DHCP を利用した場合は基本的に IP アドレスが不定となるわけなのですけど、DDNS サーバと絡めて利用することで、名前による利用が可能になるので何かと便利そうです。

 

DDNS は Microsoft 社の DNS サーバを利用しているので、さっそくそれを有効活用すべく dhcpd をインストールしてみることにします。もっとも、DHCP サーバもサーバ系の Windows には組み込まれていますので、それを使うという手もありますが。

 

入手とインストール

今回は、ftp://ftp.isc.org/isc/dhcp/ より、dhcpd-3.0pl2.tar.gz をダウンロードしました。これを /usr/local/src/ へコピーして、次のようにして圧縮ファイルを展開します。

cd /usr/local/src

tar xvzf dhcpd-3.0pl2.tar.gz

展開が終わったらそのディレクトリ内へ移動して、次のようにしてインストールを行います。

cd dhcpd-3.0pl2/

 

./configure

make

make install

これでインストールは完了です。

 

DHCP サーバを設定する

続いて DHCP サーバの設定です。

設定は /etc/dhcpd.conf という名前のファイルを用意してそこへ記載する形となります。設定例はソースファイルを展開したディレクトリの server/dhcpd.conf にありますので、コピーするなり参考にするなりして用意しましょう。

 

今回の自分の環境では、次のような感じとなりました。もっとも、指定してある IP アドレスは架空のものなのですけど。

ddns-update-style interim;

 

option domain-name "ez-net.dummy";

option domain-name-servers ns1.ez-net.dummy, ns2.ez-net.dummy;

 

default-lease-time 600;

max-lease-time 7200;

 

log-facility local7;

 

subnet 192.168.0.0 netmask 255.255.255.0 {

range 192.168.0.128 192.168.0.254;

option domain-name-servers 192.168.0.1;

option domain-name "ez-net.dummy";

option routers 192.168.0.1;

option netbios-name-servers 192.168.0.1;

option netbios-node-type 8;

option broadcast-address 192.168.0.255;

option ntp-servers 192.168.0.1;

}

ここで特に重要となるのが、"ddns-update-style" の部分です。

ここで "interim" を指定することによって、その下に指定された domain-name と domain-name-servers の情報を使ってその DNS サーバへホストの登録を試みてくれるそうです。逆に DDNS を利用する予定がない場合は、ここを "add-hoc" と指定するそうです。

それと余談ですけど、 lease-time の設定は秒単位です。

 

/etc/dhcpd.conf の準備が出来たら、次のようにしてリースファイルを作成します。

touch /etc/dhcpd.leases

これで起動可能となります。起動は、今回は Slackware なのでそれにそった方法で行ってみます。

/etc/rc.d/rc.dhcpd というファイルを用意して、その内容を次のようにします。ここでは、eth1 というインターフェイスにて待ち受けを行うという設定にしています。

/usr/sbin/dhcpd -cf /etc/dhcpd.conf -lf /etc/dhcpd.leases eth1

あとはこれを、/etc/rc.d/rc.local 内または /etc/rc.d/rc.inet2 から呼び出してあげれば、設定は完了です。

. /etc/rc.d/rc.dhcpd

設定が終わったら、直接 rc.dhcpd を起動するなり Linux を再起動するなりして DHCP サーバを起動させましょう。

 

その他の環境の注意事項

DHCP サーバが正常にホスト情報を登録できるようにするには、いくつか気にしておくべきところがあります。

ひとつは、Microsoft 社の DNS を使っていた場合なのですけど、該当するゾーンの動的更新を有効にしておく必要があります。このとき、セキュリティで保護されたもののみの設定だと、登録されないようなので注意してください。

もうひとつは、Linux クライアント、特に Slackware の場合なのかもしれないですけど、/etc/rc.d/rc.inet1 の中の DHCP_HOSTNAME の項目にて PC 名を登録しておかないとダメでした。ドメインの情報は恐らく DHCP から拾っているため、必要なのはホスト名のみです。