mirror of
https://github.com/billz/raspap-webgui.git
synced 2023-10-10 13:37:24 +02:00
Paramaterized service start, handles both uap0 and default
This commit is contained in:
parent
a2829dcf78
commit
47a2b7c346
56
installers/servicestart.sh
Normal file → Executable file
56
installers/servicestart.sh
Normal file → Executable file
@ -1,39 +1,61 @@
|
||||
#!/bin/bash
|
||||
# When wireless client AP mode is enabled, this script handles starting
|
||||
# up network services in a specific order and timing to avoid race conditions.
|
||||
|
||||
# When wireless client AP mode is enabled, this script handles starting up network services in a specific order and timing to avoid race conditions.
|
||||
# Todo: update /etc/rc.local script with /bin/bash /etc/raspap/hostapd/servicestart.sh to enable at system startup
|
||||
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
||||
NAME=raspap
|
||||
DESC="Service control for RaspAP"
|
||||
|
||||
positional=()
|
||||
while [[ $# -gt 0 ]]
|
||||
do
|
||||
key="$1"
|
||||
|
||||
case $key in
|
||||
-i|--interface)
|
||||
interface="$2"
|
||||
shift # past argument
|
||||
shift # past value
|
||||
;;
|
||||
-s|--seconds)
|
||||
seconds="$2"
|
||||
shift # past argument
|
||||
shift # past value
|
||||
;;
|
||||
esac
|
||||
done
|
||||
set -- "${positional[@]}"
|
||||
|
||||
echo "Stopping network services..."
|
||||
systemctl stop hostapd.service
|
||||
systemctl stop dnsmasq.service
|
||||
systemctl stop dhcpcd.service
|
||||
|
||||
echo "Removing uap0 interface..."
|
||||
iw dev uap0 del
|
||||
if [ "${interface}" = "uap0" ]; then
|
||||
echo "Removing uap0 interface..."
|
||||
iw dev uap0 del
|
||||
|
||||
echo "Adding uap0 interface..."
|
||||
iw dev wlan0 interface add uap0 type __ap
|
||||
echo "Adding uap0 interface..."
|
||||
iw dev wlan0 interface add uap0 type __ap
|
||||
|
||||
# Add iptables rules (todo: persist to /etc/rc.local as with default rules)
|
||||
echo "IPV4 forwarding: setting..."
|
||||
sysctl net.ipv4.ip_forward=1
|
||||
echo "Editing IP tables..."
|
||||
iptables -t nat -A POSTROUTING -s 192.168.50.0/24 ! -d 192.168.50.0/24 -j MASQUERADE
|
||||
|
||||
# Bring up uap0 interface
|
||||
ifconfig uap0 up
|
||||
# Bring up uap0 interface
|
||||
ifconfig uap0 up
|
||||
else
|
||||
echo "Removing uap0 interface..."
|
||||
iw dev uap0 del
|
||||
fi
|
||||
|
||||
# Start services, mitigating race conditions
|
||||
echo "Starting hostapd service..."
|
||||
systemctl start hostapd.service
|
||||
sleep 5
|
||||
sleep "${seconds}"
|
||||
|
||||
echo "Starting dhcpcd service..."
|
||||
systemctl start dhcpcd.service
|
||||
sleep 5
|
||||
sleep "${seconds}"
|
||||
|
||||
echo "Starting dnsmasq service..."
|
||||
systemctl start dnsmasq.service
|
||||
|
||||
echo "servicestart DONE"
|
||||
echo "RaspAP servicestart DONE"
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user