mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-02-15 03:51:51 +00:00
commit
41fdcd5bad
4 changed files with 39 additions and 17 deletions
|
@ -388,9 +388,11 @@ function wizard_add()
|
||||||
if ip6addr ~= "" then
|
if ip6addr ~= "" then
|
||||||
ucic:set("network",intf,"ip6addr",ip6addr:gsub("%s+", ""))
|
ucic:set("network",intf,"ip6addr",ip6addr:gsub("%s+", ""))
|
||||||
ucic:set("network",intf,"ip6gw",ip6gw:gsub("%s+", ""))
|
ucic:set("network",intf,"ip6gw",ip6gw:gsub("%s+", ""))
|
||||||
|
ucic:set("network",intf,"ipv6","1")
|
||||||
else
|
else
|
||||||
ucic:set("network",intf,"ip6addr","")
|
ucic:set("network",intf,"ip6addr","")
|
||||||
ucic:set("network",intf,"ip6gw","")
|
ucic:set("network",intf,"ip6gw","")
|
||||||
|
ucic:set("network",intf,"ipv6","0")
|
||||||
end
|
end
|
||||||
|
|
||||||
if proto == "dhcpv6" then
|
if proto == "dhcpv6" then
|
||||||
|
|
|
@ -135,11 +135,11 @@ _set_omr_ip() {
|
||||||
server=$1
|
server=$1
|
||||||
serverip="$(uci -q get openmptcprouter.${server}.ip)"
|
serverip="$(uci -q get openmptcprouter.${server}.ip)"
|
||||||
if [ -n "$serverip" ]; then
|
if [ -n "$serverip" ]; then
|
||||||
uci -q batch <<-EOF >/dev/null
|
uci -q delete openmptcprouter.${server}.ip
|
||||||
delete openmptcprouter.${server}.ip
|
for ip in ${serverip}; do
|
||||||
add_list openmptcprouter.${server}.ip="${serverip}"
|
uci -q add_list openmptcprouter.${server}.ip="${ip}"
|
||||||
commit openmptcprouter
|
done
|
||||||
EOF
|
uci -q commit openmptcprouter
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1106,6 +1106,7 @@ if [ "$multipath_config" = "master" ]; then
|
||||||
# config_foreach set_server_all_routes server
|
# config_foreach set_server_all_routes server
|
||||||
if [ "$(uci -q get openmptcprouter.settings.master)" != "failover" ]; then
|
if [ "$(uci -q get openmptcprouter.settings.master)" != "failover" ]; then
|
||||||
config_foreach set_server_default_route server
|
config_foreach set_server_default_route server
|
||||||
|
#config_foreach set_server_default_route6 server
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
if ([ "$default_gw6" != "$OMR_TRACKER_DEVICE_GATEWAY6" ] || [ "$default_gw6" = "" ]) && [ "$OMR_TRACKER_DEVICE_GATEWAY6" != "" ] && [ "$(uci -q get openmptcprouter.settings.master)" != "balancing" ]; then
|
if ([ "$default_gw6" != "$OMR_TRACKER_DEVICE_GATEWAY6" ] || [ "$default_gw6" = "" ]) && [ "$OMR_TRACKER_DEVICE_GATEWAY6" != "" ] && [ "$(uci -q get openmptcprouter.settings.master)" != "balancing" ]; then
|
||||||
|
@ -1119,12 +1120,12 @@ if [ "$multipath_config" = "master" ]; then
|
||||||
#if [ "$(uci -q get openmptcprouter.settings.master)" = "balancing" ]; then
|
#if [ "$(uci -q get openmptcprouter.settings.master)" = "balancing" ]; then
|
||||||
# config_foreach set_server_all_routes server
|
# config_foreach set_server_all_routes server
|
||||||
if [ "$(uci -q get openmptcprouter.settings.master)" != "failover" ]; then
|
if [ "$(uci -q get openmptcprouter.settings.master)" != "failover" ]; then
|
||||||
config_foreach set_server_default_route server
|
#config_foreach set_server_default_route server
|
||||||
config_foreach set_server_default_route6 server
|
config_foreach set_server_default_route6 server
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
#if [ "$(uci -q get openmptcprouter.settings.master)" = "balancing" ] && [ "$(ip route show default | grep weight)" = "" ] && [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ] && [ "$(uci -q get openmptcprouter.settings.vpn)" != "mlvpn" ]; then
|
#if [ "$(uci -q get openmptcprouter.settings.master)" = "balancing" ] && [ "$(ip route show default | grep weight)" = "" ] && [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ] && [ "$(uci -q get openmptcprouter.settings.vpn)" != "mlvpn" ]; then
|
||||||
if [ "$(uci -q get openmptcprouter.settings.master)" = "balancing" ] && [ "$(ip route show default | grep weight)" = "" ] && [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ]; then
|
if [ "$(uci -q get openmptcprouter.settings.master)" = "balancing" ] && ([ "$(ip route show default | grep weight)" = "" ] || [ "$(ip -6 route show default | grep weight)" = "" ]) && [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ]; then
|
||||||
omrvpn_intf=$(uci -q get "network.omrvpn.device" || echo "tun0")
|
omrvpn_intf=$(uci -q get "network.omrvpn.device" || echo "tun0")
|
||||||
[ -z "$omrvpn_intf" ] && omrvpn_intf=$(uci -q get "network.omrvpn.ifname" || echo "tun0")
|
[ -z "$omrvpn_intf" ] && omrvpn_intf=$(uci -q get "network.omrvpn.ifname" || echo "tun0")
|
||||||
if [ -n "$omrvpn_intf" ] && [ "$(ip route show default | grep -v metric | awk '/default/ {print $5}' | grep $omrvpn_intf)" = "" ]; then
|
if [ -n "$omrvpn_intf" ] && [ "$(ip route show default | grep -v metric | awk '/default/ {print $5}' | grep $omrvpn_intf)" = "" ]; then
|
||||||
|
@ -1132,11 +1133,11 @@ if [ "$multipath_config" = "master" ]; then
|
||||||
routesbalancingbackup=""
|
routesbalancingbackup=""
|
||||||
nbintf=0
|
nbintf=0
|
||||||
nbintfb=0
|
nbintfb=0
|
||||||
nbintf6=0
|
#nbintf6=0
|
||||||
nbintfb6=0
|
#nbintfb6=0
|
||||||
config_load network
|
config_load network
|
||||||
config_foreach set_route_balancing interface
|
config_foreach set_route_balancing interface
|
||||||
config_foreach set_route_balancing6 interface
|
#config_foreach set_route_balancing6 interface
|
||||||
[ -n "$routesbalancing" ] && {
|
[ -n "$routesbalancing" ] && {
|
||||||
([ "$nbintf" -gt "1" ] && [ "$(ip r show default metric 1 | tr -d '\t' | tr -d '\n')" != "default via $routesbalancing " ]) || ([ "$nbintf" = "1" ] && ([ "$(ip r show default metric 1 | grep $OMR_TRACKER_DEVICE)" = "" ] || ([ -n "$OMR_TRACKER_INTERFACE" ] && [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.vpn)" = "1" ])) && [ -n "$OMR_TRACKER_DEVICE_IP" ]) && {
|
([ "$nbintf" -gt "1" ] && [ "$(ip r show default metric 1 | tr -d '\t' | tr -d '\n')" != "default via $routesbalancing " ]) || ([ "$nbintf" = "1" ] && ([ "$(ip r show default metric 1 | grep $OMR_TRACKER_DEVICE)" = "" ] || ([ -n "$OMR_TRACKER_INTERFACE" ] && [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.vpn)" = "1" ])) && [ -n "$OMR_TRACKER_DEVICE_IP" ]) && {
|
||||||
_log "Change in routes, set ip route replace default scope global $routesbalancing (omrvpn_intf: $omrvpn_intf)"
|
_log "Change in routes, set ip route replace default scope global $routesbalancing (omrvpn_intf: $omrvpn_intf)"
|
||||||
|
@ -1145,18 +1146,37 @@ if [ "$multipath_config" = "master" ]; then
|
||||||
[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "New route: $(ip r)"
|
[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "New route: $(ip r)"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
[ -n "$routesbalancing6" ] && {
|
#[ -n "$routesbalancing6" ] && {
|
||||||
([ "$nbintf6" -gt "1" ] && [ "$(ip -6 r show default metric 1 | tr -d '\t' | tr -d '\n')" != "default via $routesbalancing6 " ]) || ([ "$nbintf6" = "1" ] && [ "$(ip -6 r show default metric 1 | grep $OMR_TRACKER_DEVICE)" = "" ] && [ -n "$OMR_TRACKER_DEVICE_IP6" ]) && {
|
# ([ "$nbintf6" -gt "1" ] && [ "$(ip -6 r show default metric 1 | tr -d '\t' | tr -d '\n')" != "default via $routesbalancing6 " ]) || ([ "$nbintf6" = "1" ] && [ "$(ip -6 r show default metric 1 | grep $OMR_TRACKER_DEVICE)" = "" ] && [ -n "$OMR_TRACKER_DEVICE_IP6" ]) && {
|
||||||
_log "Set ip -6 route replace default scope global metric 1 $routesbalancing6"
|
# _log "Set ip -6 route replace default scope global metric 1 $routesbalancing6"
|
||||||
ip -6 route replace default scope global metric 1 $routesbalancing6 2>&1 >/dev/null
|
# ip -6 route replace default scope global metric 1 $routesbalancing6 2>&1 >/dev/null
|
||||||
}
|
# }
|
||||||
}
|
#}
|
||||||
[ -n "$routesbalancingbackup" ] && {
|
[ -n "$routesbalancingbackup" ] && {
|
||||||
([ "$nbintfb" -gt "1" ] && [ "$(ip r show default metric 999 | tr -d '\t' | tr -d '\n')" != "default via $routesbalancingbackup " ]) || ([ "$nbintf" = "1" ] && ([ "$(ip r show default metric 999 | grep $OMR_TRACKER_DEVICE)" = "" ] || ([ -n "$OMR_TRACKER_INTERFACE" ] && [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.vpn)" = "1" ])) && [ -n "$OMR_TRACKER_DEVICE_IP" ]) && {
|
([ "$nbintfb" -gt "1" ] && [ "$(ip r show default metric 999 | tr -d '\t' | tr -d '\n')" != "default via $routesbalancingbackup " ]) || ([ "$nbintf" = "1" ] && ([ "$(ip r show default metric 999 | grep $OMR_TRACKER_DEVICE)" = "" ] || ([ -n "$OMR_TRACKER_INTERFACE" ] && [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.vpn)" = "1" ])) && [ -n "$OMR_TRACKER_DEVICE_IP" ]) && {
|
||||||
_log "Set backup ip route replace default scope global metric 999 $routesbalancingbackup"
|
_log "Set backup ip route replace default scope global metric 999 $routesbalancingbackup"
|
||||||
ip route replace default scope global metric 999 $routesbalancingbackup 2>&1 >/dev/null
|
ip route replace default scope global metric 999 $routesbalancingbackup 2>&1 >/dev/null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#[ -n "$routesbalancingbackup6" ] && {
|
||||||
|
# ([ "$nbintfb6" -gt "1" ] && [ "$(ip -6 r show default metric 999 | tr -d '\t' | tr -d '\n')" != "default via $routesbalancingbackup6 " ]) || ([ "$nbintf6" = "1" ] && [ "$(ip -6 r show default metric 999 | grep $OMR_TRACKER_DEVICE)" = "" ] && [ -n "$OMR_TRACKER_DEVICE_IP6" ]) && {
|
||||||
|
# _log "Set backup ip -6 route replace default scope global $routesbalancingbackup6"
|
||||||
|
# ip -6 route replace default scope global metric 999 $routesbalancingbackup6 2>&1 >/dev/null
|
||||||
|
# }
|
||||||
|
#}
|
||||||
|
elif [ -n "$omrvpn_intf" ] && [ "$(ip -6 route show default | grep -v metric | awk '/default/ {print $5}' | grep $omrvpn_intf)" = "" ]; then
|
||||||
|
routesbalancing6=""
|
||||||
|
routesbalancingbackup6=""
|
||||||
|
nbintf6=0
|
||||||
|
nbintfb6=0
|
||||||
|
config_load network
|
||||||
|
config_foreach set_route_balancing6 interface
|
||||||
|
[ -n "$routesbalancing6" ] && {
|
||||||
|
([ "$nbintf6" -gt "1" ] && [ "$(ip -6 r show default metric 1 | tr -d '\t' | tr -d '\n')" != "default via $routesbalancing6 " ]) || ([ "$nbintf6" = "1" ] && [ "$(ip -6 r show default metric 1 | grep $OMR_TRACKER_DEVICE)" = "" ] && [ -n "$OMR_TRACKER_DEVICE_IP6" ]) && {
|
||||||
|
_log "Set ip -6 route replace default scope global metric 1 $routesbalancing6"
|
||||||
|
ip -6 route replace default scope global metric 1 $routesbalancing6 2>&1 >/dev/null
|
||||||
|
}
|
||||||
|
}
|
||||||
[ -n "$routesbalancingbackup6" ] && {
|
[ -n "$routesbalancingbackup6" ] && {
|
||||||
([ "$nbintfb6" -gt "1" ] && [ "$(ip -6 r show default metric 999 | tr -d '\t' | tr -d '\n')" != "default via $routesbalancingbackup6 " ]) || ([ "$nbintf6" = "1" ] && [ "$(ip -6 r show default metric 999 | grep $OMR_TRACKER_DEVICE)" = "" ] && [ -n "$OMR_TRACKER_DEVICE_IP6" ]) && {
|
([ "$nbintfb6" -gt "1" ] && [ "$(ip -6 r show default metric 999 | tr -d '\t' | tr -d '\n')" != "default via $routesbalancingbackup6 " ]) || ([ "$nbintf6" = "1" ] && [ "$(ip -6 r show default metric 999 | grep $OMR_TRACKER_DEVICE)" = "" ] && [ -n "$OMR_TRACKER_DEVICE_IP6" ]) && {
|
||||||
_log "Set backup ip -6 route replace default scope global $routesbalancingbackup6"
|
_log "Set backup ip -6 route replace default scope global $routesbalancingbackup6"
|
||||||
|
|
|
@ -292,7 +292,7 @@ while true; do
|
||||||
if [ "$OMR_TRACKER_IPV6" = "1" ] || [ "$OMR_TRACKER_IPV6" = "auto" ]; then
|
if [ "$OMR_TRACKER_IPV6" = "1" ] || [ "$OMR_TRACKER_IPV6" = "auto" ]; then
|
||||||
#OMR_TRACKER_DEVICE_IP6=$(ip -6 -br addr ls dev "$OMR_TRACKER_DEVICE" | awk -F'[ /]+' '{print $3}')
|
#OMR_TRACKER_DEVICE_IP6=$(ip -6 -br addr ls dev "$OMR_TRACKER_DEVICE" | awk -F'[ /]+' '{print $3}')
|
||||||
#if [ -z "$OMR_TRACKER_DEVICE_IP6" ]; then
|
#if [ -z "$OMR_TRACKER_DEVICE_IP6" ]; then
|
||||||
OMR_TRACKER_DEVICE_IP6=$(ip -6 addr show dev "$OMR_TRACKER_DEVICE" | grep -v 'inet6 fe80' | grep -m 1 inet6 | awk '{print $2}' | cut -d'/' -s -f1)
|
OMR_TRACKER_DEVICE_IP6=$(ip -6 addr show dev "$OMR_TRACKER_DEVICE" | sort -r | grep -m 1 inet6 | awk '{print $2}' | cut -d'/' -s -f1)
|
||||||
#fi
|
#fi
|
||||||
if [ -z "$OMR_TRACKER_DEVICE_GATEWAY6" ]; then
|
if [ -z "$OMR_TRACKER_DEVICE_GATEWAY6" ]; then
|
||||||
OMR_TRACKER_DEVICE_GATEWAY6=$(uci -q get "network.$OMR_TRACKER_INTERFACE.ip6gw")
|
OMR_TRACKER_DEVICE_GATEWAY6=$(uci -q get "network.$OMR_TRACKER_INTERFACE.ip6gw")
|
||||||
|
|
Loading…
Reference in a new issue