mirror of
https://dev.iopsys.eu/feed/iopsys.git
synced 2026-03-10 11:17:16 +01:00
inteno-netmodes: changed hotplug-script to disable firewall if connected to private ip
This commit is contained in:
parent
d53c2eb937
commit
dd83d4d139
2 changed files with 34 additions and 39 deletions
34
inteno-netmodes/files/etc/hotplug.d/iface/01-netmode-firewall-handler
Executable file
34
inteno-netmodes/files/etc/hotplug.d/iface/01-netmode-firewall-handler
Executable 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
|
||||
|
|
@ -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
|
||||
Loading…
Add table
Reference in a new issue