Mengapa ddclient memberi saya kesalahan "IP tidak valid" ketika mencoba memperbarui DNS dinamis?

8

Saya mengalami kesulitan untuk mendapatkan ddclient(yang memperbarui OpenDNS dengan alamat IP saya saat ini) agar berfungsi. Saya menjalankannya sebagai daemon, tetapi tidak pernah berhasil memperbarui alamat IP saya di openDNS.

Untuk memecahkan masalah, saya menjalankan ddclientdari baris perintah sebagai berikut.

(Dalam contoh ini, nilai dalam tanda kurung siku [] adalah stand-in untuk nilai nyata untuk alasan keamanan)

Saya /etc/ddclient.confmengandung:

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

Ketika saya menjalankan:

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

Saya mendapat:

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.

Jika saya rmfile cache, ddclientberfungsi sekali, tetapi kemudian gagal pada waktu berikutnya.

SpashHit
sumber
OP apakah Anda masih mencari jawaban? Jika demikian, Anda mungkin perlu memposting ulang pertanyaan Anda karena ini ditandai untuk ditutup. =)
Ringtail
masih belum menemukan cara untuk membuatnya bekerja
SpashHit
Silakan pertimbangkan untuk mengedit pertanyaan Anda untuk memberikan informasi tambahan. Ini dapat memindahkan pertanyaan Anda ke atas dan menikmati jawabannya.
Ringtail
Apa lagi yang bisa saya tambahkan?
SpashHit
Sudahkah Anda mencoba dukungan klien? sourceforge.net/projects/ddclient/support
Ringtail

Jawaban:

4

Bug yang dikenal - diperbaiki di hulu - dapatkan versi terbaru dari PPA

Ini adalah / berasal dari "bug" yang dikenal - ini disebabkan oleh penyedia DNS dinamis yang menggunakan protokol dyndns2 secara tidak benar dan mengirimkan tanggapan yang salah ddclient.

Masalahnya sudah lama diperbaiki di ddclient (berdasarkan pada salah satu tambalan yang terhubung di trac), tetapi ddclient Ubuntu sangat kuno (diwarisi dari hulu) sehingga tidak dapat ditambal secara manual. (Ubuntu pada rev. 106 / Jan-2009, sedangkan yang terbaru adalah r130 / Nov-2011).

Larutan:

  1. Tambahkan PPA ini dengansudo apt-add-repository ppa:nathan-renniewaldock/ppa
  2. sudo apt-get update && sudo apt-get install ddclient (akan ditingkatkan jika perlu)

PPA memiliki versi terbaru untuk 10,04, 11,10 dan 12,04.


Untuk yang penasaran, inilah sedikit tambalan / kereta:

        # bug # 10: beberapa penyedia dyndns tidak mengembalikan IP begitu
        # kita tidak bisa menggunakan IP yang dikembalikan
        my ($ status, $ returnsip) = split / /, lc $ line;
        $ ip = $ returnip if (bukan $ ip);
ish
sumber
4

Anda menginginkan paket ddclient yang lebih baru dari ppa: nathan-renniewaldock / ppa tetapi berhati-hatilah karena PPA ini berisi banyak paket lain yang mungkin tidak Anda inginkan jika yang ingin Anda lakukan hanyalah membuat ddclient berfungsi. Gunakan langkah-langkah ini untuk hanya meningkatkan ddclient.

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

Sekarang, sebagai root, buat file /etc/apt/preferences.d/nathan-prefsdan edit agar terlihat seperti ini (termasuk baris kosong yang penting):

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

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

Ini memberitahu apt-get untuk mengabaikan paket dari PPA selain ddclient. Jadi sekarang aman untuk melakukan ini untuk menginstalnya:

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

Atau jika Anda sudah menginstalnya, lakukan ini:

sudo apt-get upgrade

Cukup periksa bahwa hanya ddclient yang akan ditingkatkan.

Rob Fisher
sumber
Perlu dicatat bahwa informasi ini tidak lagi valid. Jika Anda mencoba mengikuti petunjuk ini di ubuntu 12.04 Anda mendapatkan kesalahan ini: "FATAL: Kesalahan memuat modul Perl Digest :: SHA1 diperlukan untuk pembaruan bebas". Untuk memperbaiki kesalahan ini, Anda perlu ddclient 3.8.2 tetapi PPA ini hanya memiliki 3.8.1.
frankster
0

melewatkan pembaruan @ dari ke 71.422.000.000.

Sebagian besar waktu ketika saya mendapatkan peringatan ini setelah mengatur ddclient saya
PERINGATAN: file /var/cache/ddclient/ddclient.cache, baris 3: Nilai tidak valid untuk kata kunci 'ip' = ''
itu karena kesalahan ketik atau hanya kesalahan kecil tweek di file ddclient.conf. Saya perlu berhenti dan memeriksanya dengan contoh penyedia domain saya baris demi baris.

Saya menggunakan NameCheap karena saya suka keamanan sistem kata sandi mereka yang diikat ke setiap domain satu per satu, dihasilkan secara otomatis dan dapat diubah dengan cepat dan mudah.

Masalah terbaru saya adalah sesuatu yang tidak ditunjukkan oleh NameCheap dalam contoh Knowledgebase mereka tetapi sesuatu yang saya ingat harus saya lakukan sebelumnya. Itu adalah bahwa saya harus meletakkan koma antara Nama Host yang ingin saya perbarui (Nama yang muncul sebelum Nama Domain). Jadi di bawah ini adalah contoh saya yang saat ini berfungsi dengan penyedia domain saya.

daemon = 3600
ssl = yes
protokol = namecheap
use = web, web = dynamicdns.park-your-domain.com / getip
server = dynamicdns.park-your-domain.com
login = yourdomainname.com
kata sandi = 0fc0ur5ethi5i5n0tmypa55w0rdfoob
@, hostname1
melewatkan ini koma kecil kecil melempar kesalahan

Kurt Lysek
sumber
Saya tidak tahu mengapa ini menjadi downvotes. Jika Anda mencari masalah kartu nama ini muncul sebagai pertanyaan. Solusi Anda membantu saya dengan sempurna. Terima kasih!
nbroeking