サーバー機能の追加 DHCPサーバーを導入する

 自分Linuxをサーバーとして稼働させる第一歩として,自分Linux上でDHCPサーバーを稼働させよう。DHCPサーバーは,ブロードバンド・ルーターなどが備える機能の一つであり,ネットワークに接続しているPCに対してDHCPサーバーが管理するIPアドレスを自動で貸し出す。さらにDNS(Domain Name System)サーバーやゲートウエイのIPアドレス,ホスト名などのネットワークに関する情報をクライアントに通知する。それでは,DHCPサーバーを導入していこう。

DHCPサーバー・ソフトのコンパイル

 表2に示したサイトからDHCPのソース・アーカイブを入手し,/usr/local/src/origsoftディレクトリにコピーする。コピーしたら,展開してコンパイルしよう(以下,1行のコマンドについても,1段幅に合わせて改行してあるので,ご注意ください)。

表2●導入するDHCPサーバー
表2●導入するDHCPサーバー
[画像のクリックで拡大表示]

 なお,コンパイルを実行する前に,Makefile.confファイルを図4のように書き換える。

図4●Makefile.confファイルを修正
図4●Makefile.confファイルを修正
ROOT変数で,コンパイルしたファイルを導入するディレクトリを指定している。

 あとはコマンドを追加したときと同様に,

を実行し,/usr/local/src/origdevにコピーする。ここでもmylinux_shrink.shスクリプトを用いて,DHCPサーバーのファイルをシュリンクしておこう。

DHCPサーバーを起動する

 DHCPサーバーを稼働させるには,設定ファイル「dhcpd.conf」と自動付与したIPアドレスを管理するファイル「dhcpd.leases」の2つを用意する必要がある。dhcpd.leasesファイルは,最初は全く内容がなくてよいので,touchコマンドを用いて空のファイルを作成する。

 dhcpd.leasesファイルを格納するディレクトリとして/usr/local/src/origlinux/rootsys/var/lib/dhcpディレクトリを作成し,dhcpd.leasesファイルをtouchコマンドで作成しよう。

 一方,dhcpd.confファイルだが,DHCPサーバーにはさまざまな設定パラメータがあり,それを一つひとつ説明しながら作成していくことは,誌面の都合上難しい。

 そこで,自分Linuxでは,図5のように最低限設定が必要なパラメータに絞って,dhcpd.confファイルを記述してみた。この設定を,自分のネットワーク環境に合わせて適宜書き換えよう。以下で,この設定内容を解説する。

図5●DHCPサーバーの設定ファイル(dhcpd.conf)
図5●DHCPサーバーの設定ファイル(dhcpd.conf)

 「subnet 192.168.1.0 netmask 255.255.255.0」では,サブネット・アドレスとネットマスクを指定している。以前に紹介したrc3スクリプトで設定した,自分LinuxのIPアドレス(192.168.1.1)とネットマスク(255.255.255.0)に合わせるようにしよう。

 「option subnet-mask」には,IPアドレスを貸し出すPC(クライアント)に通知するネットマスクを指定する。先ほど,設定したネットマスクをそのまま指定すればよい。

 「default-lease-time」と「max-lease-time」には,IPアドレスを貸し出す期間を秒単位で設定する。「default-lease-time」が標準貸し出し期間であり,クライアントから貸し出し延長などの要求がなければ,この期間だけIPアドレスが貸し出される。ただし,クライアントからの貸し出し延長要求があっても「max-lease-time」で設定した最大値を超えて,IPアドレスを貸し出すことはない。

 「option domain-name-servers」には,クライアントに通知するDNSサーバーのIPアドレスを指定する。自宅で自分Linuxをサーバーとして動作させるなら,プロバイダから指定されたDNSサーバーを設定する。

 「option routers」には,クライアントに通知するデフォルト・ゲートウェイのIPアドレスを指定する。同じく自宅ならブロードバンド・ルーターなどに設定したIPアドレスを指定すればよいだろう。

 「range」には,クライアントに貸し出すIPアドレスの範囲を指定する。ここでは,192.168.1.100~192.168.1.199の100個のIPアドレスを貸し出せるようにしている。

 設定ファイルは,/usr/local/src/origlinux/rootsys/etcディレクトリに保存する。保存したら,一般ユーザーでは書き換えられないようにファイルのアクセス権限を書き換えておこう。

 最後にrc3スクリプトに,

の1行を追加すれば,システム起動時にDHCPサーバーも自動起動するようになる。

 後はマシンを再起動して,自分Linux開発マシン上で自分Linuxを起動し,Windows搭載機をDHCPのクライアントとしてDHCPサーバーからIPアドレスが貸し 与えられることを確認してみよう。

 確認ができたら,再起動して自分Linuxの開発環境に戻してフラッシュ・メモリーを挿入し,図6に示した手順で書き込む。これで,コマンドとDHCPサーバーが追加された自分Linuxが完成した。

図6●自分Linuxをフラッシュ・メモリーに書き込む
図6●自分Linuxをフラッシュ・メモリーに書き込む
「/dev/sda1」の個所は,これまでの設定を参考にして自分の環境に合わせて適宜変更していただきたい。

*   *   *

 次回はLinuxで稼働するサーバーの代名詞であるWebサーバー・ソフトのApache HTTP Server(以下,Apache)を導入する。できれば,Apacheを動作させるだけでなく,実用的で,面白いWebアプリケーションも一緒に導入し,自分Linux上で 稼働させてみたい。