Dlaczego ddclient wyświetla błąd „Nieprawidłowy adres IP” podczas próby aktualizacji dynamicznego DNS?

8

Naprawdę ciężko mi się pracuje ddclient(która aktualizuje OpenDNS moim obecnym adresem IP) do pracy. Mam go uruchomionego jako demon, ale nigdy nie udaje mu się zaktualizować mojego adresu IP na openDNS.

Aby rozwiązać problem, uruchamiam ddclientz wiersza polecenia w następujący sposób.

(W tych przykładach wartości w nawiasach kwadratowych [] są standardowymi wartościami rzeczywistymi ze względów bezpieczeństwa)

Mój /etc/ddclient.confzawiera:

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

Kiedy biegnę:

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

Dostaję:

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.

Jeśli mam rmplik pamięci podręcznej, ddclientdziała raz, ale potem się nie powiedzie.

SpashHit
źródło
OP nadal szukasz odpowiedzi? Jeśli tak, może być konieczne ponowne przesłanie pytania, ponieważ jest ono oznaczone do zamknięcia. =)
Dzwonek
wciąż nie znalazłem sposobu, aby to zadziałało
SpashHit
Rozważ edycję pytania, aby podać dodatkowe informacje. To może przesunąć twoje pytanie na górę i odkryć odpowiedź.
Ringtail
Co jeszcze mogę dodać?
SpashHit,
próbowałeś obsługi klienta? sourceforge.net/projects/ddclient/support
Ringtail

Odpowiedzi:

4

Znany błąd - naprawiony w górę - pobierz najnowszą wersję z PPA

Jest to / było znanym „błędem” - jest to spowodowane przez dynamicznego dostawcę DNS niepoprawnie korzystającego z protokołu dyndns2 i wysyłającego do niego zniekształcone odpowiedzi ddclient.

Problem już dawno został rozwiązany w ddclient (na podstawie jednej z łat połączonych w trac), ale ddclient Ubuntu jest tak starożytny (odziedziczony z góry), że nie można go nawet załatać ręcznie. (Ubuntu jest w wersji 106 / styczeń-2009, a najnowszy to r130 / listopad-2011).

Rozwiązanie:

  1. Dodaj ten PPA za pomocąsudo apt-add-repository ppa:nathan-renniewaldock/ppa
  2. sudo apt-get update && sudo apt-get install ddclient (w razie potrzeby zaktualizuje)

PPA ma najnowsze wersje dla 10.04, 11.10 i 12.04.


Dla ciekawskich oto patch / buggy bit:

        # bug # 10: niektórzy dostawcy dyndns nie zwracają adresu IP, więc
        # nie możemy użyć zwróconego adresu IP
        my ($ status, $ returnip) = split / /, lc $ line;
        $ ip = $ returnip if (nie $ ip);
ish
źródło
4

Chcesz nowszego pakietu ddclient od ppa: nathan-renniewaldock / ppa, ale strzeż się, że ten PPA zawiera wiele innych pakietów, których możesz nie chcieć, jeśli wszystko, co chcesz zrobić, to uruchomić ddclient. Wykonaj te kroki, aby zaktualizować tylko program ddclient.

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

Teraz, jako root, utwórz plik /etc/apt/preferences.d/nathan-prefsi edytuj go tak, aby wyglądał tak (w tym ważny pusty wiersz):

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

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

To mówi apt-get, aby ignorował pakiety z PPA inne niż ddclient. Więc teraz powinno być to bezpieczne, aby go zainstalować:

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

Lub jeśli już go zainstalowałeś, zrób to:

sudo apt-get upgrade

Po prostu sprawdź, czy tylko ddclient zostanie zaktualizowany.

Rob Fisher
źródło
Warto zauważyć, że ta informacja nie jest już ważna. Jeśli spróbujesz postępować zgodnie z tymi instrukcjami w Ubuntu 12.04, pojawi się następujący błąd: „FATAL: Błąd ładowania modułu Perl Digest :: SHA1 potrzebny do aktualizacji Freedns”. Aby naprawić ten błąd, potrzebujesz ddclient 3.8.2, ale ten PPA ma tylko 3.8.1.
frankster
0

pomijam aktualizację @ z 71.422.000.000.

Przez większość czasu pojawia się to ostrzeżenie po skonfigurowaniu programu ddclient
OSTRZEŻENIE: plik /var/cache/ddclient/ddclient.cache, wiersz 3: Nieprawidłowa wartość słowa kluczowego „ip” = „”
wynika z literówki lub po prostu małej tweek w pliku ddclient.conf. Muszę to zatrzymać i porównać z przykładami moich dostawców domen wiersz po wierszu.

Używam NameCheap, ponieważ podoba mi się bezpieczeństwo systemu haseł, który jest przypisany do każdej domeny indywidualnie, generowany automatycznie i można go szybko i łatwo zmienić.

Moim ostatnim problemem było coś, czego NameCheap nie pokazuje w przykładzie z Bazy wiedzy, ale przypomniałem sobie, że musiałem to robić wcześniej. To znaczy, że muszę wstawić przecinek między nazwami hostów, które chcę zaktualizować (nazwa występująca przed nazwą domeny). Poniżej znajduje się mój przykład, który obecnie współpracuje z moim dostawcą domeny.

daemon = 3600
ssl = tak
protokół = namecheap
use = web, web = dynamicdns.park-twoja-domena.com / getip
server = dynamicdns.park-twoja-domena.com
login = twoja_domena.com
hasło = 0fc0ur5ethi5i5n0tmypa55w0rdfoob
@, nazwa hosta 1
brakuje tego mały, mały przecinek zgłasza błąd

Kurt Lysek
źródło
Nie wiem, dlaczego tak się dzieje. Jeśli szukasz problemów z nazwami, wyskakuje to jako pytanie. Twoje rozwiązanie pomogło mi idealnie. Dziękuję Ci!
nbroeking