aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorache <ache@ache.one>2018-01-15 04:25:03 +0100
committerache <ache@ache.one>2018-01-15 04:25:03 +0100
commite9ebbbd251eea80d716a2ce69e68e0562f3f9b92 (patch)
tree2e30f901fd17a5166e239fc1ead0361115bffb15
parentActualisation du Makefile (diff)
Implementation de dnsmasq
-rwxr-xr-xautoDHCP26
1 files 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 ;)'