DHCPは『Dynamic Host Configuration Protocol』の略で、クライアントにIPアドレスなどを自動的に割り振ってくれるものです。
クライアント側のネットワーク設定が簡単になるため、複数のネットワークに接続するクライアントマシンなどでは、DHCPサーバがあると非常に便利です。ローカルネットワークにノートマシンを持ち込む場合などに重宝するでしょう。
また、DHCPを利用している場合、サーバ側で設定を変更するだけでクライアント側のネットワーク設定も変更できるというメリットもあります。
DHCPをインストールします。
dhcp2.0(2000/02/19)
/usr/local/pub/にアーカイブを置いて作業します。
linux# cd /usr/local/src/ linux# zcat ../pub/dhcp-2_0_tar.gz |tar -xvf - linux# cd dhcp-2.0/ linux# ./configure linux# make linux# make install |
dhcp.confを書き換えたり、routeを設定したりします。
dhcp.confをetcにコピーして書きかえます。
linux# cd /usr/local/src/dhcp-2.0/server/ linux# cp dhcpd.conf /etc/. linux# cd /etc/ linux# vi dhcpd.conf |
# dhcpd.conf # # Sample configuration file for ISC dhcpd # # option definitions common to all supported networks... option domain-name "lo.ash.jp"; option domain-name-servers 10.0.1.254; option subnet-mask 255.255.255.0; default-lease-time 600; max-lease-time 7200; subnet 10.0.1.0 netmask 255.255.255.0 { range 10.0.1.101 10.0.1.150; option broadcast-address 10.0.1.255; option routers 10.0.1.254; } |
routeコマンドを使います。ネットワークが複数ある場合、使用するほう(ここではローカル側)を設定します。
linux# /sbin/route add -host 255.255.255.255 dev eth1 |
netstatコマンドを使用して、routeの設定が正しくされているか確認します。
linux# netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 255.255.255.255 0.0.0.0 255.255.255.255 UH 1500 0 0 eth1 10.0.1.0 0.0.0.0 255.255.255.0 U 1500 0 0 eth1 127.0.0.0 0.0.0.0 255.0.0.0 U 3584 0 0 lo |
DHCPサーバは、dhcpd.leasesというIP割り当てデータベースを使用してIPアドレスを管理しています。
このデータベースの内容はDHCPサーバが更新していきますが、DHCPサーバはこのファイル自体を作成しないので、あらかじめdhcpd.leasesを用意する必要があります。
DHCPサーバはデフォルトで/var/state/dhcp/dhcpd.leasesを参照しにいくので、そこに空のファイルを作成します。
linux# cd /var/state/dhcpd linux# touch dhcpd.leases |
DHCPサーバを起動して動作を確認します。
dhcpdを起動します。
linux# /usr/sbin/dhcpd eth1 |
Windowsで、「コントロールパネル」>「ネットワーク」を開き、「TCP/IP」の「プロパティ」を開きます。
そこで、IPを自動取得にチェックします。また、デフォルトゲートウェイや、DNSの設定は空白にします。
再起動して、「スタートメニュー」の「ファイル名を指定して実行」で「winipcfg」と入力して、状態を確認します。
サーバマシンの起動時に、DHCPサーバが自動的に起動するように設定します。
/etc/rc.d/rc.inet1に、DHCP用のrouteを追加します。
linux# vi /etc/rc.d/rc.inet1 |
# route for dhcp /sbin/route add -host 255.255.255.255 dev eth1 |
/etc/rc.d/rc.localに、dhcpdの起動命令を追加します。
linux# vi /etc/rc.d/rc.local |
# start dhcp server /usr/sbin/dhcpd eth1 |