mirror of
https://github.com/novatiq/packages.git
synced 2026-04-30 07:28:39 +01:00
mwan3: update to version 2.0-1
Fix issue with sticky sessions not working correctly Fix issue where user created ipsets were not applied Signed-off-by: Jeroen Louwes <jeroen.louwes@gmail.com>
This commit is contained in:
@@ -1,8 +1,11 @@
|
||||
|
||||
config interface 'wan1'
|
||||
config interface 'wan'
|
||||
option enabled '1'
|
||||
list track_ip '8.8.4.4'
|
||||
option reliability '1'
|
||||
list track_ip '8.8.8.8'
|
||||
list track_ip '208.67.222.222'
|
||||
list track_ip '208.67.220.220'
|
||||
option reliability '2'
|
||||
option count '1'
|
||||
option timeout '2'
|
||||
option interval '5'
|
||||
@@ -10,8 +13,9 @@ config interface 'wan1'
|
||||
option up '8'
|
||||
|
||||
config interface 'wan2'
|
||||
option enabled '1'
|
||||
option enabled '0'
|
||||
list track_ip '8.8.8.8'
|
||||
list track_ip '208.67.220.220'
|
||||
option reliability '1'
|
||||
option count '1'
|
||||
option timeout '2'
|
||||
@@ -19,131 +23,51 @@ config interface 'wan2'
|
||||
option down '3'
|
||||
option up '8'
|
||||
|
||||
config interface 'wan3'
|
||||
option enabled '1'
|
||||
list track_ip '208.67.222.222'
|
||||
option reliability '1'
|
||||
option count '1'
|
||||
option timeout '2'
|
||||
option interval '5'
|
||||
option down '3'
|
||||
option up '8'
|
||||
|
||||
config interface 'wan1_v6'
|
||||
option family 'ipv6'
|
||||
option enabled '1'
|
||||
list track_ip '2001:7b8:1::2'
|
||||
option reliability '1'
|
||||
option count '1'
|
||||
option timeout '2'
|
||||
option interval '5'
|
||||
option down '3'
|
||||
option up '8'
|
||||
|
||||
config interface 'wan2_v6'
|
||||
option family 'ipv6'
|
||||
option enabled '1'
|
||||
list track_ip '2001:7b8:2::2'
|
||||
option reliability '1'
|
||||
option count '1'
|
||||
option timeout '2'
|
||||
option interval '5'
|
||||
option down '3'
|
||||
option up '8'
|
||||
|
||||
config interface 'wan3_v6'
|
||||
option family 'ipv6'
|
||||
option enabled '1'
|
||||
list track_ip '2001:7b8:3::2'
|
||||
option reliability '1'
|
||||
option count '1'
|
||||
option timeout '2'
|
||||
option interval '5'
|
||||
option down '3'
|
||||
option up '8'
|
||||
|
||||
config member 'wan1_m1_w1'
|
||||
option interface 'wan1'
|
||||
config member 'wan_m1_w3'
|
||||
option interface 'wan'
|
||||
option metric '1'
|
||||
option weight '1'
|
||||
option weight '3'
|
||||
|
||||
config member 'wan2_m1_w1'
|
||||
config member 'wan_m2_w3'
|
||||
option interface 'wan'
|
||||
option metric '2'
|
||||
option weight '3'
|
||||
|
||||
config member 'wan2_m1_w2'
|
||||
option interface 'wan2'
|
||||
option metric '1'
|
||||
option weight '1'
|
||||
option weight '2'
|
||||
|
||||
config member 'wan3_m1_w1'
|
||||
option interface 'wan3'
|
||||
option metric '1'
|
||||
option weight '1'
|
||||
config member 'wan2_m2_w2'
|
||||
option interface 'wan2'
|
||||
option metric '2'
|
||||
option weight '2'
|
||||
|
||||
config member 'wan1_v6_m1_w1'
|
||||
option interface 'wan1_v6'
|
||||
option metric '1'
|
||||
option weight '1'
|
||||
|
||||
config member 'wan2_v6_m1_w1'
|
||||
option interface 'wan2_v6'
|
||||
option metric '1'
|
||||
option weight '1'
|
||||
|
||||
config member 'wan3_v6_m1_w1'
|
||||
option interface 'wan3_v6'
|
||||
option metric '1'
|
||||
option weight '1'
|
||||
|
||||
config policy 'wan1_only'
|
||||
list use_member 'wan1_m1_w1'
|
||||
config policy 'wan_only'
|
||||
list use_member 'wan_m1_w3'
|
||||
|
||||
config policy 'wan2_only'
|
||||
list use_member 'wan2_m1_w1'
|
||||
|
||||
config policy 'wan3_only'
|
||||
list use_member 'wan3_m1_w1'
|
||||
|
||||
config policy 'wan1_v6_only'
|
||||
list use_member 'wan1_v6_m1_w1'
|
||||
|
||||
config policy 'wan2_v6_only'
|
||||
list use_member 'wan2_v6_m1_w1'
|
||||
|
||||
config policy 'wan3_v6_only'
|
||||
list use_member 'wan3_v6_m1_w1'
|
||||
list use_member 'wan2_m1_w2'
|
||||
|
||||
config policy 'balanced'
|
||||
list use_member 'wan1_m1_w1'
|
||||
list use_member 'wan2_m1_w1'
|
||||
list use_member 'wan3_m1_w1'
|
||||
list use_member 'wan1_v6_m1_w1'
|
||||
list use_member 'wan2_v6_m1_w1'
|
||||
list use_member 'wan3_v6_m1_w1'
|
||||
list use_member 'wan_m1_w3'
|
||||
list use_member 'wan2_m1_w2'
|
||||
|
||||
config policy 'wan_wan2'
|
||||
list use_member 'wan_m1_w3'
|
||||
list use_member 'wan2_m2_w2'
|
||||
|
||||
config policy 'wan2_wan'
|
||||
list use_member 'wan_m2_w3'
|
||||
list use_member 'wan2_m1_w2'
|
||||
|
||||
config rule 'https'
|
||||
option src_ip '2001:3::/64'
|
||||
option sticky '1'
|
||||
option dest_port '443'
|
||||
option proto 'tcp'
|
||||
option use_policy 'balanced'
|
||||
|
||||
config rule 'https2'
|
||||
option dest_port '19443'
|
||||
option proto 'tcp'
|
||||
option use_policy 'balanced'
|
||||
option sticky '1'
|
||||
|
||||
config rule 'igs'
|
||||
option proto 'icmp'
|
||||
option family 'ipv4'
|
||||
option sticky '1'
|
||||
option ipset 'google'
|
||||
option use_policy 'balanced'
|
||||
|
||||
config rule 'i6gs'
|
||||
option proto 'icmpv6'
|
||||
option family 'ipv6'
|
||||
option sticky '1'
|
||||
option ipset 'google'
|
||||
option use_policy 'balanced'
|
||||
|
||||
config rule 'default_rule'
|
||||
option dest_ip '0.0.0.0/0'
|
||||
option use_policy 'balanced'
|
||||
|
||||
|
||||
@@ -1,5 +1,14 @@
|
||||
#!/bin/sh
|
||||
|
||||
. /lib/functions.sh
|
||||
. /lib/functions/network.sh
|
||||
. /lib/mwan3/mwan3.sh
|
||||
|
||||
config_load mwan3
|
||||
|
||||
config_get enabled $INTERFACE enabled 0
|
||||
[ "$enabled" == "1" ] || exit 0
|
||||
|
||||
[ "$ACTION" == "ifup" -o "$ACTION" == "ifdown" ] || exit 1
|
||||
[ -n "$INTERFACE" ] || exit 2
|
||||
|
||||
@@ -13,14 +22,17 @@ fi
|
||||
[ -x /usr/sbin/ip6tables ] || exit 7
|
||||
[ -x /usr/bin/logger ] || exit 8
|
||||
|
||||
. /lib/functions.sh
|
||||
. /lib/functions/network.sh
|
||||
. /lib/mwan3/mwan3.sh
|
||||
local family gateway
|
||||
|
||||
config_load mwan3
|
||||
config_get family $INTERFACE family ipv4
|
||||
|
||||
config_get enabled $INTERFACE enabled 0
|
||||
[ "$enabled" == "1" ] || exit 0
|
||||
if [ "$family" == "ipv4" ]; then
|
||||
network_get_gateway gateway $INTERFACE
|
||||
elif [ "$family" == "ipv6" ]; then
|
||||
network_get_gateway6 gateway $INTERFACE
|
||||
fi
|
||||
|
||||
[ -n "$gateway" ] || exit 9
|
||||
|
||||
$LOG notice "$ACTION interface $INTERFACE (${DEVICE:-unknown})"
|
||||
|
||||
@@ -34,6 +46,7 @@ case "$ACTION" in
|
||||
mwan3_create_iface_iptables $INTERFACE $DEVICE
|
||||
mwan3_create_iface_route $INTERFACE $DEVICE
|
||||
mwan3_track $INTERFACE $DEVICE
|
||||
mwan3_set_policies_iptables
|
||||
mwan3_set_user_rules
|
||||
;;
|
||||
ifdown)
|
||||
@@ -41,9 +54,9 @@ case "$ACTION" in
|
||||
mwan3_delete_iface_iptables $INTERFACE
|
||||
mwan3_delete_iface_route $INTERFACE
|
||||
mwan3_delete_iface_ipset_entries $INTERFACE
|
||||
mwan3_set_policies_iptables
|
||||
mwan3_set_user_rules
|
||||
;;
|
||||
esac
|
||||
|
||||
config_foreach mwan3_create_policies_iptables policy
|
||||
|
||||
exit 0
|
||||
|
||||
Reference in New Issue
Block a user