OpenWrt WAN Status überwachen

Im Webinterface von OpenWrt kann man bei den Interfaces beobachten, wie sich der Status der Internetverbindung ändert. Wie das im Luci gemacht wird, habe ich nicht herausgefunden. Dafür aber hier zwei Möglichkeiten:

  1. WAN-Überwachung mit ping
    #!/bin/sh
    # pruefe die Internetverbindung
    while [[ $tries -lt 5 ]]
        do
            if /bin/ping -c 1 8.8.8.8 >/dev/null
            then
                   #mach irgendwas 
                    echo "Internet ok"
    
                    exit 0
            fi
            tries=$((tries+1))
      done
    
    # Falls ping nicht funktioniert hat, wird wohl die Internetverbindung weg sein
    # Dann mach was anderes z.B.
    /etc/init.d/network restart
  2. WAN-Überwachung mit ifstatus
root@router:/# ifstatus wan
{
    "up": true,
    "pending": false,
    "available": true,
    "autostart": true,
    "uptime": 475,
    "l3_device": "pppoe-wan",
    "proto": "pppoe",
    "device": "eth0.2",
    "updated": [
        "addresses",
        "routes"
    ],
.
.
.
und noch einiges mehr

Interessant ist die Zeile mit ‘”up”: true,’. Darauf kann man nun grep loslassen und bekommt:

ifstatus wan |grep '"up"'| grep -o true
true

Falls das Ergebnis nicht ‘true’ heißt, ist die Internetverbindung unterbrochen.

In einem Script könnte das Ganze so aussehen:

#!/bin/sh
# /sbin/wan_ifstatus.sh
#
# ueberwacht die Internetverbindung

if  [ $status == "true" ];
    then
    echo "Internet ok"
    exit 0
fi

# Wenn es ok ist, bricht das Skript mit exit 0 ab.
#
# Sonst kann hier noch was anderes stehen

echo "Das Internet ist kaputt!"

exit 0

 

Schreib als Erster einen Kommentar

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.