Openvpn Autostart durch Service abfrage.

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Openvpn Autostart durch Service abfrage.

      Hallo alle zusammen,
      ich habe openvpn bei mir Konfiguriert und Autostart läuft soweit gut. Es kann natürlich auch mal vorkommen dass die ovpn Verbindung abbricht und halt nicht wieder Verbindet.
      Ich suche nach einer Lösung dass ein Script eine Service abfrage macht z.B alle 5 min.

      Wie in diesem Script hier(für CCCAM geschrieben):


      Shell-Script

      1. #!/bin/sh
      2. SERVICE='CCcam_2.1.1'
      3. if ps ax | grep -v grep | grep $SERVICE > /dev/null;
      4. then
      5. echo "$SERVICE service running, everything is fine";
      6. echo "`date`: $SERVICE service running, everything is fine" >> /var/tmp/cccam_check.log
      7. else
      8. echo "$SERVICE is not running";
      9. echo "`date`: $SERVICE is not running" >> /var/tmp/cccam_check.log
      10. /var/bin/CCcam_2.1.1;
      11. fi
      Alles anzeigen
      Ich würde es dann als Cronjob z.B speichern "ovpn_service_test.sh" in usr/scripts

      Mein Problem ist es auf openvpn umzuschreiben. Habe einiges durchprobiert aber es hat nicht ganz funktioniert.

      Haben wir hier einen guten Scripter im Forum der mal drauf schauen kann?

      Danke schon mal im voraus .

      Habe es so versucht aber es ging nicht:

      Shell-Script

      1. #!/bin/sh
      2. SERVICE='openvpn'
      3. if ps ax | grep -v grep | grep $SERVICE > /usr/sbin/openvpn;
      4. then
      5. echo "$SERVICE service running, everything is fine";
      6. echo "`date`: $SERVICE service running, everything is fine" >> /var/tmp/openvpn_check.log
      7. else
      8. echo "$SERVICE is not running";
      9. echo "`date`: $SERVICE is not running" >> /var/tmp/openvpn_check.log
      10. /usr/sbin/openvpn --deamon --writepid /var/run/openvpn.openvpnvti.pid --config /etc/openvpn/openvpnvti.conf;
      11. fi
      Alles anzeigen
    • Logfile sieht man auch, wenn ohne --daemon gestartet wird

      Quellcode

      1. /usr/sbin/openvpn --config /etc/openvpn/openvpnvti.conf

      Falls nötig: Abbruch mit strg+c
      Das muss erstmal korrekt laufen.

      Im Script oben ist mir noch ein Fehler aufgefallen. Aber das klären wir, sobald der Start funktioniert.
    • Das hier aber hat geholfen um aus der ssh Console das ganze zum laufen zu bringen:

      Quellcode

      1. /usr/sbin/openvpn --daemon --writepid /var/run/openvpn.openvpnvti.pid --config /etc/openvpn/openvpnvti.conf --cd /etc/openvpn
      So wird der Tunnel vernünftig gestartet.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von hulk1234 ()

    • So nach langen hin und her. Habe ich es endlich geschafft eine Prüfung alle 5 min hinzubekommen. Sobald der Tunnel abbricht prüft der Receiver per Cronjob alle 5 min nach ob die Leitung steht. Falls nicht wird es Automatisch wieder Verbunden.

      Hier der Script(getestet unter VTI, andere Images könnten einen anderen Service Namen haben z.b einfach openvpn):


      Shell-Script

      1. #!/bin/sh
      2. SERVICE='openvpnvti'
      3. if ps ax | grep -v grep | grep $SERVICE > /dev/null;
      4. then
      5. echo "$SERVICE service running, everything is fine";
      6. echo "`date`: $SERVICE service running, everything is fine" >> /var/tmp/openvpn_check.log
      7. else
      8. echo "$SERVICE is not running";
      9. echo "`date`: $SERVICE is not running" >> /var/tmp/openvpn_check.log
      10. /usr/sbin/openvpn --daemon --writepid /var/run/openvpn.openvpnvti.pid --config /etc/openvpn/openvpnvti.conf --cd /etc/openvpn;
      11. fi
      Alles anzeigen
      Diesen Script legt man nun in "/usr/script/" ab Name ist egal. z.B:"openvpn_restart.sh" <---- Rechte auf 755 geben.

      Jetzt muss man nur noch im Receiver einen Cronjob einrichten dass er alle 5 min das ganze Prüft.
      Über die GUI findet ihr den Punkt hier:
      Blaue Taste --->VTi Systemwerkzeuge-->Cronjob Verwaltung-->hier wählt ihr bei Auszuführender Befehl: "openvpn_restart.sh" aus Min "5" und Rest mit "*"



      Jetzt sollte alle 5 Min ein Check gemacht werden ob der Tunnel steht. Falls nicht....... wird er aufgebaut.
      die Log könnt Ihr unter /var/tmp/openvpn_check.log einsehen.

      Viel Erfolg.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von hulk1234 ()

    • hulk1234 schrieb:

      Also komischerweise will der Cronjob nicht so richtig. Er fährt den abgelegten script nicht an....... und fragt nicht ab.

      So sieht mein Cronjob in "/etc/cron/crontabs/root" aus:

      Quellcode

      1. /5 * * * * /usr/script/openvpn_restart.sh
      ein Stern hat gefehlt.

      Jetzt läuft auch alles wie es soll.


      Quellcode

      1. */5 * * * * /usr/script/openvpn_restart.sh
    • Super Sache mit dem Script, habe es noch um die externe IP erweitert, falls jemand daran Interesse hat:

      Shell-Script

      1. #!/bin/sh
      2. SERVICE='openvpnvti'
      3. RESULT="`wget http://ipecho.net/plain -O - -q ; echo`"
      4. if ps ax | grep -v grep | grep $SERVICE > /dev/null;
      5. then
      6. echo "$SERVICE service running, everything is fine";
      7. echo "`date`: $SERVICE service running, everything is fine. IP: "$RESULT >> /var/tmp/openvpn_check.log
      8. else
      9. echo "$SERVICE is not running";
      10. echo "`date`: $SERVICE is not running" >> /var/tmp/openvpn_check.log
      11. /usr/sbin/openvpn --daemon --writepid /var/run/openvpn.openvpnvti.pid --config /etc/openvpn/openvpnvti.conf --cd /etc/openvpn;
      12. fi
      Alles anzeigen


      Nun hätte ich noch eine Frage. Weiß jemand wie man die Ausgabe auf die Inforbar umleiten kann? Oder sonst irgendwie den Status und die IP im VTI anzeigen zu lassen?