mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-03-09 15:40:03 +00:00
Add OpenVPN multi process support
This commit is contained in:
parent
b531347431
commit
0db3dff442
6 changed files with 291 additions and 104 deletions
|
@ -712,3 +712,23 @@ dns_flush() {
|
|||
unbound-control flush-negative >/dev/null 2>&1
|
||||
unbound-control flush-bogus >/dev/null 2>&1
|
||||
}
|
||||
|
||||
set_vpn_balancing_routes() {
|
||||
vpngw="$1"
|
||||
vpn_route() {
|
||||
local vpnname
|
||||
vpnname=$1
|
||||
[ -z "$(echo $vpnname | grep omr)" ] && return
|
||||
config_get enabled $vpnname enabled
|
||||
[ "$enabled" != "1" ] && return
|
||||
config_get dev $vpnname dev
|
||||
[ -z "$dev" ] && return
|
||||
allvpnroutes="$allvpnroutes nexthop via $vpngw dev $dev"
|
||||
}
|
||||
allvpnroutes=""
|
||||
config_load openvpn
|
||||
config_foreach vpn_route openvpn
|
||||
_log "allvpnroutes: $allvpnroutes"
|
||||
[ -n "$allvpnroutes" ] && ip route replace default scope global${allvpnroutes} >/dev/null 2>&1
|
||||
}
|
||||
|
||||
|
|
|
@ -61,13 +61,18 @@ if [ "$OMR_TRACKER_INTERFACE" = "glorytun" ] || [ "$OMR_TRACKER_INTERFACE" = "om
|
|||
fi
|
||||
fi
|
||||
if { [ "$default_gw" != "$OMR_TRACKER_DEVICE_GATEWAY" ] || [ "$default_gw" = "" ]; } && [ "$OMR_TRACKER_DEVICE_GATEWAY" != "" ]; then
|
||||
_log "Tunnel up : Replace default route by $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE (was $default_gw)"
|
||||
[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "Default gw : $default_gw - Current route: $(ip r)"
|
||||
ip route replace default scope global via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE $initcwrwnd >/dev/null 2>&1
|
||||
if [ "$(uci -q get openvpn.omr2.enabled)" != "1" ]; then
|
||||
_log "Tunnel up : Replace default route by $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE (was $default_gw)"
|
||||
ip route replace default scope global via $OMR_TRACKER_DEVICE_GATEWAY dev $OMR_TRACKER_DEVICE $initcwrwnd >/dev/null 2>&1
|
||||
else
|
||||
_log "Tunnel up : Replace default route by load balancing to $OMR_TRACKER_DEVICE_GATEWAY"
|
||||
set_vpn_balancing_routes "$OMR_TRACKER_DEVICE_GATEWAY"
|
||||
fi
|
||||
if [ "$(pgrep -f openmptcprouter-vps)" = "" ]; then
|
||||
/etc/init.d/openmptcprouter-vps restart >/dev/null 2>&1 &
|
||||
fi
|
||||
[ "$(uci -q get shadowsocks-libev.sss0.disabled)" != "1" ] && conntrack -D -p udp >/dev/null 2>&1
|
||||
[ -n "$(uci -q get shadowsocks-libev.sss0)" ] && [ "$(uci -q get shadowsocks-libev.sss0.disabled)" != "1" ] && conntrack -D -p udp >/dev/null 2>&1
|
||||
[ "$(uci -q get openmptcprouter.settings.debug)" = "true" ] && _log "New route: $(ip r)"
|
||||
fi
|
||||
|
||||
|
@ -388,5 +393,7 @@ if [ "$(sysctl -qen net.mptcp.mptcp_enabled | tr -d '\n')" = "1" ] || [ "$(sysct
|
|||
fi
|
||||
[ -n "$(uci -q changes openmptcprouter)" ] && uci -q commit openmptcprouter
|
||||
|
||||
#[ -n "$OMR_TRACKER_DEVICE" ] && OMR_TRACKER_PREV_DEVICE="$OMR_TRACKER_DEVICE"
|
||||
|
||||
#ubus call network reload
|
||||
exit 0
|
Loading…
Add table
Add a link
Reference in a new issue