J'utilise le service DNS dynamique de freedns.afraid.org pour mon serveur 12.04. J'avais supposé que les protocoles seraient normalisés et que le client serait simplement fonctionnel, mais apparemment pas. Je reçois ce message dans/var/log/syslog:
ERROR: Invalid update URL (2): unexpected status ()
J'ai essayé d'utiliser la version mise à jour de ddclient à partir du PPA alternatif décrit dans cette réponse , mais j'ai alors rencontré cette erreur:
FATAL: Error loading the Perl module Digest::SHA1 needed for freedns update.
FATAL: On Debian, the package libdigest-sha1-Perl must be installed.
Et quand j'essaye d'installer ce paquet, j'obtiens ceci:
E: Unable to locate package libdigest-sha1-Perl
Ce qui m'amène à ce rapport de bogue , qui n'a apparemment pas de solution. La façon de procéder?
Jusqu'à ce que ddclient soit corrigé , vous pouvez installer manuellement l'ancien module souhaité:
Sudo apt-get install cpanminus
cpanm --Sudo Digest::SHA1
La page des clients de Free DNS et ddclient --help
fournissent des exemples de configuration de client. Redémarrez ddclient pour que les modifications prennent effet:
Sudo service ddclient restart
J'ai réussi à faire fonctionner FreeDNS simplement en modifiant ces deux lignes dans /usr/sbin/ddclient
:
De:
my $sha1_loaded = eval {require Digest::SHA1};
À:
my $sha1_loaded = eval {require Digest::SHA};
De:
import Digest::SHA1 (qw/sha1_hex/);
À:
import Digest::SHA (qw/sha1_hex/);
Un commentaire dans le rapport de bogue suggère qu'il est "facile de changer de programme pour utiliser Digest :: SHA au lieu de Digest :: SHA1".
Donc, les étapes complètes sont d'abord parce qu'add-apt-repository n'est pas installé par défaut:
Sudo apt-get install python-software-properties
Puis, comme décrit par izx:
Sudo apt-add-repository ppa:nathan-renniewaldock/ppa
Maintenant, ce référentiel contient de nombreux paquets, mais nous ne voulons que ddclient. Créez donc un fichier de préférences tel que `/etc/apt/preferences.d/nathan-prefs et éditez-le pour qu'il ressemble à ceci:
Package: *
Pin: release o=LP-PPA-nathan-renniewaldock
Pin-Priority: 400
Package: ddclient
Pin: release o=LP-PPA-nathan-renniewaldock
Pin-Priority: 500
Maintenant, installez ddclient:
Sudo apt-get update && Sudo apt-get install ddclient
Maintenant, devenez root et éditez/usr/sbin/ddclient. Recherchez require Digest::SHA1
et remplacez-le par require Digest::SHA
. Recherchez ensuite import Digest::SHA1
quelques lignes plus tard et remplacez-le par import Digest::SHA
.
Enfin, ouvrez /etc/ddclient.conf et donnez-lui l’apparence suivante (notez le protocole):
daemon=3600
protocol=freedns
use=if, if=eth0
ssl=yes
use=web, web=myip.dnsomatic.com
server=freedns.afraid.org
login=username
password='password'
mydomain.example.com
Le principal problème qui me déplaît est le piratage d’un fichier et la rupture de la gestion des paquets d’Ubuntu. Une meilleure solution serait de réparer le CAE.