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
|
||||
ucic:set("network",intf,"ip6addr",ip6addr:gsub("%s+", ""))
|
||||
ucic:set("network",intf,"ip6gw",ip6gw:gsub("%s+", ""))
|
||||
ucic:set("network",intf,"ipv6","1")
|
||||
else
|
||||
ucic:set("network",intf,"ip6addr","")
|
||||
ucic:set("network",intf,"ip6gw","")
|
||||
ucic:set("network",intf,"ipv6","0")
|
||||
end
|
||||
|
||||
if proto == "dhcpv6" then
|
||||
|
|
|
@ -135,11 +135,11 @@ _set_omr_ip() {
|
|||
server=$1
|
||||
serverip="$(uci -q get openmptcprouter.${server}.ip)"
|
||||
if [ -n "$serverip" ]; then
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
delete openmptcprouter.${server}.ip
|
||||
add_list openmptcprouter.${server}.ip="${serverip}"
|
||||
commit openmptcprouter
|
||||
EOF
|
||||
uci -q delete openmptcprouter.${server}.ip
|
||||
for ip in ${serverip}; do
|
||||
uci -q add_list openmptcprouter.${server}.ip="${ip}"
|
||||
done
|
||||
uci -q commit openmptcprouter
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
|
@ -1106,6 +1106,7 @@ if [ "$multipath_config" = "master" ]; then
|
|||
# config_foreach set_server_all_routes server
|
||||
if [ "$(uci -q get openmptcprouter.settings.master)" != "failover" ]; then
|
||||
config_foreach set_server_default_route server
|
||||
#config_foreach set_server_default_route6 server
|
||||
fi
|
||||
fi
|
||||
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
|
||||
# config_foreach set_server_all_routes server
|
||||
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
|
||||
#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")
|
||||
[ -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
|
||||
|
@ -1132,11 +1133,11 @@ if [ "$multipath_config" = "master" ]; then
|
|||
routesbalancingbackup=""
|
||||
nbintf=0
|
||||
nbintfb=0
|
||||
nbintf6=0
|
||||
nbintfb6=0
|
||||
#nbintf6=0
|
||||
#nbintfb6=0
|
||||
config_load network
|
||||
config_foreach set_route_balancing interface
|
||||
config_foreach set_route_balancing6 interface
|
||||
#config_foreach set_route_balancing6 interface
|
||||
[ -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" ]) && {
|
||||
_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)"
|
||||
}
|
||||
}
|
||||
[ -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 "$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 "$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" ]) && {
|
||||
_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
|
||||
}
|
||||
}
|
||||
#[ -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" ] && {
|
||||
([ "$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"
|
||||
|
|
|
@ -292,7 +292,7 @@ while true; do
|
|||
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}')
|
||||
#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
|
||||
if [ -z "$OMR_TRACKER_DEVICE_GATEWAY6" ]; then
|
||||
OMR_TRACKER_DEVICE_GATEWAY6=$(uci -q get "network.$OMR_TRACKER_INTERFACE.ip6gw")
|
||||
|
|
Loading…
Reference in a new issue