Advertisement
Guest User

Untitled

a guest
Feb 16th, 2019
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.20 KB | None | 0 0
  1. #!/bin/bash
  2. ### BEGIN INIT INFO
  3. # Provides: autovpnscript
  4. # Required-Start: $network $remote_fs $syslog
  5. # Required-Stop: $network $remote_fs $syslog
  6. # Default-Start: 2 3 4 5
  7. # Default-Stop: 0 1 6
  8. # Description: autovpnscript
  9. ### END INIT INFO
  10.  
  11. echo gpio | sudo tee /sys/class/leds/led0/trigger
  12.  
  13. # hier wird die Logfile-Datei definiert
  14. LOGFILE=/var/log/fritzbox.log
  15. # hier wird die IP-Adresse von Fritzbox definiert. wenn die VPN Verbindung steht, dann sollte ping funktionieren.
  16. myHost='192.168.0.1'
  17. # Wert -> wie oft soll gepingt werden
  18. wert=4
  19. # Ausgabe Wert fuer count soll bei erfolgreichen ping 2 sein, bei erfolglosen ping 0.
  20. count=$(ping -c $wert $myHost | grep 'received' | awk '{print $4}')
  21. #echo "$count"
  22. if [ $count -eq 4 ]
  23. then
  24. # die kommenden echos sind die Info-Ausgaben in Logfile
  25. echo "$(date +%Y-%m-%d:%T) :Fritzbox mit der IP $myHost ist erreichbar und VPN Verbindung steht" | tee -a $LOGFILE
  26. echo 1 | sudo tee /sys/class/leds/led0/brightness
  27. else
  28. echo "" | tee -a $LOGFILE
  29. echo "$(date +%Y-%m-%d:%T) :Fritzbox mit der IP $myHost ist nicht erreichbar" |tee -a $LOGFILE
  30. echo "$(date +%Y-%m-%d:%T) :VPN-Verbindung trennen" |tee -a $LOGFILE
  31. #hier wird das VPNC-Demon gestoppt, damit es nicht meherer im Hintergrund laufen
  32. vpnc-disconnect
  33. # oft ist die Wlan Verbindungen gebrochen. hier werden alle Netzwerkverbindungen neugestartet.
  34. echo "$(date +%Y-%m-%d:%T) :Netzwerkverbindungen neu starten" | tee -a $LOGFILE
  35. # /etc/init.d/networking restart
  36. systemctl daemon-reload
  37. # 10 Sekunden warten
  38. sleep 10
  39.  
  40. echo "$(date +%Y-%m-%d:%T) :VPN Verbindung neu aufbauen, der Skript vpnc_fritzbox starten" | tee -a $LOGFILE
  41. # starten von VPNC-Demon. PID und VPN-IP Adresse auslesen
  42. vpnc fritzbox.conf
  43. pid=$(pidof vpnc)
  44. ipvpn=$(ifconfig tun0 | grep "inet addr:" | cut -b 20-34)
  45. echo "$(date +%Y-%m-%d:%T) :Die VPN-Verbindung wurde erfolgreich aufgebaut. die VPN IP-Adresse ist: $ipvpn. VPNC-Demon ist aktiv unter id: $(pidof vpnc)" | tee -a $LOGFILE
  46. echo "" | tee -a $LOGFILE
  47. check=${#ipvpn}
  48. echo "$check"
  49. if [ $check -ge 5 ]
  50. then
  51. echo 1 | sudo tee /sys/class/leds/led0/brightness
  52. else
  53. echo heartbeat | sudo tee /sys/class/leds/led0/trigger
  54. fi
  55. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement