From d3fae63bfccfc51f1a0616c17e9245213b8ef55c Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Thu, 23 Feb 2023 20:30:02 -0600 Subject: [PATCH] Update mm-scripts.sh --- mm-scripts.sh | 78 +++++++++++++++++++++++++++------------------------ 1 file changed, 42 insertions(+), 36 deletions(-) diff --git a/mm-scripts.sh b/mm-scripts.sh index ebb0b0b..9b6e40c 100755 --- a/mm-scripts.sh +++ b/mm-scripts.sh @@ -112,43 +112,49 @@ MMSTART(){ zerogw=$(ip route show | grep 0.0.0.0 | cut -d' ' -f 3) defaultgw=$(ip route show | grep default | cut -d' ' -f 3) - # + # if [ "${zerogw}" != "${defaultgw}" ]; then - # echo "$(date) - Adding VPN default routes" >> $logfile - # echo -en "${idsCL[LightCyan]}Adding VPN default routes... ${idsCL[Default]}" - # /bin/ip route del default via 10.10.0.1 - # /bin/ip route add default dev wg-torguard - # /bin/ip route add 0.0.0.0/1 dev wg-torguard - # echo -e "${idsCL[Green]} done${idsCL[Default]}" - # fi + if [ "${defaultgw}" != "wg-torguard" ]; then + echo "$(date) - Adding VPN default routes" >> $logfile + echo -en "${idsCL[LightCyan]}Adding VPN default routes... ${idsCL[Default]}" + /bin/ip route del default + /bin/ip route add default dev wg-torguard + /bin/ip route add 0.0.0.0/1 dev wg-torguard + /bin/ip route add 128.0.0.0/1 dev wg-torguard + /bin/ip route add 45.128.36.194/32 via 10.10.0.1 dev eth0 + echo -e "${idsCL[Green]} done${idsCL[Default]}" + + zerogw=$(ip route show | grep 0.0.0.0 | cut -d' ' -f 3) + defaultgw=$(ip route show | grep default | cut -d' ' -f 3) + fi - # echo -en "${idsCL[LightCyan]}Verifing default network routes... ${idsCL[Default]}" - # checked=false - # cc=0 - # until [ "${checked}" = "" ]; do - # if [ "${zerogw}" = "${defaultgw}" ]; then - # checked="" - # fi - # if [ "${checked}" == "false" ] && [ ${cc} -eq 10 ]; then - # echo -e "${idsCL[Red]}Could not confirm default routes, restarting system!${idsCL[Default]}" - # echo "$(date) - Could not confirm default routes, restarting system" >> $logfile - # [ "${EMAIL_NOTICE}" != "" ] && echo "Default route failure, will try and restart the VPN" | mail -s "Network Failure" ${EMAIL_NOTICE} - # touch /opt/idssys/mediamanager/mm.vpn.fail - # MMSTOP - # sleep 2m - # "${VPN_START[@]}" >/dev/null 2>&1 & - # sleep 1m - # rm -f /opt/idssys/mediamanager/mm.stop* - # [ $VERBOSE = true ] && DEBUGLOGSTOP - # exit 1 - # fi - # ((cc=${cc}+1)) - # sleep 1s - # zerogw=$(ip route show | grep 0.0.0.0 | cut -d' ' -f 3) - # defaultgw=$(ip route show | grep default | cut -d' ' -f 3) - # done - # echo -e "${idsCL[Green]} done${idsCL[Default]}" + echo -en "${idsCL[LightCyan]}Verifing default network routes... ${idsCL[Default]}" + checked=false + cc=0 + until [ "${checked}" = "" ]; do + if [ "${zerogw}" = "${defaultgw}" ]; then + checked="" + fi + if [ "${checked}" == "false" ] && [ ${cc} -eq 10 ]; then + echo -e "${idsCL[Red]}Could not confirm default routes, restarting system!${idsCL[Default]}" + echo "$(date) - Could not confirm default routes, restarting system" >> $logfile + [ "${EMAIL_NOTICE}" != "" ] && echo "Default route failure, will try and restart the VPN" | mail -s "Network Failure" ${EMAIL_NOTICE} + touch /opt/idssys/mediamanager/mm.vpn.fail + MMSTOP + sleep 2m + "${VPN_START[@]}" >/dev/null 2>&1 & + sleep 1m + rm -f /opt/idssys/mediamanager/mm.stop* + [ $VERBOSE = true ] && DEBUGLOGSTOP + exit 1 + fi + ((cc=${cc}+1)) + sleep 1s + zerogw=$(ip route show | grep 0.0.0.0 | cut -d' ' -f 3) + defaultgw=$(ip route show | grep default | cut -d' ' -f 3) + done + echo -e "${idsCL[Green]} done${idsCL[Default]}" echo -en "${idsCL[LightCyan]}Verifing traffic is routing through VPN... ${idsCL[Default]}" @@ -313,8 +319,8 @@ MMSTOP(){ fi done - # [ "$(ip route show | grep default | cut -d' ' -f 3)" != "10.10.0.1" ] && /bin/ip route add default via 10.10.0.1 - # [ $VERBOSE = true ] && echo "$(date) - Added default route back in" >> $logfile + [ "$(ip route show | grep default | cut -d' ' -f 3)" != "10.10.0.1" ] && /bin/ip route add default via 10.10.0.1 && ip route del 45.128.36.194 + [ $VERBOSE = true ] && echo "$(date) - Added default route back in" >> $logfile echo -e "${idsCL[Green]} done${idsCL[Default]}" echo "$(date) - Media Management systems stopped" >> $logfile