Skip to content

Commit f95ac01

Browse files
committed
improving firewall rules
1 parent 6afb815 commit f95ac01

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed

luci-app-neko/root/etc/neko/core/reload

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,10 @@
55
neko_status=$(uci -q get neko.cfg.enabled)
66
neko_new_interface=$(uci -q get neko.cfg.new_interface)
77
neko_delay=$(uci -q get neko.cfg.delay)
8-
tun_bin="/etc/neko/core/tun"
9-
neko_pid="/etc/neko/tmp/neko_pid.txt"
10-
log="/etc/neko/tmp/log.txt"
8+
neko_dir="/etc/neko"
9+
tun_bin="$neko_dir/core/tun"
10+
neko_pid="$neko_dir/tmp/neko_pid.txt"
11+
log="$neko_dir/tmp/log.txt"
1112
firewall="/etc/init.d/firewall"
1213
neko_version=$1
1314

@@ -52,7 +53,9 @@ neko_reload(){
5253

5354
if (( $uptime < $last_uptime )) || [ -z $last_uptime ]; then
5455
echo "reloading firewall"
56+
$firewall restart
5557
echo "[ `date +%T` ] - Detected interfaces $iface changed, Reloading Firewall " >> $log
58+
sleep 1
5659
$tun_bin -ks
5760
else
5861
echo "nothing"

luci-app-neko/root/etc/neko/core/tun

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,13 @@ start_tun_fw4() {
6969
}
7070
stop_tun_fw4() {
7171
echo "[ `date +%T` ] - Cleaning nftables Route"
72-
handles=`nft -a list chain inet fw4 forward |grep -E "oifname.*${tun_device}" |awk -F '# handle ' '{print$2}'`
73-
for handle in $handles; do
74-
$nft delete rule inet fw4 forward handle ${handle}
72+
73+
nft_list=(forward input srcnat)
74+
for nft_now in ${nft_list[@]}; do
75+
handles=`nft -a list chain inet fw4 $nft_now |grep -E "Neko" |awk -F '# handle ' '{print$2}'`
76+
for handle in $handles; do
77+
$nft delete rule inet fw4 ${nft_now} handle ${handle}
78+
done
7579
done
7680
}
7781
while getopts ":sk" signal ; do

0 commit comments

Comments
 (0)