2020-12-29 13:53:10 +00:00
|
|
|
#!/bin/sh
|
|
|
|
# vim: set noexpandtab tabstop=4 shiftwidth=4 softtabstop=4 :
|
|
|
|
|
|
|
|
name=$0
|
|
|
|
basename="$(basename $0)"
|
|
|
|
|
|
|
|
_log() {
|
|
|
|
logger -p daemon.info -t "${basename}" "$@"
|
|
|
|
}
|
|
|
|
|
|
|
|
_ping_server() {
|
|
|
|
local host=$1
|
|
|
|
ret=$(ping \
|
|
|
|
-w "$OMR_TRACKER_TIMEOUT" \
|
|
|
|
-c 1 \
|
|
|
|
-q \
|
2021-01-16 07:15:14 +00:00
|
|
|
"${host}" 2>/dev/null
|
2020-12-29 13:53:10 +00:00
|
|
|
) && echo "$ret" | grep -sq " 0% packet loss" && {
|
|
|
|
server_ping=true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
_ping_tunnel() {
|
|
|
|
local name=$1
|
|
|
|
config_get gateway $1 gateway
|
|
|
|
config_get ifname $1 ifname
|
|
|
|
config_get disabled $1 disabled
|
2021-03-09 09:15:15 +00:00
|
|
|
[ "$(echo $ifname | grep oip)" != "" ] && [ -n "$gateway" ] && [ "$disabled" != "1" ] && {
|
2020-12-29 13:53:10 +00:00
|
|
|
_ping_server $gateway
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
. /lib/functions.sh
|
|
|
|
|
|
|
|
timeout=${OMR_TRACKER_TIMEOUT:-5}
|
|
|
|
interval=${OMR_TRACKER_INTERVAL:-10}
|
|
|
|
intervaltries=${OMR_TRACKER_INTERVAL_TRIES:-2}
|
|
|
|
retry=${OMR_TRACKER_TRIES:-4}
|
|
|
|
waittest=${OMR_TRACKER_WAIT_TEST:-0}
|
|
|
|
|
|
|
|
while true; do
|
|
|
|
server_ping=false
|
|
|
|
config_load network
|
|
|
|
config_foreach _ping_tunnel interface
|
2021-03-25 15:36:48 +00:00
|
|
|
if [ "$server_ping" = false ]; then
|
|
|
|
/etc/init.d/openmptcprouter-vps set_gre_tunnel 2>&1 >/dev/null
|
|
|
|
fi
|
2020-12-29 13:53:10 +00:00
|
|
|
sleep "${interval}"
|
|
|
|
done
|