1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-03-09 15:40:03 +00:00

Use route as uci route not working well...

This commit is contained in:
Ycarus 2018-12-23 14:13:11 +01:00
parent 19efd53b56
commit 975fd9942a

View file

@ -23,8 +23,8 @@ set_route() {
fi fi
if [ "$interface_gw" != "" ]; then if [ "$interface_gw" != "" ]; then
_log "$PREVINTERFACE down. Replace default route by $interface_gw dev $interface_if" _log "$PREVINTERFACE down. Replace default route by $interface_gw dev $interface_if"
#ip route replace default scope global nexthop via $interface_gw dev $interface_if && SETROUTE=true ip route replace default scope global nexthop via $interface_gw dev $interface_if && SETROUTE=true
#ip route replace default via $interface_gw dev $interface_if table 991337 ip route replace default via $interface_gw dev $interface_if table 991337
uci -q batch <<-EOF >/dev/null uci -q batch <<-EOF >/dev/null
set network.default_route=route set network.default_route=route
set network.default_route.interface=$INTERFACE set network.default_route.interface=$INTERFACE
@ -82,15 +82,16 @@ set_server_route() {
EOF EOF
fi fi
if [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ]; then if [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ]; then
#ip route replace default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE metric $metric ip route replace default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE metric $metric
uci -q batch <<-EOF >/dev/null uci -q batch <<-EOF >/dev/null
delete network.${OMR_TRACKER_INTERFACE}_route_default_metric
set network.${OMR_TRACKER_INTERFACE}_route_default_metric=route set network.${OMR_TRACKER_INTERFACE}_route_default_metric=route
set network.${OMR_TRACKER_INTERFACE}_route_default_metric.interface=$OMR_TRACKER_INTERFACE set network.${OMR_TRACKER_INTERFACE}_route_default_metric.interface=$OMR_TRACKER_INTERFACE
set network.${OMR_TRACKER_INTERFACE}_route_default_metric.target='0.0.0.0' set network.${OMR_TRACKER_INTERFACE}_route_default_metric.target='0.0.0.0'
set network.${OMR_TRACKER_INTERFACE}_route_default_metric.netmask='0.0.0.0' set network.${OMR_TRACKER_INTERFACE}_route_default_metric.netmask='0.0.0.0'
set network.${OMR_TRACKER_INTERFACE}_route_default_metric.gateway=$OMR_TRACKER_DEVICE_GATEWAY set network.${OMR_TRACKER_INTERFACE}_route_default_metric.gateway=$OMR_TRACKER_DEVICE_GATEWAY
set network.${OMR_TRACKER_INTERFACE}_route_default_metric.metric=$metric set network.${OMR_TRACKER_INTERFACE}_route_default_metric.metric=$metric
set network.${OMR_TRACKER_INTERFACE}_route_default_metric.source=$OMR_TRACKER_DEVICE_IP #set network.${OMR_TRACKER_INTERFACE}_route_default_metric.source=$OMR_TRACKER_DEVICE_IP
commit network.${OMR_TRACKER_INTERFACE}_route_default_metric commit network.${OMR_TRACKER_INTERFACE}_route_default_metric
EOF EOF
fi fi
@ -148,7 +149,7 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ]; then
# config_foreach del_ss_route server $metric # config_foreach del_ss_route server $metric
#else #else
# if [ -n "$OMR_TRACKER_DEVICE_GATEWAY" ]; then # if [ -n "$OMR_TRACKER_DEVICE_GATEWAY" ]; then
# ip route del default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE >/dev/null 2>&1 ip route del default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE >/dev/null 2>&1
# fi # fi
# config_foreach del_ss_route server off # config_foreach del_ss_route server off
#fi #fi
@ -174,8 +175,6 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ]; then
fi fi
config_load network config_load network
config_foreach set_route interface $OMR_TRACKER_INTERFACE config_foreach set_route interface $OMR_TRACKER_INTERFACE
#config_load shadowsocks-libev
#config_foreach del_ss_route server all
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'
@ -186,7 +185,7 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ]; then
fi fi
fi fi
dns_flush dns_flush
/etc/init.d/network reload ubus call network reload
exit 0 exit 0
fi fi
@ -201,7 +200,7 @@ if [ "$OMR_TRACKER_INTERFACE" = "glorytun" ] || [ "$OMR_TRACKER_INTERFACE" = "om
set network.default_route.gateway=$OMR_TRACKER_DEVICE_GATEWAY set network.default_route.gateway=$OMR_TRACKER_DEVICE_GATEWAY
commit network.default_route commit network.default_route
EOF EOF
#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
if [ "$(uci -q get shadowsocks-libev.sss0.disabled)" != "1" ] && [ "$(uci -q get shadowsocks-libev.ss_rules.redir_udp)" = "hi2" ]; then if [ "$(uci -q get shadowsocks-libev.sss0.disabled)" != "1" ] && [ "$(uci -q get shadowsocks-libev.ss_rules.redir_udp)" = "hi2" ]; then
_log "Tunnel up disable use of ShadowSocks for UDP" _log "Tunnel up disable use of ShadowSocks for UDP"
@ -236,7 +235,7 @@ if [ "$OMR_TRACKER_INTERFACE" = "glorytun" ] || [ "$OMR_TRACKER_INTERFACE" = "om
fi fi
uci -q commit openmptcprouter uci -q commit openmptcprouter
fi fi
/etc/init.d/network reload #ubus call network reload
exit 0 exit 0
fi fi
@ -255,7 +254,6 @@ if [ "$multipath_config" = "master" ]; then
omrvpn_intf=$(uci -q get "network.omrvpn.ifname" || echo "tun") omrvpn_intf=$(uci -q get "network.omrvpn.ifname" || echo "tun")
if [ "$(ip route show default | grep -v metric | awk '/default/ {print $5}' | grep $omrvpn_intf)" = "" ]; then if [ "$(ip route show default | grep -v metric | awk '/default/ {print $5}' | grep $omrvpn_intf)" = "" ]; 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
uci -q batch <<-EOF >/dev/null uci -q batch <<-EOF >/dev/null
set network.default_route=route set network.default_route=route
set network.default_route.interface=$OMR_TRACKER_INTERFACE set network.default_route.interface=$OMR_TRACKER_INTERFACE
@ -264,13 +262,12 @@ if [ "$multipath_config" = "master" ]; then
set network.default_route.gateway=$OMR_TRACKER_DEVICE_GATEWAY set network.default_route.gateway=$OMR_TRACKER_DEVICE_GATEWAY
commit network.default_route commit network.default_route
EOF EOF
ip route replace default scope global nexthop via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE
else else
#config_load shadowsocks-libev
#config_foreach set_ss_route server 1
config_load openmptcprouter config_load openmptcprouter
config_foreach set_server_default_route server config_foreach set_server_default_route server
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
uci -q batch <<-EOF >/dev/null uci -q batch <<-EOF >/dev/null
set network.default_fw_route=route set network.default_fw_route=route
set network.default_fw_route.interface=$OMR_TRACKER_INTERFACE set network.default_fw_route.interface=$OMR_TRACKER_INTERFACE
@ -284,12 +281,6 @@ if [ "$multipath_config" = "master" ]; then
multipath_config="on" multipath_config="on"
fi fi
if [ -n "$OMR_TRACKER_DEVICE_IP" ] && [ -n "$OMR_TRACKER_DEVICE_GATEWAY" ]; then if [ -n "$OMR_TRACKER_DEVICE_IP" ] && [ -n "$OMR_TRACKER_DEVICE_GATEWAY" ]; then
#local metric=$(ip rule show | grep "$OMR_TRACKER_DEVICE_IP" | grep -m 1 "$OMR_TRACKER_DEVICE" | grep -om1 'lookup [[:digit:]]' | awk '{print $2}')
#[ -n "$metric" ] && {
# #ip route replace default via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE metric $metric
# config_load shadowsocks-libev
# config_foreach set_ss_route server $metric
#}
config_load openmptcprouter config_load openmptcprouter
config_foreach set_server_route server config_foreach set_server_route server
fi fi
@ -302,7 +293,7 @@ fi
multipath "$OMR_TRACKER_DEVICE" "$multipath_config" multipath "$OMR_TRACKER_DEVICE" "$multipath_config"
fi fi
} }
/etc/init.d/network reload #ubus call network reload
# Save wan settings for status page # Save wan settings for status page
if [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc)" = "" ] || [ $(($(date +"%s") - $(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc))) -gt 3600 ]; then if [ "$(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc)" = "" ] || [ $(($(date +"%s") - $(uci -q get openmptcprouter.$OMR_TRACKER_INTERFACE.lc))) -gt 3600 ]; then