Pourquoi ddclient me donne-t-il une erreur «IP non valide» lors de la tentative de mise à jour du DNS dynamique?

8

J'ai beaucoup de mal à faire fonctionner ddclient(qui met à jour OpenDNS avec mon adresse IP actuelle). Je l'ai en tant que démon, mais il ne réussit jamais à mettre à jour mon adresse IP à openDNS.

Pour résoudre les problèmes, j'exécute ddclientla ligne de commande comme suit.

(Dans ces exemples, les valeurs entre crochets [] sont des remplaçants pour les valeurs réelles pour des raisons de sécurité)

Mon /etc/ddclient.confcontient:

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

Quand je cours:

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

Je reçois:

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.

Si je rmle fichier cache, ddclientne fonctionne qu'une fois, mais il échoue ensuite.

SpashHit
la source
OP cherchez-vous toujours une réponse? Si c'est le cas, vous devrez peut-être republier votre question car elle est signalée pour fermeture. =)
Ringtail
n'a toujours pas trouvé de moyen de le faire fonctionner
SpashHit
Veuillez envisager de modifier votre question pour fournir des informations supplémentaires. Cela peut déplacer votre question vers le haut et révéler une réponse.
Ringtail
Que puis-je ajouter?
SpashHit
avez-vous essayé le support client? sourceforge.net/projects/ddclient/support
Ringtail

Réponses:

4

Bogue connu - corrigé en amont - obtenez la dernière version d'un PPA

Il s'agit / provenait d'un "bug" connu - il est dû au fait que le fournisseur DNS dynamique utilise le protocole dyndns2 de manière incorrecte et envoie des réponses mal formées à ddclient.

Le problème a depuis longtemps été résolu dans ddclient (basé sur l'un des correctifs liés dans le trac), mais le ddclient d'Ubuntu est si ancien (hérité de l'amont) qu'il ne peut même pas être corrigé manuellement. (Ubuntu est sur rev.106 / Jan-2009, tandis que la dernière est r130 / Nov-2011).

Solution:

  1. Ajoutez ce PPA avecsudo apt-add-repository ppa:nathan-renniewaldock/ppa
  2. sudo apt-get update && sudo apt-get install ddclient (mettra à niveau si nécessaire)

Le PPA a les dernières versions pour 10.04, 11.10 et 12.04.


Pour les curieux, voici le patch / buggy:

        # bug # 10: certains fournisseurs de dyndns ne retournent pas l'IP donc
        # nous ne pouvons pas utiliser l'IP retournée
        my ($ status, $ returnip) = split / /, lc $ line;
        $ ip = $ returnip if (pas $ ip);
ish
la source
4

Vous voulez le plus récent paquetage ddclient de ppa: nathan-renniewaldock / ppa mais sachez que ce PPA contient de nombreux autres paquets que vous pourriez ne pas vouloir si tout ce que vous voulez faire est de faire fonctionner ddclient. Utilisez ces étapes pour mettre à niveau uniquement ddclient.

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

Maintenant, en tant que root, créez le fichier /etc/apt/preferences.d/nathan-prefset éditez-le pour qu'il ressemble à ceci (y compris la ligne vierge qui est importante):

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

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

Cela indique à apt-get d'ignorer les packages du PPA autres que ddclient. Alors maintenant, cela devrait être sûr de l'installer:

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

Ou si vous l'avez déjà installé, procédez comme suit:

sudo apt-get upgrade

Vérifiez simplement que seul ddclient va être mis à niveau.

Rob Fisher
la source
Il convient de noter que ces informations ne sont plus valides. Si vous essayez de suivre ces instructions dans ubuntu 12.04, vous obtenez cette erreur: "FATAL: Erreur lors du chargement du module Perl Digest :: SHA1 nécessaire pour la mise à jour des fichiers libres". Pour corriger cette erreur, vous avez besoin de ddclient 3.8.2 mais ce PPA n'a que 3.8.1.
frankster
0

sauter la mise à jour de @ de à 71.422.000.000.

La plupart du temps, lorsque j'obtiens cet avertissement après avoir configuré mon ddclient
AVERTISSEMENT: fichier /var/cache/ddclient/ddclient.cache, ligne 3: valeur non valide pour le mot clé 'ip' = ''
c'est à cause d'une faute de frappe ou simplement d'une petite tweek dans le fichier ddclient.conf. Je dois m'arrêter et le vérifier par rapport aux exemples de mes fournisseurs de domaine ligne par ligne.

J'utilise NameCheap parce que j'aime la sécurité de leur système de mot de passe qui est lié à chaque domaine individuellement, généré automatiquement et peut être modifié rapidement et facilement.

Mon dernier problème était quelque chose que NameCheap ne montre pas dans leur exemple de la base de connaissances, mais je me souvenais d'avoir dû le faire auparavant. C'est-à-dire que je dois mettre une virgule entre les noms d'hôte que je veux mettre à jour (le nom qui précède le nom de domaine). Voici donc mon exemple qui fonctionne actuellement avec mon fournisseur de domaine.

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
absent this minuscule petite virgule génère une erreur

Kurt Lysek
la source
Je ne sais pas pourquoi cela fait baisser les votes. Si vous recherchez des problèmes de namecheep, cela apparaît comme une question. Votre solution m'a parfaitement aidé. Je vous remercie!
nbroeking