|
|
|
@ -1,5 +1,7 @@
|
|
|
|
|
SETROUTE=false
|
|
|
|
|
|
|
|
|
|
. /lib/functions/network.sh
|
|
|
|
|
|
|
|
|
|
set_route() {
|
|
|
|
|
local multipath_config_route interface_gw interface_if
|
|
|
|
|
INTERFACE=$1
|
|
|
|
@ -12,8 +14,9 @@ set_route() {
|
|
|
|
|
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${INTERFACE}.multipath || echo "off")"
|
|
|
|
|
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${INTERFACE}.multipath || echo "off")"
|
|
|
|
|
}
|
|
|
|
|
interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
|
|
|
|
network_get_device interface_if $INTERFACE
|
|
|
|
|
interface_up=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]')
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(ifstatus "${INTERFACE}_4" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.device)
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.ifname)
|
|
|
|
@ -50,8 +53,9 @@ set_route6() {
|
|
|
|
|
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${INTERFACE}.multipath || echo "off")"
|
|
|
|
|
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${INTERFACE}.multipath || echo "off")"
|
|
|
|
|
}
|
|
|
|
|
interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
|
|
|
|
network_get_device interface_if $INTERFACE
|
|
|
|
|
interface_up=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["up"]')
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(ifstatus "${INTERFACE}_4" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.device)
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.ifname)
|
|
|
|
@ -165,7 +169,8 @@ set_routes_intf() {
|
|
|
|
|
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${INTERFACE}.multipath || echo "off")"
|
|
|
|
|
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${INTERFACE}.multipath || echo "off")"
|
|
|
|
|
}
|
|
|
|
|
interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
|
|
|
|
network_get_device interface_if $INTERFACE
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(ifstatus "${INTERFACE}_4" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.device)
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.ifname)
|
|
|
|
@ -220,7 +225,8 @@ set_routes_intf6() {
|
|
|
|
|
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${INTERFACE}.multipath || echo "off")"
|
|
|
|
|
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${INTERFACE}.multipath || echo "off")"
|
|
|
|
|
}
|
|
|
|
|
interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
|
|
|
|
network_get_device interface_if $INTERFACE
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(ifstatus "${INTERFACE}_6" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.device)
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.ifname)
|
|
|
|
@ -291,7 +297,8 @@ set_route_balancing() {
|
|
|
|
|
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${INTERFACE}.multipath || echo "off")"
|
|
|
|
|
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${INTERFACE}.multipath || echo "off")"
|
|
|
|
|
}
|
|
|
|
|
interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
|
|
|
|
network_get_device interface_if $INTERFACE
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(ifstatus "${INTERFACE}_4" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.device)
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.ifname)
|
|
|
|
@ -340,7 +347,8 @@ set_route_balancing6() {
|
|
|
|
|
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${INTERFACE}.multipath || echo "off")"
|
|
|
|
|
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${INTERFACE}.multipath || echo "off")"
|
|
|
|
|
}
|
|
|
|
|
interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
|
|
|
|
network_get_device interface_if $INTERFACE
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(ifstatus "$INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(ifstatus "${INTERFACE}_4" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.device)
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(uci -q get network.$INTERFACE.ifname)
|
|
|
|
@ -404,7 +412,8 @@ set_server_all_routes() {
|
|
|
|
|
[ -n "$serverip" ] && serverip="$(resolveip -4 -t 5 $serverip | head -n 1 | tr -d '\n')"
|
|
|
|
|
config_get disabled $server disabled
|
|
|
|
|
[ "$disabled" = "1" ] && return
|
|
|
|
|
interface_if=$(uci -q get network.$OMR_TRACKER_INTERFACE.device)
|
|
|
|
|
network_get_device interface_if $OMR_TRACKER_INTERFACE
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(uci -q get network.$OMR_TRACKER_INTERFACE.device)
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(ifstatus "${OMR_TRACKER_INTERFACE}_4" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(ifstatus "$OMR_TRACKER_INTERFACE" | jsonfilter -q -e '@["device"]')
|
|
|
|
@ -450,7 +459,8 @@ set_server_all_routes6() {
|
|
|
|
|
[ -n "$serverip" ] && serverip="$(resolveip -6 -t 5 $serverip | head -n 1 | tr -d '\n')"
|
|
|
|
|
config_get disabled $server disabled
|
|
|
|
|
[ "$disabled" = "1" ] && return
|
|
|
|
|
interface_if=$(uci -q get network.$OMR_TRACKER_INTERFACE.device)
|
|
|
|
|
network_get_device interface_if $OMR_TRACKER_INTERFACE
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(uci -q get network.$OMR_TRACKER_INTERFACE.device)
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(ifstatus "${OMR_TRACKER_INTERFACE}_6" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(ifstatus "$OMR_TRACKER_INTERFACE" | jsonfilter -q -e '@["device"]')
|
|
|
|
@ -505,7 +515,8 @@ set_server_route() {
|
|
|
|
|
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${OMR_TRACKER_INTERFACE}.multipath || echo "off")"
|
|
|
|
|
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${OMR_TRACKER_INTERFACE}.multipath || echo "off")"
|
|
|
|
|
}
|
|
|
|
|
interface_if=$(uci -q get network.$OMR_TRACKER_INTERFACE.device)
|
|
|
|
|
network_get_device interface_if $OMR_TRACKER_INTERFACE
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(uci -q get network.$OMR_TRACKER_INTERFACE.device)
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(ifstatus "${OMR_TRACKER_INTERFACE}_4" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(ifstatus "$OMR_TRACKER_INTERFACE" | jsonfilter -q -e '@["device"]')
|
|
|
|
@ -541,7 +552,8 @@ set_server_route6() {
|
|
|
|
|
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "openvpn" ] && multipath_config_route="$(uci -q get openmptcprouter.ovpn${OMR_TRACKER_INTERFACE}.multipath || echo "off")"
|
|
|
|
|
[ "$(uci -q get openmptcprouter.settings.mptcpovervpn)" = "wireguard" ] && multipath_config_route="$(uci -q get openmptcprouter.wg${OMR_TRACKER_INTERFACE}.multipath || echo "off")"
|
|
|
|
|
}
|
|
|
|
|
interface_if=$(uci -q get network.$OMR_TRACKER_INTERFACE.device)
|
|
|
|
|
network_get_device interface_if $OMR_TRACKER_INTERFACE
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(uci -q get network.$OMR_TRACKER_INTERFACE.device)
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(ifstatus "$OMR_TRACKER_INTERFACE" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(ifstatus "${OMR_TRACKER_INTERFACE}_6" 2>/dev/null | jsonfilter -q -e '@["l3_device"]')
|
|
|
|
|
[ -z "$interface_if" ] && interface_if=$(ifstatus "$OMR_TRACKER_INTERFACE" | jsonfilter -q -e '@["device"]')
|
|
|
|
@ -660,7 +672,7 @@ if [ "$OMR_TRACKER_STATUS" = "ERROR" ] || [ "$interface_up" != "true" ]; then
|
|
|
|
|
sleep 5
|
|
|
|
|
_log "Set $OMR_TRACKER_INTERFACE up"
|
|
|
|
|
ifup $OMR_TRACKER_INTERFACE
|
|
|
|
|
sleep 10
|
|
|
|
|
sleep 20
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ "$OMR_TRACKER_PREV_STATUS" = "$OMR_TRACKER_STATUS" ]; then
|
|
|
|
@ -905,8 +917,8 @@ multipath_config=$(uci -q get "openmtpcprouter.$OMR_TRACKER_INTERFACE.multipath"
|
|
|
|
|
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" ] || [ "$(uci -q get openmptcprouter.settings.vpn)" = "mlvpn" ]); 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.device" || echo "tun")
|
|
|
|
|
[ -z "$omrvpn_intf" ] && omrvpn_intf=$(uci -q get "network.omrvpn.ifname" || echo "tun")
|
|
|
|
|
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 | 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"
|
|
|
|
|
ip route replace default scope global nexthop via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE 2>&1 >/dev/null
|
|
|
|
@ -919,8 +931,8 @@ if [ "$multipath_config" = "master" ]; then
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
if ([ "$default_gw6" != "$OMR_TRACKER_DEVICE_GATEWAY6" ] || [ "$default_gw6" = "" ]) && [ "$OMR_TRACKER_DEVICE_GATEWAY6" != "" ] && [ "$(uci -q get openmptcprouter.settings.master)" != "balancing" ]; then
|
|
|
|
|
omrvpn_intf=$(uci -q get "network.omrvpn.device" || echo "tun")
|
|
|
|
|
[ -z "$omrvpn_intf" ] && omrvpn_intf=$(uci -q get "network.omrvpn.ifname" || echo "tun")
|
|
|
|
|
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 | 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_GATEWAY6 dev $OMR_TRACKER_DEVICE"
|
|
|
|
|
ip -6 route replace default scope global nexthop via $OMR_TRACKER_DEVICE_GATEWAY6 dev $OMR_TRACKER_DEVICE 2>&1 >/dev/null
|
|
|
|
@ -935,8 +947,8 @@ if [ "$multipath_config" = "master" ]; then
|
|
|
|
|
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
|
|
|
|
|
omrvpn_intf=$(uci -q get "network.omrvpn.device" || echo "tun")
|
|
|
|
|
[ -z "$omrvpn_intf" ] && omrvpn_intf=$(uci -q get "network.omrvpn.ifname" || echo "tun")
|
|
|
|
|
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 | awk '/default/ {print $5}' | grep $omrvpn_intf)" = "" ]; then
|
|
|
|
|
routesbalancing=""
|
|
|
|
|
routesbalancingbackup=""
|
|
|
|
@ -1408,6 +1420,12 @@ if [ "$(pgrep rpcd)" = "" ] && [ -f /etc/init.d/rpcd ]; then
|
|
|
|
|
sleep 5
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ "$(pgrep uhttpd)" = "" ] && [ -f /etc/init.d/uhttpd ]; then
|
|
|
|
|
_log "Can't find uhttpd, restart it..."
|
|
|
|
|
/etc/init.d/uhttpd restart
|
|
|
|
|
sleep 5
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
#if [ "$(pgrep ModemManager)" = "" ] && [ -f /etc/init.d/modemmanager ] && [ -n "$(uci -q show network | grep modemmanager)" ] && [ "$(uci -q get openmptcprouter.settings.modemmanager)" != "0" ]; then
|
|
|
|
|
# _log "Can't find ModemManager, restart it..."
|
|
|
|
|
# /etc/init.d/modemmanager restart
|
|
|
|
|