openwrt dnsmasq启动问题偶尔导致lan侧设备无法通过dhcp获取IP地址

openwrt中的dnsmasq包含有dhcp server和dns的功能,dnsmasq是动态启动的,当网络状态发送变化是会重新启动dnsmasq,启动脚本为/etc/hotpulg.d/iface/25-dnsmasq。dnsmasq脚本启动时会先生成dnsmasq的配置文件,当网络变化频繁时,可能会同时出现多个生成配置文件的过程,写同一个配置文件导致后面关于dhcp的配置丢失,从而导致dhcp server的功能不正常。
修正该问题的方法是配置package/network/services/dnsmasq/files/dnsmasq.hotplug,将启动方式由start改为restart,之后几乎未在出现类似问题。
#!/bin/sh

[ "$ACTION" = ifup ] || exit 0

/etc/init.d/dnsmasq enabled && /etc/init.d/dnsmasq restart

你可能感兴趣的:(OpenWrt,openwrt,dns,网络)