概要
Dnsmasq の DHCP サーバーで IP アドレスがリース・解放された時にログを出力する。
環境
- Debian 9 “stretch”
- Dnsmasq 2.76
手順
スクリプトの作成
ホームディレクトリに dnsmasq-dhcp-script.sh の名前で以下の内容のスクリプトを作成。
#!/bin/bash
LOG="/home/ryo/dhcp.log"
DATE=date +"%Y-%m-%d %H:%M:%S"
echo "$DATE $2 $3 $4 ($1)" >> $LOG
スクリプトが呼び出される時の引数の内容は以下の通り。
$1 はアクションに応じて 'add' 'del' 'old' のどれか。 $2 は MAC アドレス $3 は IP アドレス $4 はホスト名
/etc/dnsmasq.conf の設定
以下の1行を追加。
dhcp-script=/home/ryo/dnsmasq-dhcp-script.sh
スクリプトは必ずフルパスで書く。
実行ユーザーは root。
実行ユーザーは root。
Dnsmasq の再起動
$ sudo systemctl restart dnsmasq
実行例
$ cat/home/ryo/dhcp.log 2018-03-16 13:39:48 xx:xx:xx:xx:xx:xx 192.168.1.121 Galaxy-Note8 (old) 2018-03-16 13:40:06 xx:xx:xx:xx:xx:xx 192.168.1.101 (old) 2018-03-16 13:40:06 xx:xx:xx:xx:xx:xx 192.168.1.109 Google-Home (old) 2018-03-16 13:42:10 xx:xx:xx:xx:xx:xx 192.168.1.121 Galaxy-Note8 (old) 2018-03-16 13:42:12 xx:xx:xx:xx:xx:xx 192.168.1.121 Galaxy-Note8 (old) 2018-03-16 14:04:21 xx:xx:xx:xx:xx:xx 192.168.1.140 GAINSPAN_000000 (old) 2018-03-16 14:06:07 xx:xx:xx:xx:xx:xx 192.168.1.112 bravia804077653xxxxxx (add) 2018-03-16 14:27:50 xx:xx:xx:xx:xx:xx 192.168.1.191 Chromecast (old) 2018-03-16 14:44:21 xx:xx:xx:xx:xx:xx 192.168.1.140 GAINSPAN_000000 (old)
関連記事

[Dnsmasq] DHCP サーバーを設置する
概要Dnsmasq を使って、DHCP サーバーを設置する。環境Debian 9 “stretch”Dnsmasq 2.76手順Dnsmasq のインストール# apt install dnsmasq/et...

[Dnsmasq] 家庭内 LAN 用にローカル DNS サーバーを設置する
概要Dnsmasq を使って、家庭内 LAN 用にローカル DNS サーバーを設置する。環境Debian 9Dnsmasq 2.76ローカルのドメインは .local とする手順Dnsmasq のインストール...
コメント