Perché ddclient mi dà un errore "IP non valido" quando provo ad aggiornare il DNS dinamico?


8

Sto facendo davvero fatica a far funzionare ddclient(che aggiorna OpenDNS con il mio attuale indirizzo IP). Lo eseguo come demone, ma non riesce mai ad aggiornare il mio indirizzo IP su openDNS.

Per risolvere i problemi, sto correndo ddclientdalla riga di comando come segue.

(In questi esempi, i valori tra parentesi quadre [] sono stand-in per i valori reali per motivi di sicurezza)

Il mio /etc/ddclient.confcontiene:

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

Quando corro:

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

Ottengo:

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.

Se ho rmil file cache, ddclientfunziona una volta, ma poi fallisce nei momenti successivi.


OP stai ancora cercando una risposta? In tal caso, potrebbe essere necessario ripubblicare la domanda in quanto contrassegnata per la chiusura. =)
Ringtail

non ho ancora trovato il modo di farlo funzionare
SpashHit

Ti preghiamo di considerare di modificare la tua domanda per fornire ulteriori informazioni. Questo può spostare la domanda verso l'alto e rivelare una risposta.
Ringtail

Cos'altro posso aggiungere?
SpashHit

hai provato il supporto clienti? sourceforge.net/projects/ddclient/support
Ringtail

Risposte:


4

Bug noto - risolto a monte - ottiene l'ultima versione da un PPA

Questo è / proveniva da un "bug" noto - è causato dal provider DNS dinamico che utilizza il protocollo dyndns2 in modo errato e invia risposte non corrette ddclient.

Il problema è stato risolto da tempo in ddclient (basato su una delle patch collegate nel trac), ma il ddclient di Ubuntu è così antico (ereditato dall'upstream) che non può nemmeno essere patchato manualmente. (Ubuntu è il rev. 106 / Jan-2009, mentre l'ultimo è r130 / Nov-2011).

Soluzione:

  1. Aggiungi questo PPA consudo apt-add-repository ppa:nathan-renniewaldock/ppa
  2. sudo apt-get update && sudo apt-get install ddclient (aggiornerà se necessario)

Il PPA ha le ultime versioni per 10.04, 11.10 e 12.04.


Per i curiosi, ecco il bit patch / buggy:

        # bug # 10: alcuni provider dyndns non restituiscono l'IP così
        # non possiamo usare l'IP restituito
        my ($ status, $ returnip) = split / /, lc $ line;
        $ ip = $ restituito if (non $ ip);

4

Volete il pacchetto ddclient più recente da ppa: nathan-renniewaldock / ppa ma state attenti che questo PPA contiene molti altri pacchetti che potreste non desiderare se tutto ciò che volete fare è far funzionare ddclient. Utilizzare questi passaggi per aggiornare solo ddclient.

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

Ora, come root, crea il file /etc/apt/preferences.d/nathan-prefse modificalo in questo modo (inclusa la riga vuota che è importante):

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

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

Questo dice a apt-get di ignorare i pacchetti dal PPA diversi da ddclient. Quindi ora dovrebbe essere sicuro farlo per installarlo:

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

O se lo hai già installato, fai come segue:

sudo apt-get upgrade

Basta controllare che solo ddclient verrà aggiornato.


Vale la pena notare che questa informazione non è più valida. Se si tenta di seguire queste istruzioni in Ubuntu 12.04 si ottiene questo errore: "FATAL: Errore durante il caricamento del modulo Perl Digest :: SHA1 necessario per l'aggiornamento di freedns". Per correggere questo errore è necessario ddclient 3.8.2 ma questo PPA ha solo 3.8.1.
Frank

0

saltando l'aggiornamento di @ da a 71.422.000.000.

Il più delle volte quando ricevo questo avviso dopo aver impostato il mio ddclient
ATTENZIONE: file /var/cache/ddclient/ddclient.cache, riga 3: valore non valido per la parola chiave 'ip' = ''
è a causa di un errore di battitura o solo un piccolo tweek nel file ddclient.conf. Devo fermarmi e verificarlo contro gli esempi dei miei provider di dominio riga per riga.

Uso NameCheap perché mi piace la sicurezza del loro sistema di password che è legato a ciascun dominio individualmente, generato automaticamente e può essere cambiato rapidamente e facilmente.

Il mio ultimo problema era qualcosa che NameCheap non mostrava nel loro esempio di knowledge base ma era qualcosa che mi ricordavo di dover fare prima. Cioè devo inserire una virgola tra i nomi host che voglio aggiornare (il nome che precede il nome dominio). Quindi di seguito è riportato il mio esempio che attualmente funziona con il mio provider di dominio.

daemon = 3600
ssl = yes
protocollo = namecheap
use = web, web = dynamicdns.park-your-domain.com / getip
server = dynamicdns.park-your-domain.com
login = yourdomainname.com
password = 0fc0ur5ethi5i5n0tmypa55w0rdfoob
@, nomehost1
mancante minuscola virgola genera un errore


Non so perché questo stia ottenendo voti negativi. Se cerchi problemi con namecheep, questo appare come una domanda. La tua soluzione mi ha aiutato perfettamente. Grazie!
ininterrottamente il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.