jobo: Cron-Job soll IP-Adresse testen

Hallo,

mal angenommen, ich wollte wissen, wann eine Domain von einem Server zum anderen umgezogen wurde. Mit "ping example.com" erhalte ich auf der Konsole die aktuelle IP. Allerdings: bemühen sich die Domain-Name-Server dazwischen jedesmal um eine neue Anfrage? Gibt es da nicht so deine Time-To-Live, 86400 Sekunden zB., als ein Tag?

Wie würde ich, je nachdem, dann die Antwort von ping pipen? Und testen, welche der beiden möglichen IPs es ist? Aufruf eines php-Scriptes? Aber wie übergebe ich dann die IP? Und wenn nur als Shellscript, wie schicke ich dann beim bemerkten Wechsel eine Mail?

Gruß

jobo

  1. mal angenommen, ich wollte wissen, wann eine Domain von einem Server zum anderen umgezogen wurde. Mit "ping example.com" erhalte ich auf der Konsole die aktuelle IP. Allerdings: bemühen sich die Domain-Name-Server dazwischen jedesmal um eine neue Anfrage? Gibt es da nicht so deine Time-To-Live, 86400 Sekunden zB., als ein Tag?

    Ja - die TTL für A-Records liegt oft bei 3600 oder 86400 Sekunden - aber das ist nirgens definiert sondern eben vom den Zoneneinträgen abhängig.

    Wie würde ich, je nachdem, dann die Antwort von ping pipen? Und testen, welche der beiden möglichen IPs es ist?

    Der Cronjob soll einfach erst die aktuellen DNS-Einträgen holen (die Holzhammer-Methode ist deb nscd-Daemon neu zu starten - die schöne variante ist mit nslookup nachzufragen) und dann erst den Hostnamen pingen.

    Aufruf eines php-Scriptes?

    Wozu - wenn du einen Cronjob erstellen kannst, wirst du wohl auch ein Shellscript ausführen können.

    Aber wie übergebe ich dann die IP?

    Als was interessiert dich die IP wenn du doch den Hostnamen pingen willst, der automatisch zur richtigen IP auflöst, wenn dein DNS-Cache aktuell ist?

    Und wenn nur als Shellscript, wie schicke ich dann beim bemerkten Wechsel eine Mail?

    Mit sendmail?

    1. Hallo,

      Der Cronjob soll einfach erst die aktuellen DNS-Einträgen holen (die Holzhammer-Methode ist deb nscd-Daemon neu zu starten - die schöne variante ist mit nslookup nachzufragen) und dann erst den Hostnamen pingen.

      Also die Rückgabe des nslookup brauche ich nicht?

      Aufruf eines php-Scriptes?

      Wozu - wenn du einen Cronjob erstellen kannst, wirst du wohl auch ein Shellscript ausführen können.

      Aber wie übergebe ich dann die IP?

      Als was interessiert dich die IP wenn du doch den Hostnamen pingen willst, der automatisch zur richtigen IP auflöst, wenn dein DNS-Cache aktuell ist?

      Naja, die ip von example.com lautet aktuell 12.12.12.12. in kürze lautet sie 23.23.23.23. ich will wissen, wenn sie nach 23.23.23.23 auflöst == umzug zum neuen server ist erfolgt.

      Und wenn nur als Shellscript, wie schicke ich dann beim bemerkten Wechsel eine Mail?

      Mit sendmail?

      Ja, das hatte ich mal am wickel und war mir nicht sicher, ob das funktioniert. Zumindest von User zu User gabs da irgendwie probleme.

      Gruß

      jobo

      1. Der Cronjob soll einfach erst die aktuellen DNS-Einträgen holen (die Holzhammer-Methode ist deb nscd-Daemon neu zu starten - die schöne variante ist mit nslookup nachzufragen) und dann erst den Hostnamen pingen.

        Also die Rückgabe des nslookup brauche ich nicht?

        Solltest du nicht, sobald du mit nslookup informationen holst, merkt sich die dein lokaler DNS.

        Naja, die ip von example.com lautet aktuell 12.12.12.12. in kürze lautet sie 23.23.23.23. ich will wissen, wenn sie nach 23.23.23.23 auflöst == umzug zum neuen server ist erfolgt.

        Und was willst du mit dieser Information anfangen? Nur weil der DNS den du grade befrägst dir die neue IP mitteilet, heisst das noch lange nicht, dass der Record im kompletten DNS verteilt ist :)

        1. Tach,

          Solltest du nicht, sobald du mit nslookup informationen holst, merkt sich die dein lokaler DNS.

          sofern überhaupt ein DNS-Cache installiert ist.

          mfg
          Woodfighter

          1. sofern überhaupt ein DNS-Cache installiert ist.

            Bei Windows ist der per Default aktiv, zumindest bei Debian auch. Wie es  bei anderen Distris ist, weiss ich nicht, aber ich gehe davon aus, da ist es auch so.

            1. Tach,

              Bei Windows ist der per Default aktiv, zumindest bei Debian auch. Wie es  bei anderen Distris ist, weiss ich nicht, aber ich gehe davon aus, da ist es auch so.

              bei Debian in einer Standardinstallation habe ich noch keinen gesehen, [http://wiki.debian.org/tasksel@tasksel] enthält außer im DNS-Server-Task auch keinen, soweit ich das sehe.

              mfg
              Woodfighter

              1. bei Debian in einer Standardinstallation habe ich noch keinen gesehen, [http://wiki.debian.org/tasksel@tasksel] enthält außer im DNS-Server-Task auch keinen, soweit ich das sehe.

                Irgendwas hab ich mal gelesen, dass die Abfragen gecached werden und bei einem Neustart wird der Cache gelöscht.
                Da ich aberweder sagen kann wo ich das gelesen hab, noch wie der genaue Wortlaut war, kann ich nicht wirklich sagen ob das auch so zutrifft. Ich muss meine Aussage daher ändern.

        2. Hallo,

          Naja, die ip von example.com lautet aktuell 12.12.12.12. in kürze lautet sie 23.23.23.23. ich will wissen, wenn sie nach 23.23.23.23 auflöst == umzug zum neuen server ist erfolgt.

          Und was willst du mit dieser Information anfangen? Nur weil der DNS den du grade befrägst dir die neue IP mitteilet, heisst das noch lange nicht, dass der Record im kompletten DNS verteilt ist :)

          naja, ich dachte, erst wenn der umzug vom einen zum anderen provider erfolgt ist, kommt die neue ip-adresse beim pingen heraus. vorher geht es ja nicht. ab da lohnt es sich dann zu schauen, wie das mit den dazugehörigen mailadressen klappt, vorher ja nicht. und auch, wie das mit dem neuen webspace klappt (war nicht meine idee ;-)). ich mach das eben jetzt mal ab und zu mal über die windows-konsole und dachte, das wäre doch was für einen automatismus und zum dazulernen.

          Gruß

          jobo

  2. Hi,

    mal angenommen, ich wollte wissen, wann eine Domain von einem Server zum anderen umgezogen wurde.

    ... dann würde ich doch einfach auf den neuen Server irgendeine Ressource packen[1], die auf dem alten nicht existiert. Zum Beispiel irgendein Dummy-Bild.
    Dieses Bild versuche ich dann in bestimmten Abständen mit wget abzurufen. Sobald das gelingt, ist der neue Server auf jeden Fall erreichbar. Danach sollte man sicherheitshalber nochmal 24 Stunden zugeben, bevor man davon ausgeht, dass er auch für jeden erreichbar ist.

    Mit "ping example.com" erhalte ich auf der Konsole die aktuelle IP.

    Ja. Aber das schon mehrfach angesprochene DNS-Caching macht die Sache zum Glücksspiel.

    Ciao,
     Martin

    [1] Meist vergibt der Webhoster ja irgendeine Behelfsadresse, unter der man den neuen Webspace schon erreichen kann, bevor das DNS korrekt eingerichtet ist.

    --
    Ich wollt', ich wär ein Teppich.
    Dann könnte ich morgens liegenbleiben.
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. Hallo,

      [1] Meist vergibt der Webhoster ja irgendeine Behelfsadresse, unter der man den neuen Webspace schon erreichen kann, bevor das DNS korrekt eingerichtet ist.

      Per FTP kommt man drauf. Also könnte man machen, wie du sagst. Aber hat man das Problem nicht nach wie vor mit dem Caching?

      Und wie unterscheide ich die beiden unterschidlichen Ergebnisse von wget?

      Hilft denn aber nun nslookup etwas? Bewirkt das, dass die Anfrage bis zum letzten DNS-Server durchgefragt wird?

      Gruß

      jobo

      1. Hi,

        [1] Meist vergibt der Webhoster ja irgendeine Behelfsadresse, unter der man den neuen Webspace schon erreichen kann, bevor das DNS korrekt eingerichtet ist.
        Per FTP kommt man drauf. Also könnte man machen, wie du sagst. Aber hat man das Problem nicht nach wie vor mit dem Caching?

        nö, wieso? Solange man vom DNS noch auf den alten Server verwiesen wird, erreicht man die Test-Ressource nicht, es gibt also nichts zu cachen.

        Und wie unterscheide ich die beiden unterschidlichen Ergebnisse von wget?

        Naheliegend wäre, den Exit Code auszuwerten. Das ist sogar in einer Batchdatei leicht zu haben. Die Ausgabe von wget zu parsen, wäre dagegen relativ viel Aufwand.

        Hilft denn aber nun nslookup etwas? Bewirkt das, dass die Anfrage bis zum letzten DNS-Server durchgefragt wird?

        Nein, nicht zwangsläufig. Sowie einer der DNS-Server in der Kette glaubt, die Antwort noch auswendig zu kennen, hast du Pech. Gut, man könnte nun argumentieren, dass das Ergebnis trotzdem aussagefähig ist, denn normale HTTP-Clients würden dann ebenso abgefertigt. Aber warum dann so umständlich?

        Ciao,
         Martin

        --
        Dieser Satz wurde in mühsamer Kleinstarbeit aus einzelnen Wörtern zusammengesetzt.
          (Hopsel)
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
  3. Tach,

    mal angenommen, ich wollte wissen, wann eine Domain von einem Server zum anderen umgezogen wurde. Mit "ping example.com" erhalte ich auf der Konsole die aktuelle IP.

    der richtige Weg wäre wohl eine Abfrage bei einem der DNS-Server der TLD, der Wechsel des Nameservers für die Domain ist das Anzeichen für den Beginn der Umstellung.

    mfg
    Woodfighter

    1. Hallo,

      Tach,

      mal angenommen, ich wollte wissen, wann eine Domain von einem Server zum anderen umgezogen wurde. Mit "ping example.com" erhalte ich auf der Konsole die aktuelle IP.

      der richtige Weg wäre wohl eine Abfrage bei einem der DNS-Server der TLD, der Wechsel des Nameservers für die Domain ist das Anzeichen für den Beginn der Umstellung.

      Zumindest vom neuen Provider (Power-Netz) weiß ich den/die Nameserveradressen. Bei Strato wird sich das auch herausbekommen lassen. Wie aber "mache" ich eine Abfrage beim Nameserver?

      Gruß

      jobo

      1. Tach,

        der richtige Weg wäre wohl eine Abfrage bei einem der DNS-Server der TLD, der Wechsel des Nameservers für die Domain ist das Anzeichen für den Beginn der Umstellung.

        Zumindest vom neuen Provider (Power-Netz) weiß ich den/die Nameserveradressen. Bei Strato wird sich das auch herausbekommen lassen. Wie aber "mache" ich eine Abfrage beim Nameserver?

        ich gehe jetzt mal davon aus, es geht dir um die Domain example.com:

        dig NS com

        aus der ANSWER SECTION suchen wir uns einen der authorative Nameserver aus, z.B. h.gtld-servers.net.

        und da fragen wir an, wer für example.com zuständig ist:

        dig NS example.com @h.gtld-servers.net.

        mfg
        Woodfighter

    2. Tach,

      der richtige Weg wäre wohl eine Abfrage bei einem der DNS-Server der TLD, der Wechsel des Nameservers für die Domain ist das Anzeichen für den Beginn der Umstellung.

      der noch richtigere Weg wäre eigentlich Whois, aber das ist je nach TLD nicht für ein Script verfügbar.

      mfg
      Woodfighter

      1. Hallo,

        der richtige Weg wäre wohl eine Abfrage bei einem der DNS-Server der TLD, der Wechsel des Nameservers für die Domain ist das Anzeichen für den Beginn der Umstellung.
        der noch richtigere Weg wäre eigentlich Whois

        sehe ich nicht so - über whois bekomme ich ja "nur" die Registrierungsinformationen für die Domain, also wer für welche Belange verantwortlich ist. Daran kann ich zwar den formalen Akt des Inhaber-Wechsels erkennen; nicht aber, ob auch die nötige technische Umstellung (DNS) schon erfolgt ist bzw. sich schon "im DNS herumgesprochen" hat.

        Oder was übersehe ich?

        So long,
         Martin

        --
        F: Wer ist der Herrscher über Wasser, Wind und Wellen?
        A: Der Friseur.
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        1. Tach,

          sehe ich nicht so - über whois bekomme ich ja "nur" die Registrierungsinformationen für die Domain, also wer für welche Belange verantwortlich ist. Daran kann ich zwar den formalen Akt des Inhaber-Wechsels erkennen; nicht aber, ob auch die nötige technische Umstellung (DNS) schon erfolgt ist bzw. sich schon "im DNS herumgesprochen" hat.

          viel besser, als den formalen Akt erkennen, wird es ja eh nicht; im Optimalfall sieht man, wann die Ausbreitung im DNS beginnt und kann abschätzen, wann sie frühestens beendet ist. Ab wann man das als benutzbar umgezogen bezeichnet ist dann ja etwas schwammig.

          mfg
          Woodfighter