Overview
CentOS 6 における ISC-DHCP を使用した DHCP サーバーの構築手順です。
インストール
dhcp をインストールします。
[root@centos-6 ~]# yum -y install dhcp/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd.conf をバックアップし、エディターで開きます。
[root@centos-6 ~]# cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.orig
[root@centos-6 ~]# vim /etc/dhcp/dhcpd.conf/etc/dhcp/dhcpd.conf を編集します。
log-facility local6;
subnet 10.0.0.0 netmask 255.255.255.0 {
option routers 10.0.0.1;
option subnet-mask 255.255.255.0;
option domain-name "si1230.com";
option domain-name-servers 10.0.0.53;
option netbios-name-servers 10.0.0.10;
range dynamic-bootp 10.0.0.100 10.0.0.109;
}log-facility local6;: DHCP サーバーのログの出力先をlocal6ファシリティに設定しています。このファシリティは、rsyslog の設定値に合わせています。設定しない場合、DHCP サーバーのログは/var/log/messagesに出力されます。subnet 10.0.0.0 netmask 255.255.255.0 {...}: DHCP サーバーが管理するサブネットを定義しています。このサブネットに含まれる IP アドレスが設定されたインターフェイスで DHCP サーバーが有効になります。option routers 10.0.0.1;: DHCP クライアントに割り当てるデフォルトゲートウェイの IP アドレスを10.0.0.1に設定しています。option subnet-mask 255.255.255.0;: DHCP クライアントに割り当てるサブネットマスクを255.255.255.0に設定しています。option domain-name "si1230.com";: DHCP クライアントに割り当てるドメイン名をsi1230.comに設定しています。option domain-name-servers 10.0.0.53;: DHCP クライアントに割り当てる DNS サーバーの IP アドレスを10.0.0.53に設定しています。option netbios-name-servers 10.0.0.10;: DHCP クライアントに割り当てる WINS サーバーの IP アドレスを10.0.0.10に設定しています。WINS は将来的に廃止される可能性が高く、現在では DNS のみで十分な場合がほとんどです。Windows の管理者に確認の上、本当に必要な場合にのみ使用して下さい。range dynamic-bootp 10.0.0.100 10.0.0.109;: DHCP クライアントに割り当てる IP アドレスの範囲を10.0.0.100から10.0.0.109までとしています。
/etc/sysconfig/dhcpd
をバックアップし、エディターで開きます。/etc/sysconfig/dhcpd
[root@centos-6 ~]# cp /etc/sysconfig/dhcpd /etc/sysconfig/dhcpd.orig
[root@centos-6 ~]# vim /etc/sysconfig/dhcpd/etc/sysconfig/dhcpd を編集します。DHCPDARGS は、dhcpd が動作するインターフェイスを指定する起動オプションです。この例では eth0 を指定しており、eth0 に接続されたネットワーク上の DHCP リクエストにのみ応答します。
DHCPDARGS=eth0/etc/logrotate.d/dhcpd
/etc/logrotate.d/dhcpd をバックアップし、エディターで開きます。
[root@centos-6 ~]# cp /etc/logrotate.d/dhcpd /etc/logrotate.d/dhcpd.orig
[root@centos-6 ~]# vim /etc/logrotate.d/dhcpd/etc/logrotate.d/dhcpd を編集します。
ログローテーションの設定をします。/etc/dhcp/dhcpd.conf で指定したファシリティ local6 は、syslog の設定で /var/log/dhcpd.log に書き込まれるようになっています。
/var/log/dhcpd.log {
notifempty
missingok
postrotate
/sbin/service dhcpd condrestart 2> /dev/null > /dev/null || true
endscript
}/var/log/dhcpd.log {...}: ログローテーションの対象となるログファイルを指定しています。この場合は/var/log/dhcpd.logです。notifempty: ログファイルが空の場合、ローテーションはスキップされます。missingok: ログファイルが存在しない場合でもエラーを出力せずに処理を続行します。これにより、ログファイルが存在しない場合でもローテーションがスムーズに行われます。postrotate: ローテーション後に実行するコマンドを指定します。/sbin/service dhcpd condrestart 2> /dev/null > /dev/null || true:dhcpdをcondrestartコマンドで再起動します。2> /dev/nullと> /dev/nullは標準エラー出力と標準出力を捨てるためのものです。|| trueは前のコマンドが失敗した場合でもエラーを無視して処理を続行するためのものです。
endscript:postrotateブロックの終了を示します。
サービス起動設定
dhcpd サービスを起動し、システムの起動時に有効になるように設定します。
[root@centos-6 ~]# service dhcpd start && chkconfig dhcpd on
[root@centos-6 ~]# chkconfig dhcpd --listCentOS 6 ISC-DHCP DHCP サーバー構築




