inteno-netmodes: changed hotplug-script to disable firewall if connected to private ip

This commit is contained in:
Reidar Cederqvist 2017-04-10 14:54:21 +02:00 committed by Sukru Senli
parent d53c2eb937
commit dd83d4d139
2 changed files with 34 additions and 39 deletions

View file

@ -0,0 +1,34 @@
#!/bin/sh
[ "$INTERFACE" != "wan" ] && exit
local ip="$(ip a show $DEVICE | awk '/inet / {print $2; exit}')"
ip="${ip%%/*}"
[ -z "$ip" ] && exit
set_disabled() {
local disabled
local new_disabled=$1
config_load firewall
config_get disabled settings disabled 0
[ $disabled -eq $new_disabled ] && return
uci set firewall.settings.disabled="$1"
uci commit firewall
fw3 reload
}
test_ip() {
if [ -n "$(echo $ip | grep -E '^(192\.168|10\.|172\.1[6789]\.|172\.2[0-9]\.|172\.3[01]\.)')" ]; then
set_disabled 1
else
set_disabled 0
fi
}
case "$(uci -q get netmode.setup.curmode)" in
repeater*)
test_ip
;;
esac

View file

@ -1,39 +0,0 @@
[ "$INTERFACE" != "wan" ] && exit
ip="$(ip a show $DEVICE | awk '/inet / {print $2; exit}')"
ip="${ip%%/*}"
[ -z "$ip" ] && exit
handle_rule() {
local name enabled
enabled=$2
config_get name $1 name
if [ "$name" == "Repeater-Management" ]; then
uci set firewall.$1.enabled="$enabled"
uci commit firewall
fi
}
set_enabled() {
local enabled=$1
config_load firewall
config_foreach handle_rule rule $enabled
}
test_ip() {
if [ -n "$(echo $ip | grep -E '^(192\.168|10\.|172\.1[6789]\.|172\.2[0-9]\.|172\.3[01]\.)')" ]; then
set_enabled 1
else
set_enabled 0
fi
}
case "$(uci -q get netmode.setup.curmode)" in
repeater*)
test_ip
;;
*)
exit
;;
esac