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:
parent
1c1666e200
commit
6eddb0f19b
1 changed files with 29 additions and 0 deletions
|
@ -519,6 +519,31 @@ _set_vpn_ip() {
|
|||
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() {
|
||||
local src proto src_dport
|
||||
config_get src $1 src
|
||||
|
@ -1070,6 +1095,10 @@ _config_service() {
|
|||
[ -n "$wanips" ] && _set_wan_ip
|
||||
_set_lan_ip
|
||||
_set_vpn_ip
|
||||
_delete_client2client
|
||||
if [ "$(echo "$vps_config" | jsonfilter -q -e '@.client2client.enabled')" == "true" ]; then
|
||||
_set_client2client
|
||||
fi
|
||||
[ "$error" = 0 ] && {
|
||||
#logger -t "OMR-VPS" "No errors"
|
||||
uci -q set openmptcprouter.${servername}.lastchange=$(date "+%s")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue