Guest User

VPN Connect to Fritzbox

a guest
Jan 22nd, 2019
1,243
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/bin/bash
  2. # set -x auskommentieren für den Debug Modus. Die Ausgabe erscheint in der Kommandozeile.
  3. #set -x
  4. #Taken from: http://www.kuemmel-digital.com/?p=363
  5.  
  6. # hier wird die Logfile-Datei definiert
  7. # Logfile muss erst mit "sudo nano fritzbox.log" am Zielort erstellt werden erstellt werden
  8.  
  9. LOGFILE=/var/log/fritzbox.log
  10. VPN_FILE=fritzbox.conf
  11.  
  12. # hier wird die IP-Adresse von Fritzbox definiert. wenn die VPN Verbindung steht, dann sollte ping funktionieren.
  13.  
  14. myHost=192.168.100.254
  15.  
  16. # Wert -> wie oft soll gepingt werden
  17.  
  18. wert=4
  19.  
  20. # Ausgabe Wert für "count" soll bei erfolgreichen ping 4 sein, bei erfolglosen ping 0.
  21.  
  22. count=$(ping -c $wert $myHost | grep "received" | awk "{print $4 }")
  23.  
  24. if [ $count -eq 4 ]
  25. then
  26.  
  27.     # die kommenden echos sind die Info-Ausgaben in Logfile
  28.     echo "$(date +%Y-%m-%d:%T) :Fritzbox mit der IP $myHost ist erreichbar und VPN Verbindung steht" | tee -a $LOGFILE
  29.  
  30. else
  31.  
  32.     echo "" | tee -a $LOGFILE
  33.  
  34.     echo "$(date +%Y-%m-%d:%T) :Fritzbox mit der IP $myHost ist nicht erreichbar" |tee -a $LOGFILE
  35.     echo "$(date +%Y-%m-%d:%T) :VPN-Verbindung trennen" |tee -a $LOGFILE
  36.  
  37.     #hier wird das VPNC-Demon gestoppt, damit es nicht meher im Hintergrund lauft
  38.  
  39.     /usr/sbin/vpnc-disconnect
  40.  
  41.     # oft ist die Wlan Verbindungen unterbrochen. hier werden alle Netzwerkverbindungen neugestartet.
  42.  
  43.     echo "$(date +%Y-%m-%d:%T) :Netzwerkverbindungen neu starten" | tee -a $LOGFILE
  44.  
  45.     /etc/init.d/networking restart
  46.  
  47.     # 12 Sekunden warten
  48.  
  49.     sleep 12
  50.  
  51.     # auslesen von der Wlan Ip-Adresse
  52.     # grep Adresse muss bei Englischen Spracheinstellungen evtl. geändert werden. Mit dem Debug Modus ausprobieren
  53.  
  54. #    ipwlan=$(/sbin/ifconfig wlan0 | grep "inet Adresse" | cut -b 24-38)
  55. #    echo "$(date +%Y-%m-%d:%T) :Netzwerkverbindungen wurde neugestart. WLAN IP-Adresse: $ipwlan " | tee -a $LOGFILE
  56. #    echo "$(date +%Y-%m-%d:%T) :VPN Verbindung neu aufbauen, der Skript vpnc_fritzbox starten" | tee -a $LOGFILE
  57.  
  58.     # starten von VPNC-Demon. PID und VPN-IP Adresse auslesen
  59.  
  60.     /usr/sbin/vpnc $VPN_FILE
  61.     pid=$(pidof vpnc)
  62.  
  63.     ipvpn=$(/sbin/ifconfig tun0 | grep "inet Adresse" | cut -b 24-38)
  64.  
  65.     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
  66.  
  67.     echo "" | tee -a $LOGFILE
  68.  
  69. fi
RAW Paste Data