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

Get routes for client2clients from the VPS

This commit is contained in:
Ycarus (Yannick Chabanois) 2020-01-30 10:09:23 +01:00
parent 1c1666e200
commit 6eddb0f19b

View file

@ -519,6 +519,31 @@ _set_vpn_ip() {
fi fi
} }
_delete_client2client() {
if [ -n "$(echo $1 | grep omr_client2client)" ]; then
uci -q delete network.$1
fi
}
_set_client2client() {
local c2cid=0
[ -z "$vps_config" ] && vps_config=$(_get_json "config")
[ -z "$vps_config" ] && return
c2cips="$(echo "$vps_config" | jsonfilter -q -e '@.client2client.lanips)"
vpnifname="$(uci -q get network.omrvpn.ifname)"
vpnip_local=$(ip -4 -br addr ls dev ${vpnifname} | awk -F'[ /]+' '{print $3}')
for lanip in $c2cips; do
c2cid=$((c2cid+1))
uci -q batch <<-EOF >/dev/null
set network.omr_client2client_${c2cid}=route
set network.omr_client2client_${c2cid}.interface=omrvpn
set network.omr_client2client_${c2cid}.target=$(echo $lanip | awk -F '/' '{print $1}')
set network.omr_client2client_${c2cid}.netmask=$(echo $lanip | awk -F '/' '{print $2}')
set network.omr_client2client_${c2cid}.gateway=${vpnip_local}
EOF
done
}
_vps_firewall_redirect_port() { _vps_firewall_redirect_port() {
local src proto src_dport local src proto src_dport
config_get src $1 src config_get src $1 src
@ -1070,6 +1095,10 @@ _config_service() {
[ -n "$wanips" ] && _set_wan_ip [ -n "$wanips" ] && _set_wan_ip
_set_lan_ip _set_lan_ip
_set_vpn_ip _set_vpn_ip
_delete_client2client
if [ "$(echo "$vps_config" | jsonfilter -q -e '@.client2client.enabled')" == "true" ]; then
_set_client2client
fi
[ "$error" = 0 ] && { [ "$error" = 0 ] && {
#logger -t "OMR-VPS" "No errors" #logger -t "OMR-VPS" "No errors"
uci -q set openmptcprouter.${servername}.lastchange=$(date "+%s") uci -q set openmptcprouter.${servername}.lastchange=$(date "+%s")