1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-02-13 11:01:50 +00:00

Post tracking changes needed for no default gateway option

This commit is contained in:
Ycarus (Yannick Chabanois) 2020-05-05 10:48:55 +02:00
parent 7f8c070254
commit 7e53b4460a

View file

@ -119,7 +119,7 @@ set_server_all_routes() {
routesintf="" routesintf=""
config_load network config_load network
config_foreach set_routes_intf interface config_foreach set_routes_intf interface
[ -n "$routesintf" ] && { [ -n "$routesintf" ] && [ "$(echo $routesintf | grep $OMR_TRACKER_DEVICE_GATEWAY)" != "" ] && {
_log "Set server $server default route $serverip $routesintf" _log "Set server $server default route $serverip $routesintf"
ip route replace $serverip scope global $routesintf ip route replace $serverip scope global $routesintf
} }
@ -250,7 +250,7 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ]; then
#fi #fi
} }
if [ "$default_gw" = "$OMR_TRACKER_DEVICE_GATEWAY" ] || [ "$default_gw" = "" ]; then if ([ "$default_gw" = "$OMR_TRACKER_DEVICE_GATEWAY" ] || [ "$default_gw" = "" ]) && [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ]; then
config_load network config_load network
config_foreach set_route interface $OMR_TRACKER_INTERFACE config_foreach set_route interface $OMR_TRACKER_INTERFACE
fi fi
@ -271,8 +271,10 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ]; then
else else
_log "$OMR_TRACKER_INTERFACE down because $OMR_TRACKER_STATUS_MSG" _log "$OMR_TRACKER_INTERFACE down because $OMR_TRACKER_STATUS_MSG"
fi fi
config_load network if [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ]; then
config_foreach set_route interface $OMR_TRACKER_INTERFACE config_load network
config_foreach set_route interface $OMR_TRACKER_INTERFACE
fi
if [ "$(uci -q get shadowsocks-libev.sss0.disabled)" != "1" ] && [ "$(uci -q get openmptcprouter.omr.shadowsocks)" = "up" ] && [ "$(uci -q get shadowsocks-libev.ss_rules.redir_udp)" = "" ] && [ "$(uci -q get shadowsocks-libev.hi2.mode)" = "tcp_and_udp" ]; then if [ "$(uci -q get shadowsocks-libev.sss0.disabled)" != "1" ] && [ "$(uci -q get openmptcprouter.omr.shadowsocks)" = "up" ] && [ "$(uci -q get shadowsocks-libev.ss_rules.redir_udp)" = "" ] && [ "$(uci -q get shadowsocks-libev.hi2.mode)" = "tcp_and_udp" ]; then
_log "Tunnel down use ShadowSocks for UDP" _log "Tunnel down use ShadowSocks for UDP"
uci -q set shadowsocks-libev.ss_rules.redir_udp='hi2' uci -q set shadowsocks-libev.ss_rules.redir_udp='hi2'
@ -382,7 +384,7 @@ multipath_config=$(uci -q get "network.$OMR_TRACKER_INTERFACE.multipath")
if [ "$multipath_config" = "master" ]; then if [ "$multipath_config" = "master" ]; then
if ([ "$default_gw" != "$OMR_TRACKER_DEVICE_GATEWAY" ] || [ "$default_gw" = "" ]) && [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ] && [ "$(uci -q get openmptcprouter.settings.master)" != "balancing" ]; then if ([ "$default_gw" != "$OMR_TRACKER_DEVICE_GATEWAY" ] || [ "$default_gw" = "" ]) && [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ] && [ "$(uci -q get openmptcprouter.settings.master)" != "balancing" ]; then
omrvpn_intf=$(uci -q get "network.omrvpn.ifname" || echo "tun") omrvpn_intf=$(uci -q get "network.omrvpn.ifname" || echo "tun")
if [ -n "$omrvpn_intf" ] && [ "$(ip route show default | awk '/default/ {print $5}' | grep $omrvpn_intf)" = "" ]; then if [ -n "$omrvpn_intf" ] && [ "$(ip route show default | awk '/default/ {print $5}' | grep $omrvpn_intf)" = "" ] && [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ]; then
_log "Master up : Replace default route by $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE" _log "Master up : Replace default route by $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE"
ip route replace default scope global nexthop via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE ip route replace default scope global nexthop via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE
fi fi
@ -394,7 +396,7 @@ if [ "$multipath_config" = "master" ]; then
fi fi
ip route replace default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE table 991337 ip route replace default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE table 991337
fi fi
if [ "$(uci -q get openmptcprouter.settings.master)" = "balancing" ] && [ "$(ip route show default | grep weight)" = "" ]; then if [ "$(uci -q get openmptcprouter.settings.master)" = "balancing" ] && [ "$(ip route show default | grep weight)" = "" ] && [ "$(uci -q get openmptcprouter.settings.defaultgw)" != "0" ]; then
omrvpn_intf=$(uci -q get "network.omrvpn.ifname" || echo "tun") omrvpn_intf=$(uci -q get "network.omrvpn.ifname" || echo "tun")
if [ -n "$omrvpn_intf" ] && [ "$(ip route show default | awk '/default/ {print $5}' | grep $omrvpn_intf)" = "" ]; then if [ -n "$omrvpn_intf" ] && [ "$(ip route show default | awk '/default/ {print $5}' | grep $omrvpn_intf)" = "" ]; then
ip route replace default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE table 991337 ip route replace default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE table 991337
@ -619,11 +621,21 @@ if [ "$(pgrep glorytun)" = "" ] && [ "$(uci -q get glorytun.vpn.enabled)" = "1"
/etc/init.d/glorytun-udp restart /etc/init.d/glorytun-udp restart
sleep 5 sleep 5
fi fi
if [ "$(pgrep openvpn)" = "" ] && [ "$(uci -q get openvpn.omr.enabled)" = "1" ] && [ -f /etc/init.d/openvpn ]; then
_log "Can't find OpenVPN, restart it..." if [ "$(pgrep openvpn)" = "" ] && [ -f /etc/init.d/openvpn ]; then
/etc/init.d/openvpn restart openvpn_enable=0
sleep 5 openvpn_enabled() {
[ "$(uci -q get openvpn.$1.enabled)" = "1" ] && openvpn_enable=1
}
config_load openvpn
config_foreach openvpn_enabled openvpn
if [ "$openvpn_enable" = "1" ]; then
_log "Can't find OpenVPN, restart it"
/etc/init.d/openvpn restart
sleep 5
fi
fi fi
if [ "$(pgrep mlvpn)" = "" ] && [ "$(uci -q get mlvpn.general.enable)" = "1" ] && [ -f /etc/init.d/mlvpn ]; then if [ "$(pgrep mlvpn)" = "" ] && [ "$(uci -q get mlvpn.general.enable)" = "1" ] && [ -f /etc/init.d/mlvpn ]; then
_log "Can't find MLVPN, restart it..." _log "Can't find MLVPN, restart it..."
/etc/init.d/mlvpn restart /etc/init.d/mlvpn restart