ホスト名のない通信デバイスにホスト名をつける

スマートプラグなどのホスト名がない通信デバイスにホスト名をつけたいと思ったことはないだろうか。IPアドレスが固定ならホスト名はavahiのhostsファイルに設定するだけでいいしDHCPやarp-scanからMACアドレスとIPアドレスの対応もわかる。あとはMACアドレスにホスト名を関連付ければ自動設定もできるし管理も楽になりそうということでスクリプトを書いてみた。なにより、あちこちにIPアドレス直打ちすることなく一個のhostsファイルで集中管理できるのが良いかも。

※IPアドレスが変わる可能性があるデバイスがあるなら定期的にスキャンし直すかDHCPで固定IPにすること。

【arp-scanのインストール】
sudo apt install arp-scan

【デバイス・リスト(device.list)】
MACアドレスとホスト名を関連付けするための設定ファイル

【検出したデバイスを/etc/avahi/hostsに自動設定する】
sudo ./device-scan.sh で実行。ときどき抜けてしまうデバイスがあるので完全に検出できるまで繰り返し実行してみるべし。

【/etc/avahi/hostsの自動設定の例】