Update vpnmon.sh
This commit is contained in:
42
vpnmon.sh
42
vpnmon.sh
@@ -5,7 +5,8 @@ source /opt/idssys/defaults/colors.inc
|
|||||||
source /opt/idssys/defaults/default.inc
|
source /opt/idssys/defaults/default.inc
|
||||||
source /opt/idssys/vpnmon/system.inc
|
source /opt/idssys/vpnmon/system.inc
|
||||||
|
|
||||||
|
logfile=/opt/idssys/vpnmon/logfile
|
||||||
|
touch $logfile
|
||||||
|
|
||||||
START(){
|
START(){
|
||||||
|
|
||||||
@@ -28,9 +29,15 @@ START(){
|
|||||||
/usr/sbin/service unifi-poller start
|
/usr/sbin/service unifi-poller start
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
rm -f /opt/idssys/vpnmon/vpn.stop
|
||||||
|
|
||||||
|
echo "$(date) - VPN started" >> $logfile
|
||||||
|
|
||||||
}
|
}
|
||||||
STOP(){
|
STOP(){
|
||||||
|
|
||||||
|
touch /opt/idssys/vpnmon/vpn.stop
|
||||||
|
|
||||||
if [ "${SYSTEM}" = "unifipoller" ]; then
|
if [ "${SYSTEM}" = "unifipoller" ]; then
|
||||||
/usr/sbin/service unifi-poller stop
|
/usr/sbin/service unifi-poller stop
|
||||||
fi
|
fi
|
||||||
@@ -38,9 +45,17 @@ STOP(){
|
|||||||
sudo bash -c 'echo "d myVPN" > /var/run/xl2tpd/l2tp-control'
|
sudo bash -c 'echo "d myVPN" > /var/run/xl2tpd/l2tp-control'
|
||||||
/usr/sbin/ipsec down L2TP-PSK
|
/usr/sbin/ipsec down L2TP-PSK
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
echo "$(date) - VPN stopped" >> $logfile
|
||||||
|
|
||||||
}
|
}
|
||||||
CHECK(){
|
CHECK(){
|
||||||
|
|
||||||
|
if [ ! -f /opt/idssys/vpnmon/vpn.stop ]; then
|
||||||
|
|
||||||
|
touch /opt/idssys/vpnmon/vpn.stop
|
||||||
|
|
||||||
checked=false
|
checked=false
|
||||||
cc=0
|
cc=0
|
||||||
until [ "${checked}" = "" ]; do
|
until [ "${checked}" = "" ]; do
|
||||||
@@ -49,14 +64,37 @@ CHECK(){
|
|||||||
if [ ${#OUT} -ne 0 ]; then
|
if [ ${#OUT} -ne 0 ]; then
|
||||||
checked=""
|
checked=""
|
||||||
elif [ ${cc} -eq 10 ]; then
|
elif [ ${cc} -eq 10 ]; then
|
||||||
|
if [ -f /opt/idssys/vpnmon/vpn.fail ]; then
|
||||||
|
echo "$(date) - VPN Failure #2 - stopping for 5mins" >> $logfile
|
||||||
|
touch /opt/idssys/vpnmon/vpn.fail2
|
||||||
|
rm -f /opt/idssys/vpnmon/vpn.fail
|
||||||
STOP
|
STOP
|
||||||
sleep 5s
|
sleep 5m
|
||||||
START
|
START
|
||||||
|
exit 1
|
||||||
|
elif [ -f /opt/idssys/vpnmon/vpn.fail2 ]; then
|
||||||
|
echo "$(date) - VPN Failure #3 - Shutting down VPN system until repaired" >> $logfile
|
||||||
|
STOP
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
echo "$(date) - VPN Failure #1 - stopping for 1min" >> $logfile
|
||||||
|
touch /opt/idssys/vpnmon/vpn.fail
|
||||||
|
STOP
|
||||||
|
sleep 1m
|
||||||
|
START
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
((cc=${cc}+1))
|
((cc=${cc}+1))
|
||||||
sleep 1s
|
sleep 1s
|
||||||
done
|
done
|
||||||
|
|
||||||
|
rm -f /opt/idssys/vpnmon/vpn.stop
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "VPN system is stopped and must be restarted manually"
|
||||||
|
fi
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
case ${1} in
|
case ${1} in
|
||||||
|
|||||||
Reference in New Issue
Block a user