Edit
目次

Edit
DHCPのインストール

ISCから直接落としてくるのがやはり一番でしょう。

# cd /usr/local/src
# wget http://ftp.isc.org/isc/dhcp/dhcp-4.1.0a1.tar.gz
# tar xzvf dhcp-4.1.0a1.tar.gz
# cd dhcp-4.1.0a1
# ./configure
# make
# make install

Edit
DHCPの起動

# /usr/local/sbin/dhcpd

※dhcp.conf を指定する場合には、'-cf /etc/dhcpd.conf'

Edit
DHCPに必要なファイルは2つ

Edit
/etc/dhcpd.conf

設定ファイル、とりあえず自宅でDHCPを立ち上げるだけであれば、ファイルの中身を以下の設定にしておけば稼動します。(この設定の場合は家庭内のLANが192.168.1.xxのセグメントの場合です)

# config file
subnet 192.168.1.0 netmask 255.255.255.0 {
   range 192.168.1.100 192.168.1.150;  #<-100番~150番までを貸し出し
   default-lease-time 600;
   max-lease-time 7200;
}


Edit
/var/db/dhcpd.leases

DHCPファイルの貸し出し状況を保存しておくDB

# touch /var/db/dhcpd.leases

これで、ファイルだけ作っておけばOK。ただし、この場合は、ISCからダウンロードしてきた、DHCPD4.0.0の場合です。CentOS5.1などで、Yumでとってきた場合には、下記の'Red Hat Linux'の場合のフォルダとなります。
※ただ、'Red Hat Linux'と'Vine'の場合には /var/lib/dhcpd/dhcpd.leases
※'Turbo'の場合には、/var/dhcp/dhcpd.leasesに設定される。

Edit
2つのネットカードがある場合

ネットワークカードが複数ある場合には、DHCPを立ち上げる際のネットワークカードの指定が必要になります。

# vi /etc/sysconfig/dhcpd
DHCPDARGS=eth0

このファイルはこの1行だけを記述します。
※dhcpdのヘルプが分かりずらいので、オプションにはこのページを参照すると便利です。大概必要なオプションは以下の通りです。

# dhcpd eth0 -cf /usr/local/dhcpd/dhcpd.conf

Edit
CentOS 5.1 の場合の修正

上記のように、CentOS では Red Hat系なのでいろいろなフォルダの場所が違っています。そこで、まずは以下のファイルを書き直します。

# vi /etc/rc.d/init.d/dhcpd

変更点1、このファイルの中の、/etc/lib/dhcpd/dhcpd.lease の部分を、/var/db/dhcpd.leasesに変更します。

また起動時にdaemon起動の状態を確認する場合には、以下のコマンドです。

# /sbin/chkconfig --list dhcpd

また起動設定を行う場合には、

# /sbin/chkconfig dhcpd on

これで、立ち上げ時に自動起動されるようになります。

また、とりあえず、今デーモン起動したい場合には、先ほど修正したファイルを利用して起動できます。

# /etc/rc.d/init.d/dhcpd start

※起動しなかった場合には、[失敗]というメッセージが表示されます。
また下記のコマンドで、dhcpdが起動しているか確認できます。

# ps ax | grep dhcpd

Edit
実際の設定

現在設定している設定を保管用に記載します。

Edit
/etc/dhcpd.conf

#
# DHCP Server Configuration file.
#
default-lease-time              600;
max-lease-time                  7200;
authoritative;
ignore client-updates;
log-facility                    local7;
option domain-name              "gamvaro.com";      # your domain
option domain-name-servers      localhost;
#
# Dynamic DNS
#
#include "/usr/local/named/ddns.key";
#ddns-update-style              interim;        #relation with DDNS
#ddns-domainname                        "/usr/local/named/gamvaro.com.zone";
#ddns-rev-domainname            "/usr/local/named/gamvaro.com.rev";
#
#
#
#zone gamvaro.com. {                    # your domain
#        primary        dns.gamvaro.com;
#        key            DDNS;
#}
#zone 0.168.192.in-addr.arpa. {
#        primary        dns.gamvaro.com;
#        key            DDNS;
#}
subnet 192.168.0.0 netmask 255.255.255.0 {
       option routers 192.168.0.1;
       option broadcast-address 192.168.0.255;
       option subnet-mask 255.255.255.0;
       #
       # WINS
       #
       #option netbios-name-servers    192.168.0.1;
       #option netbios-dd-server       192.168.0.1;
       #option netbios-node-type       4; # first Broadcast, second Wins
       #
       # Other Option
       #
       option routers                  192.168.0.1;
       option ntp-servers              127.0.0.1;
       option lpr-servers              127.0.0.1;
       #
       # Pool
       #
       pool {
               range 192.168.0.240 192.168.0.249;
#               allow known clients;
       }
}
#
# known clients
#
#--------------------------------------------
#Windows XP DELL Dimension 5150C
host    desktop {
        hardware ethernet 00:13:72:d3:c6:6a;
        fixed-address 192.168.1.200;
        ddns-hostname "desktop";
}
#--------------------------------------------
#Windows XP Fujitsu BIBLO Look
host    smallnote {
        hardware ethernet 08:00:46:63:4D:3E;
        ddns-hostname "smallnote";
}
#--------------------------------------------
#Windows XP Sony PCG-U1
host    Potable {
        hardware ethernet 00:11:F5:60:7D:69;
        ddns-hostname "Potable";
}
#--------------------------------------------
#Macintosh PowerBook G4
host    MacintoshG4 {
        hardware ethernet 00:30:65:1d:79:27;
        ddns-hostname "MacintoshG4";
}
#--------------------------------------------
#VMware First CentOS 5.1
host    centos {
        hardware ethernet 00:0c:29:c7:15:5b;
        ddns-hostname "centos";
}
#--------------------------------------------
#Vmware Second CentOS 5.1
host    secondos {
        hardware ethernet 00:0c:29:98:22:f4;
        ddns-hostname "centos";
}

Edit
クライアントでのIP再取得コマンド

確保しているIPを開放する。

# dhclient -r

再度IPアドレスを取得する。

# dhclient

Edit
デフォルトルートの確認

# netstat -rn

Edit
参考リンク

添付ファイル: filedhcpd.conf 640件 [詳細]