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

Fix MPTCPoverVPN

This commit is contained in:
Ycarus (Yannick Chabanois) 2020-01-20 18:09:41 +01:00
parent 98a3b7b8d7
commit 3927fba6a6

View file

@ -17,48 +17,50 @@ mptcp_over_vpn() {
nbintf=$(($nbintf+1)) nbintf=$(($nbintf+1))
if [ "$(uci -q get openmptcprouter.${interface}.multipathvpn)" = "1" ]; then if [ "$(uci -q get openmptcprouter.${interface}.multipathvpn)" = "1" ]; then
nbintfvpn=$(($nbintfvpn+1)) nbintfvpn=$(($nbintfvpn+1))
logger -t "MPTCPoverVPN" "Enable MPTCP over VPN for ${interface}" if [ "$(uci -q get network.ovpn${interface})" = "" ]; then
id=$(uci -q get network.${interface}.metric) logger -t "MPTCPoverVPN" "Enable MPTCP over VPN for ${interface}"
remoteip="" id=$(uci -q get network.${interface}.metric)
config_load_openmptcprouter remoteip=""
config_foreach _getremoteip server config_load_openmptcprouter
localip=$(ubus call network.interface.$interface status | jsonfilter -e '@["ipv4-address"][0].address' | tr -d "\n") config_foreach _getremoteip server
[ -z "$(uci -q get openmptcprouter.ovpn${interface}.multipath)" ] && multipath=$(uci -q get network.${interface}.multipath) localip=$(ubus call network.interface.$interface status | jsonfilter -e '@["ipv4-address"][0].address' | tr -d "\n")
[ -n "$(uci -q get openmptcprouter.ovpn${interface}.multipath)" ] && multipath=$(uci -q get openmptcprouter.ovpn${interface}.multipath) [ -z "$(uci -q get openmptcprouter.ovpn${interface}.multipath)" ] && multipath=$(uci -q get network.${interface}.multipath)
[ -z "$multipath" ] && multipath="on" [ -n "$(uci -q get openmptcprouter.ovpn${interface}.multipath)" ] && multipath=$(uci -q get openmptcprouter.ovpn${interface}.multipath)
uci -q batch <<-EOF >/dev/null [ -z "$multipath" ] && multipath="on"
set network.ovpn${interface}=interface uci -q batch <<-EOF >/dev/null
set network.ovpn${interface}.ifname="tun${id}" set network.ovpn${interface}=interface
set network.ovpn${interface}.defaultroute='0' set network.ovpn${interface}.ifname="tun${id}"
set network.ovpn${interface}.peerdns='0' set network.ovpn${interface}.defaultroute='0'
set network.ovpn${interface}.proto='none' set network.ovpn${interface}.peerdns='0'
set network.ovpn${interface}.multipath='on' set network.ovpn${interface}.proto='none'
set network.${interface}.multipath='off' set network.ovpn${interface}.multipath='${multipath}'
commit network set network.${interface}.multipath='off'
set openvpn.${interface}=openvpn commit network
set openvpn.${interface}.dev="tun${id}" set openvpn.${interface}=openvpn
set openvpn.${interface}.cipher='AES-256-CBC' set openvpn.${interface}.dev="tun${id}"
set openvpn.${interface}.port='65301' set openvpn.${interface}.cipher='AES-256-CBC'
set openvpn.${interface}.remote="${remoteip}" set openvpn.${interface}.port='65301'
set openvpn.${interface}.local="${localip}" set openvpn.${interface}.remote="${remoteip}"
set openvpn.${interface}.lport='0' set openvpn.${interface}.local="${localip}"
set openvpn.${interface}.ncp_disable='1' set openvpn.${interface}.lport='0'
set openvpn.${interface}.auth_nocache='1' set openvpn.${interface}.ncp_disable='1'
set openvpn.${interface}.proto='udp' set openvpn.${interface}.auth_nocache='1'
set openvpn.${interface}.client='1' set openvpn.${interface}.proto='udp'
set openvpn.${interface}.enabled='1' set openvpn.${interface}.client='1'
set openvpn.${interface}.allow_recursive_routing='1' set openvpn.${interface}.enabled='1'
set openvpn.${interface}.key='/etc/luci-uploads/client.key' set openvpn.${interface}.allow_recursive_routing='1'
set openvpn.${interface}.cert='/etc/luci-uploads/client.crt' set openvpn.${interface}.key='/etc/luci-uploads/client.key'
set openvpn.${interface}.ca='/etc/luci-uploads/ca.crt' set openvpn.${interface}.cert='/etc/luci-uploads/client.crt'
commit openvpn set openvpn.${interface}.ca='/etc/luci-uploads/ca.crt'
set openmptcprouter.${interface}.multipath="off" commit openvpn
set openmptcprouter.${interface}.multipathvpn="1" set openmptcprouter.${interface}.multipath="off"
set openmptcprouter.ovpn${interface}="interface" set openmptcprouter.${interface}.multipathvpn="1"
set openmptcprouter.ovpn${interface}.multipath="${multipath}" set openmptcprouter.ovpn${interface}="interface"
set openmptcprouter.ovpn${interface}.vpn="1" set openmptcprouter.ovpn${interface}.multipath="${multipath}"
commit openmptcprouter set openmptcprouter.ovpn${interface}.vpn="1"
EOF commit openmptcprouter
EOF
fi
elif [ "$(uci -q get openmptcprouter.opvn${interface})" != "" ]; then elif [ "$(uci -q get openmptcprouter.opvn${interface})" != "" ]; then
logger -t "MPTCPoverVPN" "Disable MPTCP over VPN for ${interface}" logger -t "MPTCPoverVPN" "Disable MPTCP over VPN for ${interface}"
multipath=$(uci -q get openmptcprouter.opvn${interface}.multipath) multipath=$(uci -q get openmptcprouter.opvn${interface}.multipath)