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 から拾っているため、必要なのはホスト名のみです。