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

Fix to allow many IPs on VPS

This commit is contained in:
Ycarus (Yannick Chabanois) 2021-03-09 10:15:15 +01:00
parent 70e48f93a0
commit bbf41d33ae
4 changed files with 62 additions and 58 deletions

View file

@ -489,34 +489,34 @@ _get_gre_tunnel() {
peeraddr="$(echo $tunnel | jsonfilter -q -e '@.remote_ip')"
ipaddr="$(echo $tunnel | jsonfilter -q -e '@.local_ip')"
publicaddr="$(echo $tunnel | jsonfilter -q -e '@.public_ip')"
if [ "$peeraddr" != "" ] && [ "$ipaddr" != "" ] && [ "$publicaddr" != "" ] && ([ "$(uci -q get network.omrip${i}.ipaddr)" != "$peeraddr" ] || [ "$(uci -q get network.omrip${i}.ipaddr)" != "$ipaddr" ] || [ "$(uci -q get network.omrip${i}gre.ipaddr)" != "$vpnip_local" ]); then
if [ "$peeraddr" != "" ] && [ "$ipaddr" != "" ] && [ "$publicaddr" != "" ] && ([ "$(uci -q get network.oip${i}.ipaddr)" != "$peeraddr" ] || [ "$(uci -q get network.oip${i}.ipaddr)" != "$ipaddr" ] || [ "$(uci -q get network.oip${i}gre.ipaddr)" != "$vpnip_local" ]); then
uci -q batch <<-EOF >/dev/null
set network.omrip${i}gre=interface
set network.omrip${i}gre.label="GRE tunnel for $publicaddr"
set network.omrip${i}gre.proto=gre
set network.omrip${i}gre.nohostroute='1'
set network.omrip${i}gre.ipv6='0'
set network.omrip${i}gre.defaultroute='0'
set network.omrip${i}gre.multipath='off'
set network.omrip${i}gre.peerdns='0'
set network.omrip${i}gre.ttl='255'
set network.omrip${i}gre.ip4table='vpn'
set network.omrip${i}gre.peeraddr="$publicaddr"
set network.omrip${i}gre.ipaddr="$vpnip_local"
set network.omrip${i}=interface
set network.omrip${i}.label="Tunnel for $publicaddr"
set network.omrip${i}.proto=static
set network.omrip${i}.nohostroute='1'
set network.omrip${i}.ifname="@omrip${i}gre"
set network.omrip${i}.ipv6='0'
set network.omrip${i}.defaultroute='0'
set network.omrip${i}.multipath='off'
set network.omrip${i}.peerdns='0'
set network.omrip${i}.ip4table='vpn'
set network.omrip${i}.gateway="$ipaddr"
set network.omrip${i}.ipaddr="$peeraddr"
set network.omrip${i}.netmask="255.255.255.252"
set network.omrip${i}.lookup="667${i}"
set network.oip${i}gre=interface
set network.oip${i}gre.label="GRE tunnel for $publicaddr"
set network.oip${i}gre.proto=gre
set network.oip${i}gre.nohostroute='1'
set network.oip${i}gre.ipv6='0'
set network.oip${i}gre.defaultroute='0'
set network.oip${i}gre.multipath='off'
set network.oip${i}gre.peerdns='0'
set network.oip${i}gre.ttl='255'
set network.oip${i}gre.ip4table='vpn'
set network.oip${i}gre.peeraddr="$publicaddr"
set network.oip${i}gre.ipaddr="$vpnip_local"
set network.oip${i}=interface
set network.oip${i}.label="Tunnel for $publicaddr"
set network.oip${i}.proto=static
set network.oip${i}.nohostroute='1'
set network.oip${i}.ifname="@oip${i}gre"
set network.oip${i}.ipv6='0'
set network.oip${i}.defaultroute='0'
set network.oip${i}.multipath='off'
set network.oip${i}.peerdns='0'
set network.oip${i}.ip4table='vpn'
set network.oip${i}.gateway="$ipaddr"
set network.oip${i}.ipaddr="$peeraddr"
set network.oip${i}.netmask="255.255.255.252"
set network.oip${i}.lookup="667${i}"
commit network
EOF
allintf=$(uci -q get firewall.zone_vpn.network)
@ -525,39 +525,39 @@ _get_gre_tunnel() {
uci -q add_list firewall.zone_vpn.network=$intf
done
uci -q batch <<-EOF >/dev/null
add_list firewall.zone_vpn.network="omrip${i}gre"
add_list firewall.zone_vpn.network="omrip${i}"
add_list firewall.zone_vpn.network="oip${i}gre"
add_list firewall.zone_vpn.network="oip${i}"
commit firewall
EOF
ssport="$(echo $tunnel | jsonfilter -q -e '@.shadowsocks_port')"
uci -q batch <<-EOF >/dev/null
set shadowsocks-libev.omrip${i}server=server
set shadowsocks-libev.omrip${i}server.label="Server with public IP $publicaddr"
set shadowsocks-libev.omrip${i}server.server_port="$ssport"
set shadowsocks-libev.omrip${i}server.disabled="1"
set shadowsocks-libev.omrip${i}server.server="$(uci -q get shadowsocks-libev.sss0.server)"
set shadowsocks-libev.omrip${i}server.method="$(uci -q get shadowsocks-libev.sss0.method)"
set shadowsocks-libev.omrip${i}server.key="$(uci -q get shadowsocks-libev.sss0.key)"
set shadowsocks-libev.omrip${i}=ss_redir
set shadowsocks-libev.omrip${i}.label="ss-redir for public IP $publicaddr"
set shadowsocks-libev.omrip${i}.server="omrip${i}server"
set shadowsocks-libev.omrip${i}.local_port="230$i"
set shadowsocks-libev.omrip${i}.local_address="$(uci -q get shadowsocks-libev.hi.local_address)"
set shadowsocks-libev.omrip${i}.mode='tcp_and_udp'
set shadowsocks-libev.omrip${i}.reuse_port='1'
set shadowsocks-libev.omrip${i}.mptcp='1'
set shadowsocks-libev.omrip${i}.ipv6_first='1'
set shadowsocks-libev.omrip${i}.timeout="$(uci -q get shadowsocks-libev.hi.timeout)"
set shadowsocks-libev.omrip${i}.fast_open="$(uci -q get shadowsocks-libev.hi.fast_open)"
set shadowsocks-libev.omrip${i}.no_delay="$(uci -q get shadowsocks-libev.hi.no_delay)"
set shadowsocks-libev.omrip${i}_rule=ss_rules
set shadowsocks-libev.omrip${i}_rule.label="Rules for public IP $publicaddr"
set shadowsocks-libev.omrip${i}_rule.server="omrip${i}server"
set shadowsocks-libev.omrip${i}_rule.disabled='1'
set shadowsocks-libev.omrip${i}_rule.src_default='bypass'
set shadowsocks-libev.omrip${i}_rule.dst_default='bypass'
set shadowsocks-libev.omrip${i}_rule.local_default='bypass'
set shadowsocks-libev.omrip${i}_rule.redir_tcp="omrip${i}"
set shadowsocks-libev.oip${i}server=server
set shadowsocks-libev.oip${i}server.label="Server with public IP $publicaddr"
set shadowsocks-libev.oip${i}server.server_port="$ssport"
set shadowsocks-libev.oip${i}server.disabled="1"
set shadowsocks-libev.oip${i}server.server="$(uci -q get shadowsocks-libev.sss0.server)"
set shadowsocks-libev.oip${i}server.method="$(uci -q get shadowsocks-libev.sss0.method)"
set shadowsocks-libev.oip${i}server.key="$(uci -q get shadowsocks-libev.sss0.key)"
set shadowsocks-libev.oip${i}=ss_redir
set shadowsocks-libev.oip${i}.label="ss-redir for public IP $publicaddr"
set shadowsocks-libev.oip${i}.server="oip${i}server"
set shadowsocks-libev.oip${i}.local_port="230$i"
set shadowsocks-libev.oip${i}.local_address="$(uci -q get shadowsocks-libev.hi.local_address)"
set shadowsocks-libev.oip${i}.mode='tcp_and_udp'
set shadowsocks-libev.oip${i}.reuse_port='1'
set shadowsocks-libev.oip${i}.mptcp='1'
set shadowsocks-libev.oip${i}.ipv6_first='1'
set shadowsocks-libev.oip${i}.timeout="$(uci -q get shadowsocks-libev.hi.timeout)"
set shadowsocks-libev.oip${i}.fast_open="$(uci -q get shadowsocks-libev.hi.fast_open)"
set shadowsocks-libev.oip${i}.no_delay="$(uci -q get shadowsocks-libev.hi.no_delay)"
set shadowsocks-libev.oip${i}_rule=ss_rules
set shadowsocks-libev.oip${i}_rule.label="Rules for public IP $publicaddr"
set shadowsocks-libev.oip${i}_rule.server="oip${i}server"
set shadowsocks-libev.oip${i}_rule.disabled='1'
set shadowsocks-libev.oip${i}_rule.src_default='bypass'
set shadowsocks-libev.oip${i}_rule.dst_default='bypass'
set shadowsocks-libev.oip${i}_rule.local_default='bypass'
set shadowsocks-libev.oip${i}_rule.redir_tcp="oip${i}"
commit shadowsocks-libev
EOF
fi

View file

@ -291,6 +291,10 @@ if [ "$(uci -q show network.wan1 | grep multipath)" = "" ] && [ -z "$(uci -q get
#set network.@route6[-1].target='::/0'
#EOF
fi
# Replace omrip to oip in config for old config
sed -i 's/omrip/oip/g' /etc/config/*
uci -q commit macvlan
uci -q commit network
rm -f /tmp/luci-indexcache