Update vpnmon.sh
This commit is contained in:
21
vpnmon.sh
21
vpnmon.sh
@@ -9,17 +9,17 @@ logfile=/opt/idssys/vpnmon/logfile
|
|||||||
touch $logfile
|
touch $logfile
|
||||||
|
|
||||||
START(){
|
START(){
|
||||||
|
touch /opt/idssys/vpnmon/vpn.stop
|
||||||
sudo mkdir -p /var/run/xl2tpd
|
sudo mkdir -p /var/run/xl2tpd
|
||||||
sudo touch /var/run/xl2tpd/l2tp-control
|
sudo touch /var/run/xl2tpd/l2tp-control
|
||||||
[ "$(systemctl list-units --full -all | grep "strongswan.service")" != "" ] && sudo service strongswan restart
|
[ "$(systemctl list-units --full -all | grep "strongswan.service")" != "" ] && sudo service strongswan restart
|
||||||
[ "$(systemctl list-units --full -all | grep "strongswan-starter.service")" != "" ] && sudo service strongswan-starter restart
|
[ "$(systemctl list-units --full -all | grep "strongswan-starter.service")" != "" ] && sudo service strongswan-starter restart
|
||||||
sudo systemctl restart xl2tpd ipsec
|
sudo systemctl restart xl2tpd ipsec
|
||||||
|
sleep 3s
|
||||||
|
sudo /usr/sbin/ipsec up ${VPN_CFGNAME}
|
||||||
sleep 4s
|
sleep 4s
|
||||||
sudo /usr/sbin/ipsec up ${VPN_NAME}
|
sudo echo "c ${VPN_CFGNAME}" > /var/run/xl2tpd/l2tp-control
|
||||||
sleep 4s
|
sleep 5s
|
||||||
sudo echo "c ${VPN_NAME}" > /var/run/xl2tpd/l2tp-control
|
|
||||||
sleep 4s
|
|
||||||
|
|
||||||
[ "${ROUTE_SUBNET1}" != "" ] && ip route add ${ROUTE_SUBNET1} via $(ip address show dev ppp0 | grep -Po '(?<=peer )(\b([0-9]{1,3}\.){3}[0-9]{1,3}\b)') dev ppp0
|
[ "${ROUTE_SUBNET1}" != "" ] && ip route add ${ROUTE_SUBNET1} via $(ip address show dev ppp0 | grep -Po '(?<=peer )(\b([0-9]{1,3}\.){3}[0-9]{1,3}\b)') dev ppp0
|
||||||
[ "${ROUTE_SUBNET2}" != "" ] && ip route add ${ROUTE_SUBNET2} via $(ip address show dev ppp0 | grep -Po '(?<=peer )(\b([0-9]{1,3}\.){3}[0-9]{1,3}\b)') dev ppp0
|
[ "${ROUTE_SUBNET2}" != "" ] && ip route add ${ROUTE_SUBNET2} via $(ip address show dev ppp0 | grep -Po '(?<=peer )(\b([0-9]{1,3}\.){3}[0-9]{1,3}\b)') dev ppp0
|
||||||
@@ -43,10 +43,9 @@ STOP(){
|
|||||||
# /usr/sbin/service unifi-poller stop
|
# /usr/sbin/service unifi-poller stop
|
||||||
# fi
|
# fi
|
||||||
|
|
||||||
# sudo bash -c 'echo "d ${VPN_NAME}" > /var/run/xl2tpd/l2tp-control'
|
sudo echo "d ${VPN_CFGNAME}" > /var/run/xl2tpd/l2tp-control
|
||||||
sudo echo "d ${VPN_NAME}" > /var/run/xl2tpd/l2tp-control
|
|
||||||
sleep 4s
|
sleep 4s
|
||||||
/usr/sbin/ipsec down ${VPN_NAME}
|
/usr/sbin/ipsec down ${VPN_CFGNAME}
|
||||||
|
|
||||||
echo "$(date) - VPN stopped" >> $logfile
|
echo "$(date) - VPN stopped" >> $logfile
|
||||||
|
|
||||||
@@ -54,14 +53,11 @@ STOP(){
|
|||||||
CHECK(){
|
CHECK(){
|
||||||
|
|
||||||
if [ ! -f /opt/idssys/vpnmon/vpn.stop ]; then
|
if [ ! -f /opt/idssys/vpnmon/vpn.stop ]; then
|
||||||
|
|
||||||
touch /opt/idssys/vpnmon/vpn.stop
|
touch /opt/idssys/vpnmon/vpn.stop
|
||||||
|
|
||||||
checked=false
|
checked=false
|
||||||
cc=0
|
cc=0
|
||||||
until [ "${checked}" = "" ]; do
|
until [ "${checked}" = "" ]; do
|
||||||
OUT=$(ip link | grep "ppp0")
|
OUT=$(ip link | grep "${VPN_INTERFACE}")
|
||||||
#OUT=`ip a show $VPN_INTERFACE up` >/dev/null 2>&1
|
|
||||||
if [ ${#OUT} -ne 0 ]; then
|
if [ ${#OUT} -ne 0 ]; then
|
||||||
checked=""
|
checked=""
|
||||||
elif [ ${cc} -eq 10 ]; then
|
elif [ ${cc} -eq 10 ]; then
|
||||||
@@ -96,7 +92,6 @@ CHECK(){
|
|||||||
echo "$(date) - VPN Fixed" >> $logfile
|
echo "$(date) - VPN Fixed" >> $logfile
|
||||||
rm -f /opt/idssys/vpnmon/vpn.fail*
|
rm -f /opt/idssys/vpnmon/vpn.fail*
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
else
|
else
|
||||||
echo "VPN system is stopped and must be restarted manually"
|
echo "VPN system is stopped and must be restarted manually"
|
||||||
|
|||||||
Reference in New Issue
Block a user