DHCP サーバ
dhcpd インストール
オプション選択
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