Warum gibt ddclient beim Versuch, dynamisches DNS zu aktualisieren, den Fehler "Ungültige IP" aus?

8

Es fällt mir wirklich schwer, ddclient(was OpenDNS mit meiner aktuellen IP-Adresse aktualisiert) zum Laufen zu bringen. Ich habe es als Daemon ausgeführt, aber es gelingt mir nie, meine IP-Adresse unter zu aktualisieren openDNS.

Zur Fehlerbehebung starte ich ddclientwie folgt über die Befehlszeile.

(In diesen Beispielen sind Werte in eckigen Klammern [] aus Sicherheitsgründen Ersatz für die tatsächlichen Werte.)

Mein /etc/ddclient.confenthält:

use=web, web=checkip.dyndns.org/, web-skip='IP Address'
server=updates.opendns.com
protocol=dyndns2
login=[my login]
password=[my password]
Home

Wenn ich renne:

sudo ddclient -daemon=0 -debug -verbose -noquiet

Ich bekomme:

WARNING:  file /var/cache/ddclient/ddclient.cache, line 3: Invalid Value for keyword 'ip' = ''
...
WARNING:  skipping update of Home from <nothing> to [my real ip].
WARNING:   last updated <never> but last attempt on Tue Oct  4 08:38:32 2011 failed.

Wenn ich rmdie Cache-Datei, ddclientfunktioniert einmal, aber dann schlägt es bei nachfolgenden Zeiten fehl.

SpashHit
quelle
OP suchen Sie noch eine Antwort? In diesem Fall müssen Sie Ihre Frage möglicherweise erneut veröffentlichen, da diese zum Schließen markiert ist. =)
Ringtail
Ich habe
Bitte bearbeiten Sie Ihre Frage, um zusätzliche Informationen bereitzustellen. Dies kann Ihre Frage nach oben verschieben und eine Antwort liefern.
Ringtail
Was kann ich noch hinzufügen?
SpashHit
Haben Sie den Client-Support ausprobiert? sourceforge.net/projects/ddclient/support
Ringtail

Antworten:

4

Bekannter Fehler - Upstream behoben - Holen Sie sich die neueste Version von einem PPA

Dies ist / war ein bekannter "Fehler" - er wird vom dynamischen DNS-Anbieter verursacht , der das dyndns2- Protokoll falsch verwendet und fehlerhafte Antworten an sendet ddclient.

Das Problem wurde in ddclient längst behoben (basierend auf einem der im Trac verknüpften Patches), aber Ubuntus ddclient ist so alt (vom Upstream geerbt), dass es nicht einmal manuell gepatcht werden kann. (Ubuntu ist auf Rev. 106 / Jan-2009, während die neueste Version r130 / Nov-2011 ist).

Lösung:

  1. Fügen Sie diese PPA mit hinzusudo apt-add-repository ppa:nathan-renniewaldock/ppa
  2. sudo apt-get update && sudo apt-get install ddclient (wird bei Bedarf aktualisiert)

Die PPA verfügt über die neuesten Versionen für 10.04, 11.10 und 12.04.


Für die Neugierigen hier das Patch / Buggy-Bit:

        # Bug # 10: Einige Dyndns-Anbieter geben die IP nicht zurück
        # Wir können die zurückgegebene IP nicht verwenden
        my ($ status, $ returnip) = split / /, lc $ line;
        $ ip = $ returnip if (nicht $ ip);
ish
quelle
4

Sie möchten das neuere ddclient-Paket von ppa: nathan-renniewaldock / ppa, aber beachten Sie, dass diese PPA viele andere Pakete enthält, die Sie möglicherweise nicht möchten, wenn Sie ddclient nur zum Laufen bringen möchten. Verwenden Sie diese Schritte, um nur ddclient zu aktualisieren.

sudo apt-get install python-software-properties
sudo apt-add-repository ppa:nathan-renniewaldock/ppa

Erstellen Sie nun als root die Datei /etc/apt/preferences.d/nathan-prefsund bearbeiten Sie sie so (einschließlich der wichtigen leeren Zeile):

Package: *
Pin: release o=LP-PPA-nathan-renniewaldock
Pin-Priority: 400

Package: ddclient
Pin: release o=LP-PPA-nathan-renniewaldock
Pin-Priority: 500

Dies weist apt-get an, andere Pakete von der PPA als ddclient zu ignorieren. Jetzt sollte es sicher sein, dies zu tun, um es zu installieren:

sudo apt-get update && sudo apt-get install ddclient

Oder wenn Sie es bereits installiert haben, gehen Sie folgendermaßen vor:

sudo apt-get upgrade

Überprüfen Sie einfach, ob nur ddclient aktualisiert wird.

Rob Fisher
quelle
Es ist erwähnenswert, dass diese Informationen nicht mehr gültig sind. Wenn Sie versuchen, diese Anweisungen in Ubuntu 12.04 zu befolgen, wird folgende Fehlermeldung angezeigt: "FATAL: Fehler beim Laden des Perl-Moduls Digest :: SHA1, das für das Freedns-Update erforderlich ist". Um diesen Fehler zu beheben, benötigen Sie ddclient 3.8.2, aber diese PPA hat nur 3.8.1.
Frankster
0

Überspringen des Updates von @ von auf 71.422.000.000.

Die meiste Zeit, wenn ich diese Warnung nach dem Einrichten meines ddclient
erhalte, WARNUNG : Datei /var/cache/ddclient/ddclient.cache, Zeile 3: Ungültiger Wert für das Schlüsselwort 'ip' = '' liegt
an einem Tippfehler oder nur an einem kleinen tweek in der Datei ddclient.conf. Ich muss anhalten und es Zeile für Zeile mit den Beispielen meiner Domain-Anbieter vergleichen.

Ich benutze NameCheap, weil mir die Sicherheit des Passwortsystems gefällt, das an jede Domain einzeln gebunden ist, automatisch generiert wird und schnell und einfach geändert werden kann.

Mein letztes Problem war etwas, das NameCheap in seinem Knowledgebase-Beispiel nicht anzeigt, aber ich erinnerte mich, dass ich es vorher tun musste. Das heißt, ich muss ein Komma zwischen die Hostnamen setzen, die aktualisiert werden sollen (der Name, der vor dem Domänennamen steht). Unten ist mein Beispiel, das derzeit mit meinem Domain-Anbieter funktioniert.

daemon = 3600
ssl = yes
protocol = namecheap
use = web, web = dynamicdns.park-your-domain.com / getip
server = dynamicdns.park-your-domain.com
login = yourdomainname.com
password = 0fc0ur5ethi5i5n0tmypa55w0rdfoob
@, hostname1
fehlt dies winziges kleines Komma wirft einen Fehler

Kurt Lysek
quelle
Ich weiß nicht, warum dies zu Abstimmungen führt. Wenn Sie nach Problemen mit der Namensprüfung suchen, wird dies als Frage angezeigt. Ihre Lösung hat mir perfekt geholfen. Vielen Dank!
Nbroeking