From fab4c085eb9309930e9d46e83136422756cdf6ef Mon Sep 17 00:00:00 2001 From: ache Date: Mon, 15 Jan 2018 04:25:36 +0100 Subject: Rename DHCP --- Makefile | 2 +- autoDHCP | 110 ------------------------------------------------------------ autoDHCP.sh | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 111 insertions(+), 111 deletions(-) delete mode 100755 autoDHCP create mode 100755 autoDHCP.sh diff --git a/Makefile b/Makefile index 063479b..2abc9db 100644 --- a/Makefile +++ b/Makefile @@ -8,7 +8,7 @@ install: sudo cp -i light2.sh /usr/bin/light2 sudo cp -i toMp3.sh /usr/bin/toMp3 sudo cp -i track.py /usr/bin/track - sudo cp -i autoDHCP /usr/bin/autoDHCP + sudo cp -i autoDHCP.sh /usr/bin/autoDHCP sudo cp -i cmount.sh /usr/bin/cmount sudo cp -i cumount.sh /usr/bin/cumount sudo cp -i tethapp.sh /usr/bin/tethapp diff --git a/autoDHCP b/autoDHCP deleted file mode 100755 index f6e144d..0000000 --- a/autoDHCP +++ /dev/null @@ -1,110 +0,0 @@ -#!/bin/env bash - -interface=""; -server="dhcpd" -ip="10.5.5.11" -range="/24" - -# Todo : List interface ✓ -# Select first ✓ -# Select dhcpd or dnsmasq ✓ -# Select ip range ✓ -# Select ip ✓ -# Help ✓ -# Install from Makefile ✓ - -# Default interface is the first non-wireless interfaces (sorted alpha-num) - -if [ "$1" == "dns" ] ; then - server="dnsmasq" - shift -fi - -if [ "$1" == "help" -o "$1" == "-h" -o "$1" == "--help" ] ; then - echo 'Usage : autoDHCP [interface] [ip/range] [dns]' - echo '' - echo 'You also put the server type at the start of the command' - echo 'Ex :' - echo '> autoDHCP wlp3s0 10.5.5.11/24' - echo '> autoDHCP eth0 192.168.0.1 dns' - echo '> autoDHCP dns eth0 192.168.0.1/30' -fi - - - -if [ "$1" ] ; then - interface="$1" - echo "Interface set to ${interface}" -fi - -if [ "$2" ] ; then - if [[ "$2" =~ .*/.* ]] ; then - ip=$(echo $2 | cut -d'/' -f1) - range="`echo $2 | cut -d'/' -f2 `" - echo "Range set to ${range}" - else - ip="$2" - fi - echo "Ip set to ${ip}" -fi - -if [ "$3" == "dns" ] ; then - server="dnsmasq" -fi - - - - - - - -function guess_nowifi { - for i in `ls /sys/class/net/`; do - if [ ! -d "/sys/class/net/$i/wireless" ] ; then - if [ "$interface" ] ; then - if [[ "$i" < "$înterface" ]] ; then - interface="$i" - fi - else - interface="$i" - fi - fi - done -} - - - -if [ -z "$interface" ] ; then - guess_nowifi -fi - -sudo ip l set "$interface" up -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 '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 ;)' diff --git a/autoDHCP.sh b/autoDHCP.sh new file mode 100755 index 0000000..f6e144d --- /dev/null +++ b/autoDHCP.sh @@ -0,0 +1,110 @@ +#!/bin/env bash + +interface=""; +server="dhcpd" +ip="10.5.5.11" +range="/24" + +# Todo : List interface ✓ +# Select first ✓ +# Select dhcpd or dnsmasq ✓ +# Select ip range ✓ +# Select ip ✓ +# Help ✓ +# Install from Makefile ✓ + +# Default interface is the first non-wireless interfaces (sorted alpha-num) + +if [ "$1" == "dns" ] ; then + server="dnsmasq" + shift +fi + +if [ "$1" == "help" -o "$1" == "-h" -o "$1" == "--help" ] ; then + echo 'Usage : autoDHCP [interface] [ip/range] [dns]' + echo '' + echo 'You also put the server type at the start of the command' + echo 'Ex :' + echo '> autoDHCP wlp3s0 10.5.5.11/24' + echo '> autoDHCP eth0 192.168.0.1 dns' + echo '> autoDHCP dns eth0 192.168.0.1/30' +fi + + + +if [ "$1" ] ; then + interface="$1" + echo "Interface set to ${interface}" +fi + +if [ "$2" ] ; then + if [[ "$2" =~ .*/.* ]] ; then + ip=$(echo $2 | cut -d'/' -f1) + range="`echo $2 | cut -d'/' -f2 `" + echo "Range set to ${range}" + else + ip="$2" + fi + echo "Ip set to ${ip}" +fi + +if [ "$3" == "dns" ] ; then + server="dnsmasq" +fi + + + + + + + +function guess_nowifi { + for i in `ls /sys/class/net/`; do + if [ ! -d "/sys/class/net/$i/wireless" ] ; then + if [ "$interface" ] ; then + if [[ "$i" < "$înterface" ]] ; then + interface="$i" + fi + else + interface="$i" + fi + fi + done +} + + + +if [ -z "$interface" ] ; then + guess_nowifi +fi + +sudo ip l set "$interface" up +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 '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