Externe IPv4 Adresse im QTS 5.01 finden

  • Ich suche für mein Script, welches im 5 Minutentakt testen soll, ob sich die externe IP geändert hat, die externe IPv4 (WAN-IP). Dazu möchte ich nicht eine der unzähligen Routinen nutzen, die eine HTTP(s) Abfrage starten. Vielmehr suche ich in den Tiefen des Linux-OS vom QTS 5.01 nach der IP. Das System muss diese schon kennen, da sie hier im DDNS-Konfig schon angeboten wird:

    DDNS-Tab.jpg


    Weiß jemand von euch, wo diese Adresse steht? Oder Vermutungen?

    Mein NAS ist ein TS-464


    Danke schon mal im Voraus!

  • Vielmehr suche ich in den Tiefen des Linux-OS vom QTS 5.01 nach der IP. Das System muss diese schon kennen, da sie hier im DDNS-Konfig schon angeboten wird:

    Linux wird die vermutlich ohne weiteres nicht kennen, das ist nur der Dienst (Network and Virtual Switch), der die IP ermittelt und kennt.

    In /var gibt es ein paar Dateien, die auf den DDNS und das Netzwerk allgemein hindeuten. Vielleicht ist hier was dabei...

  • Irgendwo wird es sicherlich noch mehr Daten bzgl der Netzwerkconfig geben...

    Aber mal doof gefragt: Wozu das Ganze?

  • Ich möchte ein DDNS-Updater für IPv4/IPv6 schreiben. Der soll im 5 Minutentakt auf Änderungen der IP's prüfen. Wenn geändert, dann IP-Update zu spdyn. Wenn ich das per  curl http://.... mache, ist mir das zu viel Traffic - IPv6 ist kein Problem. Der Code steht schon und funktioniert - nur eben dieses Problem.

  • Warum nicht eine kleine VM mit ddclient? Funktioniert wundervoll mit spdyn, ich nutze hier aber nur v4, v6 läuft über die über Sense...

  • Wäre auch 'ne Möglichkeit. Denke aber, dass mein Bash Code (ca. 1,7 kB mit Kommentaren) weniger Perfomance kosten wird. Sind nur wenige Zeilen ...


    Gibt es nicht irgend eine Suchfunktion? So was wie bei Total Commander (Windows) wäre cool.

  • Moin,

    versuche einmal den Midnight Commander, gibts im Q-NAP Club zum installieren.

    Guß

  • Ich habe jetzt etwas gefunden, was ich verwenden könnte: http://wiki.ubuntuusers.de/FritzBox/Skripte. Da ich eine FritzBox habe, ist das schon mal besser als nichts. Das Script holt die WAN-IP von der Fritzbox.

  • q.tip

    Hat den Titel des Themas von „Externer IPv4 Adresse im QTS 5.01 finden“ zu „Externe IPv4 Adresse im QTS 5.01 finden“ geändert.
  • Und das Script läuft dann direkt auf dem QNAP? Da würde ich trotzdem lieber eine kleine VM oder ggf. einen Container nehmen...

  • Hallo zusammen,

    die WAN IP bekommt man mit


    Code
    curl ifconfig.me


    ganz einfach raus.


    Und es kann einfach in jedes Skript eingebaut werden:


    Code
    #!/usr/bin/env bash
    
    
    myExtIP=$(/sbin/curl ifconfig.me 2>/dev/null \
    | /bin/sed -r 's|#||g')
    
    
    echo "Meine externe IP lautet: ${myExtIP}"


    Siehe auch: How to use curl to get public IP address


    Viele Grüße

  • Danke für den Code!! :) Werde ihn später mal ausprobieren.


    Edit: Schon probiert: Funktioniert super. Hoffe nur, dass da kein Netzwerkzugriff erfolgt.

    Übrigens:

    Code
    myExtIP=$(/sbin/curl ifconfig.me 2>/dev/null)
    echo "Meine externe IP lautet: ${myExtIP}"

    funktioniert genauso, ist aber etwas schneller!

    Trotzdem nochmals DANKE!


    Nun gibt es leider ein Problem: Ich wollte ein bash Script im Hintergrund ausführen. Mit /bin/bash <mein script.sh> &. funktioniert es leider nur kurzzeitig - Der Prozess terminiert nach releativ kurzer Zeit und ist in der Prozessliste nicht mehr vorhanden. Der Befehl nohup ist scheinbar bei QNAP nicht inplementiert. Mein Code macht Ausgaben nur in Log-Dateien. Mein NAS: TS-464, QTS 5.01. Kennt jemand eine Lösung?


    PS: Sollte disown $PID funktionieren?


    Übrigens curl ifconfig.me ruft eine Webseite auf. Das wollte ich nicht nutzen, wie in #5 angemerkt.


    Edit 21.1.2023 Getestet: disown $PID funktioniert! :) Somit ist Projekt "DDNS-Updater" (IPv4 und IPv6) erledigt und funktioniert wie ich es mir gewünscht habe. Die autorun.sh ruft bei mir Script-Starter.sh auf, welcher (auf Wunsch) mehere Scripts (hier nur DDNS-Updater.sh im Hintergrund startet. Dadurch brauche ich bei Erweiterungen die autorun.sh nicht wieder ändern.

    5 Mal editiert, zuletzt von q.tip () aus folgendem Grund: Ein Beitrag von q.tip mit diesem Beitrag zusammengefügt.