手当たり次第に書くんだ

飽きっぽいのは本能

CentOS 6 ISC-DHCP DHCP サーバー構築

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:
    • dhcpdcondrestart コマンドで再起動します。
    • 2> /dev/null> /dev/null は標準エラー出力と標準出力を捨てるためのものです。
    • || true は前のコマンドが失敗した場合でもエラーを無視して処理を続行するためのものです。
  • endscript: postrotate ブロックの終了を示します。

サービス起動設定

dhcpd サービスを起動し、システムの起動時に有効になるように設定します。

[root@centos-6 ~]# service dhcpd start && chkconfig dhcpd on
[root@centos-6 ~]# chkconfig dhcpd --list
CentOS 6 ISC-DHCP DHCP サーバー構築

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る