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

    Verständnisfrage DYNDNS auf pfS hinter Provider Modem

    Scheduled Pinned Locked Moved Deutsch
    30 Posts 7 Posters 2.3k 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.
    • noplanN
      noplan @JeGr
      last edited by

      @jegr said in Verständnisfrage DYNDNS auf pfS hinter Provider Modem:

      das von allen konfigurierten DynDNS Settings die IP prüft.

      kann man das eigentlich durch ein eigenes script ersetzen, das zB
      WAN-1 im default bleibt
      WAN-2 alle 6 STD
      WAN-3 alls 3 STD

      Wenn 15-30 Minuten noch OK sind, dann mit Cron alle Stunde maximal auf die Sense

      wenn du geringere Zeiten brauchst wird es mit dynDNS ja sowieso etwas ...

      Ansonsten kannst du dein Syslog wegwerfen

      kannst meiner Meinung nach bereits bei allen Zeiten < 4 STD (wenn du auch noch mail notification an hast bringt das außer Nachteil im Log NIX NIX NIX)

      TTL beim Provider ist ja NUR relevant dafür um die Volatilität des DNS Eintrags anzuzeigen.

      Danke für den Hinweis .. hab ich falsch bzw. nicht richtig verstanden, wurde mir erst durch den Einwurf v @viragomann deutlich.

      Das ist eigentlich ne simple Matheaufgabe und SLA Abwägung

      ja du hastRecht, man muss halt nur wissen das es eine Mathe Aufgabe ist,
      und wenn SLA mitschwingt jop biste dabei, wobei ein Opfer bringst immer, wenn du die Settings unter eine Stunde drehst um nicht zB 59 Minuten warten zu müssen bis die dynDNS passt, dann ist wahrscheinlich dein LOG ziemlich wertlos.

      Die Lösung ist also wirklich ein zu bauen Script das alle x Minuten gegen die gleiche CheckIP wie das dynDNS script prüft, und erst wenn diese Prüfung negativ ist löst ...

      DAS löst dann bei Action das Init Script für den DynDNS aus
      und der kann dann unbehelligt ins logfile schreiben

      Damit würde man mE auch die multi WANmulti dynDNS Sache (oben angesprochen) lösen oder.

      Gute Frage, wer schreibt das Script für 1 Bier oder 2 ???

      lgNP

      1 Reply Last reply Reply Quote 0
      • N
        NOCling
        last edited by

        Du musst doch dann nur das Skript bauen und dann im Custom Dnydns Dienst nicht die WAN IP sondern deine ermittelte eintragen.

        Das sollte doch dann laufen.

        Nach dem ersten Einrichten und testen kannst für das Skript dann das Logging abschalten und dann ist es transparent, kann aber alle x Minuten rennen ohne groß Ressourcen zu verbraten und das Log zu bomben.
        Oder übersehe ich hier etwas?

        Netgate 6100 & Netgate 2100

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

          @nocling said in Verständnisfrage DYNDNS auf pfS hinter Provider Modem:

          Du musst doch dann nur das Skript bauen und dann im Custom Dnydns Dienst nicht die WAN IP sondern deine ermittelte eintragen.

          Warum soll man im DynDNS Dienst mit Custom irgendwas rumbasteln? Verstehe die Logik gerade nicht. Was soll das bringen?

          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
          • N
            NOCling
            last edited by

            Na da kann man doch dann die eigene Variable laden und muss nicht die WAN-IP fressen die bei den vordefinierten gegeben ist.
            Oder bin ich gerade auf der Holzbrücke unterwegs?

            Netgate 6100 & Netgate 2100

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

              @nocling Versteh ich gerade nicht, sorry, vielleicht zu spät heute. Warum welche WAN IP die man nicht will? Hä?

              Man stellt das Interface ein (WAN1/WAN2/blubb) und wenn pfSense ne RFC1918 Adresse am Interface erschnüffelt, wird automatisch gegen den IP Service der eingestellt ist gegangen (default checkip.dyndns.org, kann man beliebig eigene hinterlegen). Ergo stimmt die rückgelieferte IP4 immer mit dem überein, was das Interface hat. Hab da noch nie Probleme gehabt egal an welchem der drei WANs.

              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.

              noplanN 1 Reply Last reply Reply Quote 0
              • noplanN
                noplan @JeGr
                last edited by

                @jegr @NOCling

                So ich les das morgen noch mal in Ruhe
                Vielleicht versteh ich es dann und mich lenkt dieses the masked singer Austria nicht sooo ab

                1 Reply Last reply Reply Quote 0
                • N
                  NOCling
                  last edited by

                  Ok wie das im Detail funktioniert habe ich noch nicht nachgelesen bzw. untersucht.

                  Bin jetzt von Doppeltem NAT ausgegangen und da ist die WAN IP nur über den Server per Abfrage zu ermitteln.

                  Hatte Noplan so verstanden, das er so einen Fall hat und dann der Dienst das nicht schnell automatisch checkt und wie du sagst das Log zumüllt.
                  Was ich nicht verstehe, was ist so schwer dran alle 5 min zu schauen ob die IP noch der im Service entspricht, wenn ja weiter pennen, wenn nicht Dyndns Update starten.

                  Netgate 6100 & Netgate 2100

                  noplanN 1 Reply Last reply Reply Quote 0
                  • noplanN
                    noplan @NOCling
                    last edited by

                    @nocling said in Verständnisfrage DYNDNS auf pfS hinter Provider Modem:

                    Bin jetzt von Doppeltem NAT ausgegangen und da ist die WAN IP nur über den Server per Abfrage zu ermitteln.

                    ja das ist korrekt (Großbauern-Box ---- pfS ----- LAN (whatever)

                    was ist so schwer dran

                    kann ich dir noch nicht sagen, weil noch nicht ausporbiert.
                    ... aber ... zuerst nutz ich mal die Forum Suche 😁 ob irgendwer das schon hier gepostet hat, vielleicht wird man ja fündig if not naja probier ich es halt selbst, wie du sagst ist das script ja keine rocket science udn was es machen muss ist in diesem Post ja sauber genug beschrieben.

                    no dennNP

                    1 Reply Last reply Reply Quote 0
                    • Bob.DigB
                      Bob.Dig LAYER 8
                      last edited by

                      Ich führe auch öfters /etc/rc.dyndns.update aus. Wenn es da was eleganteres gäbe, ich wäre ebenfalls interessiert.

                      W 1 Reply Last reply Reply Quote 0
                      • W
                        wkn @Bob.Dig
                        last edited by

                        Das eigentliche Update-Script besteht ja aus zwei Komponenten, die Ermittlung der eigenen IP und der Vergleich mit der gecacheten DynDNS-IP und wenn die voneinander abweichen die Ausführung des Updates beim DynDNS-Provider.

                        Den ersten Teil könnte man auslagern in ein eigenes Script. Die Ermittlung ist eigentlich nur ein HTTP GET auf die Adresse http://checkip.dyndns.org und dem ausparsen der IP aus der Rückgabe ("Current IP Address: xxx.xxx.xxx.xxx"). Man macht also den Vergleich da einfach nur vorweg und führt das eigentliche Script nur bei Abweichung dann aus. Da der Check wirklich nur aus dem Get besteht kann man den auch in sehr kurzen Perioden ausführen.

                        Bob.DigB 1 Reply Last reply Reply Quote 0
                        • Bob.DigB
                          Bob.Dig LAYER 8 @wkn
                          last edited by Bob.Dig

                          @wkn Kannst Du sagen, warum quasi das verlinkte Script anscheinend das Update dennoch macht, selbst wenn sich die IP nicht geändert hat? Weil wäre das nicht, hätten wir ja auch das Problem nicht. Oder anders gefragt, seltsam, dass nicht ein light weight script dafür schon an Board ist.

                          noplanN W 2 Replies Last reply Reply Quote 0
                          • noplanN
                            noplan @Bob.Dig
                            last edited by

                            weil ich um kurz vor 12:00 noch immer nicht dazu gekommen bin,
                            vielleicht macht hier irgendwer mal den anfang und schreibt die
                            script zeilen hier in den Post,

                            dann hätt ma gleich auch wieder wieder was für die community erledigt ...

                            C 1 Reply Last reply Reply Quote 0
                            • W
                              wkn @Bob.Dig
                              last edited by

                              @bob-dig

                              Laut Log wird nur die Ermittlung und der Vergleich da durchgeführt, nicht das Update, wenn sich nichts geändert hat oder noch keine 25 Tage vergangen sind. Einziges "Problem" sind die 5 oder 6 Zeilen im Log da bei jedem Aufruf des Scripts. Darum sollte man da ein eigenes Script vorschalten, das quasi den ersten Teil macht:

                              • Holen der Current IP (über checkip.dyndns.org)
                              • Holen der Cached IP (muss man schauen wie)
                              • Vergleichen und wenn unterschiedlich das originale Script dann erst aufrufen
                                Und dieses Script könnte man dann im Cron platzieren und ggf. im Minutenbereich aufrufen lassen
                              Bob.DigB 1 Reply Last reply Reply Quote 1
                              • Bob.DigB
                                Bob.Dig LAYER 8 @wkn
                                last edited by

                                @wkn Verstanden! Mich stört das mit den Log-Einträgen nicht, die lösche ich eh täglich, wenn ich mir das Firewall-Log angeschaut habe.

                                1 Reply Last reply Reply Quote 0
                                • C
                                  cantor @noplan
                                  last edited by

                                  Ich mache das DYNDNS-Update auch mit einem kleinen Script per cron - im vorliegenden Fall alle vier Stunden, aber das Script kann prinzipiell auch minütlich aufgerufen werden. Die Logdatei wird - ebenfalls per Script und cron - automatisch auf eine bestimmte Zahl an Einträgen gekürzt.

                                  Gruß Jürgen

                                  <?php
                                  
                                  $timestamp  = time();
                                  $datum      = date("d.m.Y",$timestamp);
                                  $uhrzeit    = date("H:i",$timestamp);
                                  
                                  $Host       = "xyz.nsupdate.info";
                                  $IP_Abfrage = "https://ipv4.nsupdate.info/myip";
                                  
                                  $IP1        = file_get_contents($IP_Abfrage); 
                                  $IP2        = gethostbyname($Host);
                                  $check1     = ip2long($IP1);
                                  $check2     = ip2long($IP2);
                                  
                                  if ($check1 == -1 || $check1 === FALSE) {
                                      $resonse = "IP konnte nicht ermittelt werden";
                                  	
                                  } elseif ($check2 == -1 || $check2 === FALSE) {
                                      $response = "Service nicht erreichbar";
                                  	
                                  } else {
                                  
                                      if ($IP1 == $IP2) {
                                          $response = "IP noch aktuell";
                                      } else {
                                          $response = file_get_contents('https://xyz.nsupdate.info:xxxxxxx@ipv4.nsupdate.info/nic/update');
                                  	    if (strpos($response,"good") !== FALSE || strpos($response,"nochg") !== FALSE) {
                                  	        $response = "IP aktualisiert  -  " . $response;
                                  	    } else {
                                              $response = "Update fehlgeschlagen";
                                          }
                                      }
                                  };
                                  	
                                  $info = $datum . "  " . $uhrzeit . "  -  " . $response;
                                  $URL = 'https://user:pass@meinedomain.tld/verzeichnis/nsupdate_log.php?response='.urlencode($info);
                                  $handle = fopen($URL, "r");
                                  
                                  ?>
                                  
                                  <?php
                                  
                                  $Log = $_GET['response'];
                                  
                                  $logfile  = "nsupdate.log";
                                  $zeilen  = 60;
                                  
                                  $handle = fopen($logfile, "a+") or die('Datei kann nicht zum Schreiben geöffnet werden');
                                  fwrite($handle, $Log . "\n");
                                  fclose($handle);
                                  
                                  file_put_contents($logfile, implode("\n", array_slice(explode("\n", file_get_contents($logfile)), -($zeilen+1))));
                                  
                                  ?>
                                  
                                  1 Reply Last reply Reply Quote 0
                                  • First post
                                    Last post
                                  Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.