作業日記@HatenaBlog

各種の作業メモ

DHCP サーバ

dhcpd インストール

ports から dhcpd をインストールする。
# cd /usr/ports/net/isc-dhcp31-server
# make && make install clean

 

オプション選択
             Options for isc-dhcp31-server 3.1.3
[X] DHCP_PARANOIA  add -user, -group and -chroot options
[X] DHCP_JAIL      add -chroot and -jail options
[ ] DHCP_SOCKETS   use sockets instead of /dev/bpf (jail-only)
[X] OPENSSL_BASE   use the base system OpenSSL (required by TLS)
[ ] OPENSSL_PORT   use OpenSSL from ports (required by TLS)

 

dhcpd.conf 作成
# cd /usr/local/etc/
# cp dhcpd.conf.sample dhcpd.conf
# vi dhcpd.conf
 
option domain-name "example.com"; ← 自分の管理下のドメイン
option domain-name-servers 192.168.X.1;
 
default-lease-time 600;
max-lease-time 7200;
 
authoritative;
 
ddns-update-style none;
 
log-facility local7;
 
subnet 192.168.X.0 netmask 255.255.255.0 {
 range                          192.168.X.50 192.168.X.80;
 option subnet-mask             255.255.255.0;
 option routers                 192.168.X.1;
 option broadcast-address       192.168.X.254;
 option domain-name             "example.com";
 option domain-name-servers     192.168.X.1;
}

 

syslog.conf 設定

dhcpd.conf の log-facility local7; にて、ログを local7 ファシリティに記録するよう設定したので、/etc/syslog.conf は次のとおり追記する。

# vi /etc/syslog.conf
 
*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err   /var/log/messages
↓
*.notice;authpriv.none;kern.debug;lpr.info;mail.crit;news.err;local7.none   /var/log/messages

local7.* により、local7 ファシリティのあらゆるログ出力を保存するよう別の行へ設定。

local7.*                                        /var/log/dhcpd.log

※syslog.conf の書式は、ファシリティ、レベル、ログ保存先パスの3つで表現する。

(facility).(level)                     /path/to/log

local7.none と表記すると、local7 ファシリティのログを出力しない設定となる。
 

newsyslog.conf 設定

/var/log/dhcpd.log のログローテートを次のとおり設定する。

# vi /etc/newsyslog.conf
 
/var/log/dhcpd.log                      600  10    100  *     JC

newsyslog.conf の変更を反映する。

# newsyslog
# /etc/rc.d/newsyslog restart
# /etc/rc.d/syslogd restart

※書式(man newsyslog.conf より)

  • /var/log/dhcpd.log … 対象ファイル
  • 600 … ログファイルのパーミッション
  • 10 … 世代数(0〜9)
  • 100 … 100KB で次の世代に移る
  • * … 時刻指定(ログを特定の時刻でローテーションしたい場合に指定。* は無指定)
  • JC … フラグ(J … bzip2 で圧縮する / C … ログファイルが無い場合は自動作成する)

 

rc.conf 設定

次の行を rc.conf に追記。

dhcpd_enable="YES"
dhcpd_ifaces="re0" ← LAN側インタフェース

 

デーモン起動
# /etc/rc.d/newsyslog restart
# /etc/rc.d/syslogd restart
# /usr/local/etc/rc.d/isc-dhcpd start