背景
家里几台路由器(都是比较早的型号了)刷了OpenWrt,有主从AP之分,有时候需要登陆从AP上,结果发现无线都是一些IP/Mac地址之类的,很不好管理。而OpenWrt对于设备hostname的配置是基于dnsmasq的配置文件:dhcp.leases(如果没有修改路径,默认路径为/tmp/dhcp.leases)。因此衍生了一个想法,就是写一个cron任务去定期从主路由上获取dhcp.leases并写入/tmp/dhcp.leases
实现
目前我使用的OpenWrt版本是21.02.该版本的dnsmasq自带了tftp服务(本来是用来做PXE的,不过暂时家里用不上),不过还是可以开启下tftp服务端。具体配置路径为:
网络==>DHCP/DNS==>TFTP设置==>启用 TFTP 服务器(打勾)==>TFTP 服务器根目录==>/tmp
当然,如果你修改了dhcp.leases的路径,那么最好也修改下TFTP根目录。
从路由需要支持tftp客户端,在软件包里面搜索tftp,安装atftp软件,即是对应的tftp客户端。
然后在从路由上配置cron如下(系统==>计划任务):
*/30 * * * * atftp 192.168.0.1 -g -r dhcp.leases -l /tmp/dhcp.leases
由于我配置的DHCP最小是2小时,其实一般也不是天天上去看,因此配置半小时同步下,其中192.168.0.1改成自己主路由的IP即可。效果如下:
转载请注明: 转载自elkPi.com
本文链接地址: 利用TFTP同步OpenWrt dhcp.leases