From e9ebbbd251eea80d716a2ce69e68e0562f3f9b92 Mon Sep 17 00:00:00 2001 From: ache Date: Mon, 15 Jan 2018 04:25:03 +0100 Subject: Implementation de dnsmasq --- autoDHCP | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/autoDHCP b/autoDHCP index aee73c9..f6e144d 100755 --- a/autoDHCP +++ b/autoDHCP @@ -79,12 +79,32 @@ if [ -z "$interface" ] ; then fi sudo ip l set "$interface" up -sudo ip a r "${ip}${range}" dev "$interface" +sudo ip a r "${ip}/${range}" dev "$interface" if [ "$server" == "dhcpd" ] ; then sudo /usr/bin/dhcpd -4 -q -pf /run/dhcpd4.pid "$interface" -elif [ "$server" == "dnsmasq" ] ; then - echo 'Not yet implemented' +elif [ "$server" == "dnsmasq" ] ; then + + echo 'Configure dnsmasq' + + ip_start=$(echo "${ip}" | sed 's/\(\([0-9]\{1,3\}\.\)\{3\}\)[0-9]\{1,3\}/\1/') + ip_start_tmp=$(echo "${ip}" | sed 's/\(\([0-9]\{1,3\}\.\)\{3\}\)//') + ip_start_tmp=$((ip_start_tmp+1)) + + dhcp_range=$(echo ${ip_start}{$ip_start_tmp\,,254}),12h + echo "$dhcp_range" + + cat <<< $( + echo " + interface=${interface} + listen-address=${ip} + bind-interfaces + dhcp-range=${dhcp_range}" + ) > /tmp/dnsmasq.conf + sudo dnsmasq --conf-file=/tmp/dnsmasq.conf + else echo "Server name ${server} unknow" fi + +echo 'Should be ready ;)' -- cgit v1.2.3