[glöest] Dyn. IP-Adresse an anderes Linuxsystem melden

chriwi

Mitglied
Mitglied seit
14 Nov 2005
Beiträge
705
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich benaötige in meinem NAS auf dem auch diverse Serverdienste laufen die Aktuelle IP meines DSL-Anschlusses. Dei Fritzbox hat die IP ja auf jeden fall im Webinterface und es ist wohl noch einfacher sie aus ifconfig mit grep rauszuholen, aber wie bekomme ich sie am besten an den NSLU2 geschickt um sie dort automatisch weiterzuverwenden?
Bisher habe ich ein Script mit "wget http://whatismyip.org" verwendet, diesesläuft aber an meinen neuen 1&1 Koplettanschluß (ohne R) nicht mehr zuverlässig, deshalb suche ich nach dem einfachsten Weg das ohne externe Hilfe im eigenen Netzwerk festzustellen und weiterzuleiten. Auf dem NSLU2 laufen ein Mailserver ein DNSMSQ und ein Apacheserver auf der Fritzbox ein brandneuer FRETZ-Mod, all dies darf verwendet werden.
Am besten wäre es natürlich wenn der Mechanismusdirekt vom DSL-Verbindungsaufbau oder der DynDNS-Anmeldung getriggert würde um die Daten nur dann zu übertragen wenn sie sich wirklich verändert haben.
.
 
Zuletzt bearbeitet:
Was ist das Problem mit "wget http://whatismyip.org"? Das sollte immer funktionieren.

/bin/onlinechanged ist ein geeigneter Platz, um eigene Aktionen auszuführen.
 
Hallo Ralf,

> Was ist das Problem mit "wget http://whatismyip.org"? Das sollte immer funktionieren.

ist mir auch rätselhaft, bis zur Umstellung hat es per cron-Script geklappt, seit das R weggefallen ist tut das nicht mehr und auch die Eingabe von watismyip.org im Browser bringt ein Timeout, dann habe ich auf ner DNSlookup-Seite die IP-Adresse davon besorgt aber auch die bringt Timeout, als wäre es geblockt :? . Auf der Arbeit funktionieren beide Methoden einwandfrei.
.
 
... also auf meinem Unix Rechner (Suse) läuft folgendes Script:

Code:
dig mydomain.dnsalias.com|egrep "^mydomain"|read host x y IP
echo $IP

Es muss natürlich "dig" (DNS lookup utility) installiert sein.

Vieleicht hilfts ja ;)
Thomas
 
Hallo,

ich habe mitlerweile in einem anderen Thread herausgefunden das es mit whatismyip.org und DSL16000-Komplett (ohne R) tatsächlich ein Routingproblem gibt.
Ich habe das Problem für mich dahingehend gelöst daß ich jetzt meine eigenes Whatismyip.php auf dem Server meines Forums laufen lasse, den ich auch von meinem Anschluß problemlos erreichen kann. Wenn das mal nicht mehr der Fall sein sollte ist für mich als betreiber eines Forums eh die Kacke am Dampfen.
.
 
Damit du auch ein "beantwortet" reinschreiben kannst, zumindest ein Vorschlag (evtl. ans Ende deiner "debug.cfg" packen):

Code:
echo '/usr/bin/get_ip -d  > /var/tmp/myip.txt
mailer -s "Fritz-IP ist: `cat /var/tmp/myip.txt`" -f "<Absernder hier>" -t "<Empfänger hier>" -m "<Mailserver hier>" -a "<User hier>" -w "<PW hier>"  -i /var/tmp/myip.txt' > /var/tmp/onlinechanged

Das Ganze kannst du belibig erweitern/ändern: Z.B per "ftpput" die Datei auf dem Server ablegen, damit einen eigenen httpd füttern .....

Jörg
 
Zuletzt bearbeitet:
Hallo MaxMuster,

danke für den Tip, das Wissen Über get_ip -d beantwortet schon enen Grossteil der Frage :) .
Was mit jetzt nur nicht klar ist wann und wie Oft wird dieser Code am ende der debug.cfg denn ausgeführt, ich dachte immer nur beim Reset oder Neustart der Fritzbox?
.
 
Das ist schon richtig, aber das Ergebnis ist, dass die Datei "/var/tmp/onlinechanged" dadurch erzeugt (genauer: die leere Datei verändert) wird. Und die wird immer ausgeführt, wenn sich die IP ändert.

Jörg
 
Hallo MaxMuster,

Ok, danke, verstanden :) .
Du bist doch immer wieder ne große Hilfe.
.
 
Gerne.
Ich kriege jetzt seitdem auch immer meine IP per Mail. Schadet ja nicht ;-) Allerdings kommt die fast immer gleich zweimal, was aber wohl kein Problem sein sollte...

Jörg
 
Ich habe den dyndns-service der FB auf mein eigenes kleines PHP gerichtet, das die IP-adresse dann in eine datenbank schreibt.
 
FB auf mein eigenes kleines PHP gerichtet, das die IP-adresse dann in eine datenbank

Ich habe den dyndns-service der FB auf mein eigenes kleines PHP gerichtet, das die IP-adresse dann in eine datenbank schreibt.
Kannst du das hier mal genauer vorstellen bitte?

Gruß.
 
Du bist doch lange genug dabei, um zu wissen, was hier von den Fullquotes gehalten wird.

Hast Du schon mal etwas mit PHP und einer Datenbank gemacht?
Wenn ja, dann ist das Ganze recht einfach: IP-Adresse nehmen und abspeichern.
Wenn nicht, ist die Frage, was Du nachher mit der Information in der Datenbank anfängst.

Ein guter Ausgangspunkt ist die PHP-Dokumentation, und dort speziell die Funktionen für die Datenbank Deiner Wahl.
 
Du bist doch lange genug dabei, um zu wissen, was hier von den Fullquotes gehalten wird.
Kürzer ging es ja wohl nicht oder ;) ? Wie soll ich einen Satz kürzen ohne den Inhalt zu verstellen. Ja bei längeren Posts wie deinen kürze oder Teile ich dem Inhalt entsprechend den Post. So ist es ja auch ok.
Hast Du schon mal etwas mit PHP und einer Datenbank gemacht?
Ja.
Wenn ja, dann ist das Ganze recht einfach: IP-Adresse nehmen und abspeichern.
Jep, die Frage ist nur wie rein. Wie sieht der String aus den die FRITZ!Box sendet an den DynDNS-Account?

Ich kenne einen Ansatz für die Lösung, möchte mir gern aber die Lösung von jms ansehen ... andere Sichtweise und so ;) .


Gruß.
 
Willst Du über ein DynDNS Update String vom DynDNS CLient der Box gehen oder von einem wget Aufruf?
Bei wget bist Du ganz frei mit den Parametern, beim DynDNS Client der Box kann man auch einiges einstellen.
Es gibt in der Datei ar7.cfg im Abschnitt ddns einige Einstellungen dazu. Mit dem Provider userdefined kann man vermutlich den Abfragestring selbst festlegen.
 
Willst Du über ein DynDNS Update String vom DynDNS CLient der Box gehen
Das hat den Vorteil das auch nicht geänderte FBs und NO-IT-User den DynDNS-Account ohne weiteres auf der FB einrichten können, in dem man dem User einfach einen Screenshoot zum abtippen mitgiebt.
oder von einem wget Aufruf?
Du meinst mit einem Script die IP auslesen und mit wget an ein eigenes PHP-Script auf dem Server senden?

Gruß.

PS:
Dann wollen wir doch mal das hier genauer uns ansehen:
Eigene IP im Netz veröffentlichen - PHP Script :)

http://www.loncarek.de/downloads/RouterTool.zip
 
Also in der fritzbox habe ich benutzerdefiniertes DynDns angeschaltet mit folgender url:
http://web33.server70.de/dynip.php?ip=<ipaddr>&client=fb1

Das dynip.php macht dann sowas:
Code:
if (isset($_REQUEST['ip']) and isset($_REQUEST['client'])) {
  $query="replace into dynip SET time=NOW(),client='$_REQUEST[client]',ipaddress='$_REQUEST[ip]'";
  $rc=mysql_query($query,$connection);
  if (!$rc) echo mysql_error();
} else {
  $result = mysql_query("select client,ipaddress,time from dynip",$connection);
  if (!$result) {
        echo "1 Nichts gefunden!";
  } else {
      $treffer = mysql_num_rows($result);
      if ($treffer==0) {
        echo "2 Keine Eintraege gefunden!";
      } else {
        {
          echo '<table border="1"><tr><th>Client<th>Time<th>IP address</tr>';
          while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
            echo "<tr><td>$row[client]<td>$row[time]<td><a href=\"http://$row[ipaddress]\">$row[ipaddress]</a></tr>";
          } //while
          echo "</table>";
        }
      }
  }
  if ($result) mysql_free_result($result);
}
 
Zuletzt bearbeitet von einem Moderator:
Mißbrauchsschutz oder Autentifizierung könnte noch ergänzt werden

@jms

Danke für den Post mit deinem Ansatz.
Da fehlt wie ich sehe aber ein Schutz gegen Eintragen von fremden Sachen, also ein Mißbrauchsschutz oder die Autentifizierung.

Gruß.
 
Wenn Du schon mal was in PHP gemacht hast, kannst Du das leicht selbst ergänzen:
Code:
if ($_REQUEST['user'] != 'XXX' || $_REQUEST['pass'] != 'YYY')
  die 'Benutzer oder Paßwort falsch';
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.