mirror of
https://github.com/RaspAP/raspap-webgui.git
synced 2024-11-25 09:00:25 +00:00
42 lines
994 B
Bash
42 lines
994 B
Bash
|
#!/bin/bash
|
||
|
|
||
|
function do_routed_mode() {
|
||
|
sudo systemctl disable systemd-networkd
|
||
|
|
||
|
sudo sed -i "s/^.*#BRIDGED$/#&/" /etc/dhcpcd.conf
|
||
|
sudo sed -i "s/^bridge/#&/" /etc/hostapd/hostapd.conf
|
||
|
|
||
|
sudo ip link set down br0
|
||
|
sudo ip link del dev br0
|
||
|
}
|
||
|
|
||
|
function do_bridged_mode() {
|
||
|
sudo sed -i "s/^#\(.*#BRIDGED\)$/\1/" /etc/dhcpcd.conf
|
||
|
sudo sed -i "s/^#\(bridge\)/\1/" /etc/hostapd/hostapd.conf
|
||
|
|
||
|
sudo ip link set down eth0
|
||
|
sudo ip link set up eth0
|
||
|
|
||
|
sudo systemctl start systemd-networkd
|
||
|
sudo systemctl enable systemd-networkd
|
||
|
}
|
||
|
|
||
|
sudo systemctl stop systemd-networkd
|
||
|
sudo systemctl stop hostapd
|
||
|
sudo systemctl stop dhcpcd
|
||
|
sudo systemctl stop dnsmasq
|
||
|
|
||
|
if [ "$1" = "force-routed" ]
|
||
|
then do_routed_mode
|
||
|
elif [ "$1" = "force-bridged" ]
|
||
|
then do_bridged_mode
|
||
|
elif ip addr show br0 | grep 'inet ' > /dev/null
|
||
|
then do_routed_mode
|
||
|
elif ! ip addr show br0 | grep 'inet ' > /dev/null
|
||
|
then do_bridged_mode
|
||
|
fi
|
||
|
|
||
|
sudo systemctl start hostapd
|
||
|
sudo systemctl start dhcpcd
|
||
|
sudo systemctl start dnsmasq
|