CentOS サーバー管理・運用 DHCPサーバー

(最終更新日時:2012-10-28 02:56:02)
LAN 内の PC クライアントへはDHCPサーバーを使用してIPアドレスを割り当てることにします。
また、割り当てを行ったIPアドレスは、ネームサーバーと秘密鍵によるセキュアな連携をさせ、名前解決ができるように設定しています。

インストール

DHCPサーバー dhcp をインストールします。
# yum -y install dhcp

※ 以下の内容は dhcp-4.1.1-31.0.1.P1.el6.centos.1.x86_64 を対象に記述しています。

設定ファイルの編集

サンプル /usr/share/doc/dhcp*/dhcpd.conf.sample を参考に設定ファイルの編集を行います。
# vi /etc/dhcp/dhcpd.conf
----------(vi ここから)----------
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.sample
#   see 'man 5 dhcpd.conf'
#

# Use this to enble / disable dynamic dns updates globally.
ddns-update-style       interim;                              # ネームサーバーと連携(DDNS:Dynamic DNS)します
ignore                  client-updates;                       # クライアントからホスト名ではなくFQDNが渡された場合、
                                                              # ドメイン名をネームサーバーの設定値で置き換えます
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;                                                # ネットワーク内で正式なDHCPサーバであることを宣言します
include "/var/named/chroot/etc/ddns.key";                     # ネームサーバーと連携するためのTSIG鍵を読み込みます

zone client.localnet.                                         # ネームサーバーと連携する正引きゾーンを指定します
{
        primary 127.0.0.1;                                    # プライマリDNSのアドレスを指定します
        key     ddnskey;                                      # TSIG鍵の名前を指定します
}

zone 201.168.192.in-addr.arpa.                                # ネームサーバーと連携する逆引きゾーンを指定します
{
        primary 127.0.0.1;
        key     ddnskey;
}

# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility            local6;                               # log-facility local6でログ出力します

# A slightly different configuration for an internal subnet.
subnet 192.168.201.0 netmask 255.255.255.0 {                       # DHCPで管理するネットワークセグメントを指定します
  range                         192.168.201.101 192.168.201.199;   # クライアントに発行するIPアドレスの範囲を指定します
  option domain-name-servers    ns1.client.localnet;               # クライアントへ通知するネームサーバーのアドレスを指定します
  option domain-name            "client.localnet";                 # クライアントへ通知するドメイン名を指定します
  option routers                192.168.201.11;                    # クライアントへ通知するゲートウェイアドレスを指定します
  option broadcast-address      192.168.201.255;                   # ブロードキャストを行うアドレスを指定します
  default-lease-time            86400;                             # クライアントに発行したIPアドレスの有効期間を1日にしています
  max-lease-time                86400;                             # IPアドレスの要求有効期間を最大1日にしています
}
----------(vi ここまで)----------

DHCPの対象にするネットワークインターフェースを設定します。
# vi /etc/sysconfig/dhcpd
----------(vi ここから)----------
# Command line options here
DHCPDARGS=eth1
----------(vi ここまで)----------

ログファイルの設定

log-facility local6をrsyslogに追加します。
# vi /etc/rsyslog.d/local6.conf
----------(vi ここから)----------
# DHCP log messages
local6.*                                                /var/log/dhcplog
----------(vi ここまで)----------

log-facility local6に出力したログが/var/log/messagesへ出力されないようにします。
# vi /etc/rsyslog.conf
----------(vi ここから)----------
       :
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none;local6.none    /var/log/messages
       :
----------(vi ここまで)----------

# service rsyslog restart

/var/log/dhcplogをlogrotateの対象に追加します。
# vi /etc/logrotate.d/syslog
----------(vi ここから)----------
       :
/var/log/spooler
/var/log/dhcplog
{
       :
----------(vi ここまで)----------

起動

自動起動設定を行い、DHCP サーバーを起動します。
# chkconfig dhcpd on
# service   dhcpd start

フィードバック

記事の内容についてのご質問、ご指摘、その他ご意見等は、Weblog/Twitter にて受け付けております。

System House ACT Weblog 内記事 : サーバー管理・運用 DHCPサーバー

トラックバックまたはコメントにてお寄せください。

Twitter では .@systemact 宛につぶやいてください。
また、こちら から、この記事についてつぶやくことができます。
a System House to build an Accounting system by the Computer Technology