Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Internetverbindung überwachen und Reboot im Fehlerfall

    Scheduled Pinned Locked Moved Deutsch
    3 Posts 3 Posters 1.1k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • G
      Guido42
      last edited by

      Hallo,

      ich habe jahrelang IPCops gepflegt und da hat sich ein Skript bewährt, welches zwar recht rabiat arbeitet, aber das Internet doch recht sicher wiederhergestellt hat, so es zu einem Problem kam.
      Es funktioniert folgendermaßen. Es wird versucht eine Reihe von wirklich hoch verfügbaren Internetdomänen anzupingen. Falls keine der Domänen erreichbar ist, spricht das für einen Internetausfall (warum auch immer) und Reboot tut normalerweise gut. :-)

      Kann man dieses Skript auch abgewandelt auf der Pfsense einsetzen? Am liebsten per Package.

      Hier das Skript, welches ich alle 5 Minuten auf der IPCop laufen lies. Es hat die Verfügbarkeit deutlich verbessert.
      Ein ähnliches Skript habe ich auch noch für die Überwachung von IPSec Netz zu Netz Tunneln, welches den Tunnel neu gestartet hat, wenn ein Ping durch den Tunnel nicht möglich war. Die IP-Adresse, die man zur Überprüfung im IPSec bei der pfSense eintragen kann wird ja scheinbar komplett ignoriert. Skripte sind natürlich unter der GPL :-)

      ################## Internet Check Anfang ####################
      #!/bin/sh

      chmod 700 Check

      fcrontab -e

      */5 * * * * /Skripte/Check

      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

      ‹berpr¸fen, ob Ping auf diverse Internetserver mˆglich ist.

      XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

      CONNECT_OK=0
      for IP in www.telekom.de www.focus.de www.spiegel.de pop.1und1.com smtp.1und1.com
            do
            ping -c 1 -i 10 $IP
            if [ "$?" = "0" ] ; then
            CONNECT_OK=1
            sleep 3
      fi
      done

      if [ $CONNECT_OK -eq 0 ] ; then
            /bin/echo "Red-Ping Probleme, IPCop rebootet" date >>/var/log/Check-Red-Fehler
            /sbin/shutdown -r now
      else
            /bin/echo "Red-Ping funktioniert am        " date >>/var/log/Check-Red-OK
      fi
      ################# Internet Check Ende ##############

      #############################
      #############################
      ####### ab hier das 2. Skript ########
      #############################
      #############################

      ################# VPN Check Anfang ################
      #!/bin/sh

      /Skripte/Tools/ping1.3 -i 5 -c 5 -n -I Eigene-Green Remote-Green

      /Skripte/Tools/ping1.3 -i 5 -c 5 -n -I 192.168.0.1 192.168.1.1
      if test $? -ne 0; then

      /bin/mv /var/log/Fehler-Log /var/log/Fehler-Log.tmp
      /bin/echo "VPN Name Down und Restart" date >>/var/log/Fehler-Log
      /bin/cat /var/log/Fehler-Log.tmp >>/var/log/Fehler-Log
      /bin/rm /var/log/Fehler-Log.tmp
      /usr/sbin/ipsec auto –replace Name
      /usr/sbin/ipsec auto --rereadsecrets
      /usr/sbin/ipsec auto --up Name
      else
            /bin/mv /var/log/OK-Log /var/log/OK-Log.tmp
            /bin/echo "VPN Name Up am" date >>/var/log/OK-Log
            /bin/cat /var/log/OK-Log.tmp >>/var/log/OK-Log
            /bin/rm /var/log/OK-Log.tmp

      fi
      exit 0
      ################### VPN Check Ende  ####################

      any hints

      Guido

      1 Reply Last reply Reply Quote 0
      • B
        beatstick
        last edited by

        Hall Guido,

        hast du das Problem mittlerweile gelöst?

        Das Script sieht auf den ersten Blick so aus, als würde es auf pfsense funktionieren, aber ich bin alles andere als ein Experte, was Scripte angeht. Der Shutdown-Befehl sollte richtig sein, ansonsten geht auch "reboot".
        Kannst einfach cron als Package installieren und dort diese Zeile aus dem Script eintragen: */5 * * * * /Skripte/Check
        Putty unter windows benutzen, zum router verbinden mit username admin und deinem webgui passwort
        Dann musst du noch  das Verzeichnis /Skripte/Check erstellen: cd.., cd .., mkdir /Skripte/
        Skript erstellen: cd Skripte, ee Check
        dort den Text des obigen scripts einfügen. Speichern mit escape.
        script schreibfähig machen: chmod +x Check
        reboot
        Wenn alles klappt, wird eine Logdatei unter /var/log/Check-Red-OK fünf Minuten nach dem Neustart entstehen.

        1 Reply Last reply Reply Quote 0
        • JeGrJ
          JeGr LAYER 8 Moderator
          last edited by

          Ich wollte dazu anmerken, dass ich bislang in Jahren des Einsatzes von pfSense noch keinen ISP hatte, bei dem solch ein Skript notwendig war um die Connectivity wiederzubekommen. Ich würde an so einer Stelle auch eher beim Problem ansetzen als mittendrin. Aber prinzipiell kann man sowas natürlich basteln.

          Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

          If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

          1 Reply Last reply Reply Quote 0
          • First post
            Last post
          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.