Don't modify NetworkManager.conf, just stop NetworkManager temporarily

Seems to fix issues I was having while already connected to a network when starting AP
No longer a need to backup/restore NetworkManager config
We aren't routing traffic to the internet, so no need for iptable modifications
Stop dnsmasq before restarting NetworkManager
pull/225/head
Colin Kuebler 2019-10-03 14:15:38 -04:00
parent e1126b87b7
commit 4cc1e2e875
1 changed files with 9 additions and 37 deletions

View File

@ -20,21 +20,9 @@ if [ -n "$wpa_supplicant_pid" ]; then
fi
if test -d /etc/NetworkManager; then
echo "Backing up NetworkManager.conf..."
sudo cp -n /etc/NetworkManager/NetworkManager.conf /etc/NetworkManager/NetworkManager.conf.backup
sudo bash -c 'cat <<- EOF > /etc/NetworkManager/NetworkManager.conf
[main]
plugins=keyfile
[keyfile]
unmanaged-devices=interface-name:$WLAN
EOF'
echo "Restarting NetworkManager..."
sudo service network-manager restart
echo "Stopping NetworkManager..."
sudo service network-manager stop
fi
sudo ifconfig $WLAN up
echo "Writing hostapd config file..."
cat <<- EOF >hostapd.conf
@ -54,14 +42,9 @@ cat <<- EOF >hostapd.conf
EOF
echo "Configuring AP interface..."
sudo ifconfig $WLAN down
sudo ifconfig $WLAN up 10.42.42.1 netmask 255.255.255.0
echo "Applying iptables rules..."
sudo iptables --flush
sudo iptables --table nat --flush
sudo iptables --delete-chain
sudo iptables --table nat --delete-chain
sudo iptables --table nat --append POSTROUTING --out-interface $ETH -j MASQUERADE
sudo iptables --append FORWARD --in-interface $WLAN -j ACCEPT
sudo ip route add 255.255.255.255 dev $WLAN
echo "Starting DNSMASQ server..."
sudo dnsmasq \
@ -70,27 +53,16 @@ sudo dnsmasq \
--bind-interfaces \
--listen-address=10.42.42.1 \
--dhcp-range=10.42.42.10,10.42.42.40,12h \
--server=9.9.9.9 \
--server=1.1.1.1 \
--address=/#/10.42.42.1
sudo sysctl -w net.ipv4.ip_forward=1 > /dev/null 2>&1
sudo ip route add 255.255.255.255 dev $WLAN
echo "Starting AP on $WLAN..."
sudo hostapd hostapd.conf
echo "AP closed"
if test -d /etc/NetworkManager; then
echo "Restoring NetworkManager.conf..."
sudo mv /etc/NetworkManager/NetworkManager.conf.backup /etc/NetworkManager/NetworkManager.conf
sudo service network-manager restart
fi
echo "Stopping DNSMASQ server..."
sudo pkill dnsmasq
sudo iptables --flush
sudo iptables --flush -t nat
sudo iptables --delete-chain
sudo iptables --table nat --delete-chain
if test -d /etc/NetworkManager; then
echo "Restarting NetworkManager..."
sudo service network-manager restart
fi