1
0
mirror of https://github.com/billz/raspap-webgui.git synced 2023-10-10 13:37:24 +02:00
raspap-webgui/installers/hostapdstart.sh
2019-03-06 00:57:49 +01:00

44 lines
1.2 KiB
Bash

#!/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.
# Todo: update /etc/rc.local script with /bin/bash /usr/local/bin/hostapdstart.sh to enable at system startup
# Make sure services are not running
echo "Stopping network services..."
systemctl stop hostapd.service
systemctl stop dnsmasq.service
systemctl stop dhcpcd.service
# Check that no uap0 interface exists
echo "Removing uap0 interface..."
iw dev uap0 del
# Add uap0 interface
echo "Adding uap0 interface..."
iw dev wlan0 interface add uap0 type __ap
# Modify iptables (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
# Enable uap0 interface
ifconfig uap0 up
# Start hostapd, mitigating race condition
echo "Starting hostapd service..."
systemctl start hostapd.service
sleep 5
# Start dhcpcd
echo "Starting dhcpcd service..."
systemctl start dhcpcd.service
sleep 5
echo "Starting dnsmasq service..."
systemctl start dnsmasq.service
echo "hostapdstart DONE"