openwrtv4/openwrt/package/base-files/default/etc/init.d/S50dnsmasq

30 lines
701 B
Text
Raw Normal View History

#!/bin/sh
. /etc/functions.sh
. /etc/network.overrides
[ -e /etc/config/network] && . /etc/config/network
# interface to use for DHCP
iface=lan
ifname=$(nvram get ${iface}_ifname)
ipaddr=$(nvram get ${iface}_ipaddr)
netmask=$(nvram get ${iface}_netmask)
(
# check for existing DHCP server
udhcpc -n -q -R -s /dev/zero -i $ifname >&- || {
ipaddr=$(ip2int $ipaddr)
netmask=$(ip2int ${netmask:-255.255.255.0})
network=$((ipaddr&netmask))
start=$(nvram get dhcp_start)
start=$((network+${start:-100}))
end=$(nvram get dhcp_num)
end=$((start+${end:-150}))
args="-l /tmp/dhcp.leases -K -F $(int2ip $start),$(int2ip $end),$(int2ip $netmask),12h"
}
dnsmasq ${args}
) &