|
@@ -85,16 +85,16 @@ mwan3_set_general_iptables()
|
85
|
85
|
$IPT -N mwan3_ifaces_in
|
86
|
86
|
fi
|
87
|
87
|
|
88
|
|
- if ! $IPT -S mwan3_ifaces_out &> /dev/null; then
|
89
|
|
- $IPT -N mwan3_ifaces_out
|
90
|
|
- fi
|
91
|
|
-
|
92
|
88
|
if ! $IPT -S mwan3_connected &> /dev/null; then
|
93
|
89
|
$IPT -N mwan3_connected
|
94
|
90
|
$IPS -! create mwan3_connected list:set
|
95
|
91
|
$IPT -A mwan3_connected -m set --match-set mwan3_connected dst -j MARK --set-xmark 0xff00/0xff00
|
96
|
92
|
fi
|
97
|
93
|
|
|
94
|
+ if ! $IPT -S mwan3_ifaces_out &> /dev/null; then
|
|
95
|
+ $IPT -N mwan3_ifaces_out
|
|
96
|
+ fi
|
|
97
|
+
|
98
|
98
|
if ! $IPT -S mwan3_rules &> /dev/null; then
|
99
|
99
|
$IPT -N mwan3_rules
|
100
|
100
|
fi
|
|
@@ -103,8 +103,8 @@ mwan3_set_general_iptables()
|
103
|
103
|
$IPT -N mwan3_hook
|
104
|
104
|
$IPT -A mwan3_hook -j CONNMARK --restore-mark --nfmask 0xff00 --ctmask 0xff00
|
105
|
105
|
$IPT -A mwan3_hook -m mark --mark 0x0/0xff00 -j mwan3_ifaces_in
|
106
|
|
- $IPT -A mwan3_hook -m mark --mark 0x0/0xff00 -j mwan3_ifaces_out
|
107
|
106
|
$IPT -A mwan3_hook -m mark --mark 0x0/0xff00 -j mwan3_connected
|
|
107
|
+ $IPT -A mwan3_hook -m mark --mark 0x0/0xff00 -j mwan3_ifaces_out
|
108
|
108
|
$IPT -A mwan3_hook -m mark --mark 0x0/0xff00 -j mwan3_rules
|
109
|
109
|
$IPT -A mwan3_hook -j CONNMARK --save-mark --nfmask 0xff00 --ctmask 0xff00
|
110
|
110
|
$IPT -A mwan3_hook -m mark ! --mark 0xff00/0xff00 -j mwan3_connected
|
|
@@ -529,12 +529,6 @@ mwan3_set_sticky_iptables()
|
529
|
529
|
|
530
|
530
|
[ -n "$id" ] || return 0
|
531
|
531
|
|
532
|
|
- $IPS -! create mwan3_sticky_v4_$rule hash:ip,mark markmask 0xff00 timeout $timeout
|
533
|
|
- $IPS -! create mwan3_sticky_v6_$rule hash:ip,mark markmask 0xff00 timeout $timeout family inet6
|
534
|
|
- $IPS -! create mwan3_sticky_$rule list:set
|
535
|
|
- $IPS -! add mwan3_sticky_$rule mwan3_sticky_v4_$rule
|
536
|
|
- $IPS -! add mwan3_sticky_$rule mwan3_sticky_v6_$rule
|
537
|
|
-
|
538
|
532
|
for IPT in "$IPT4" "$IPT6"; do
|
539
|
533
|
if [ -n "$($IPT -S mwan3_iface_in_$1 2> /dev/null)" -a -n "$($IPT -S mwan3_iface_out_$1 2> /dev/null)" ]; then
|
540
|
534
|
$IPT -I mwan3_rule_$rule -m mark --mark $(($id*256))/0xff00 -m set ! --match-set mwan3_sticky_$rule src,src -j MARK --set-xmark 0x0/0xff00
|
|
@@ -594,6 +588,12 @@ mwan3_set_user_iptables_rule()
|
594
|
588
|
$IPT -F mwan3_rule_$1
|
595
|
589
|
done
|
596
|
590
|
|
|
591
|
+ $IPS -! create mwan3_sticky_v4_$rule hash:ip,mark markmask 0xff00 timeout $timeout
|
|
592
|
+ $IPS -! create mwan3_sticky_v6_$rule hash:ip,mark markmask 0xff00 timeout $timeout family inet6
|
|
593
|
+ $IPS -! create mwan3_sticky_$rule list:set
|
|
594
|
+ $IPS -! add mwan3_sticky_$rule mwan3_sticky_v4_$rule
|
|
595
|
+ $IPS -! add mwan3_sticky_$rule mwan3_sticky_v6_$rule
|
|
596
|
+
|
597
|
597
|
config_foreach mwan3_set_sticky_iptables interface
|
598
|
598
|
|
599
|
599
|
for IPT in "$IPT4" "$IPT6"; do
|