Si vous avez, comme moi, un FAI vous fournissant une IP dynamique, vous avez certainement besoin d’un service comme DynDNS ou No-IP. Ceci est important surtout si vous souhaitez utiliser votre Raspberry Pi comme un serveur. J’utilise personnellement No-IP pour des raisons historiques car je possède un compte gratuit chez eux depuis environ 10 ans. Dans ce poste je vais vous apprendre à comment bien installer leur client officiel sous Raspbian.
En effet, l’équipe de No-IP fournit un petit programme gratuit appelé Dynamic DNS Update (DUC) Client. DUC permet de vérifier de façon continue tous les changements d’adresse IP publique en tâche de fond et met à jour le registre de No-IP si nécessaire. Ce programme fonctionne sous Raspbian sans modifications, à part pour la partie installation comme un service qui est un peu délicate. Suivez le guide !
Compiler le client DUC
La première chose à faire est de récupérer et compiler le client. Ouvrez un Terminal (ou utilisez un client SSH, comme PuTTY) et entrez les commandes suivantes :
1 2 3 4 5 6 |
cd /usr/local/src sudo wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz sudo tar xzf noip-duc-linux.tar.gz cd noip-2.1.9-1 sudo make sudo make install |
Après ça, le client No-IP DUC vous demandera quelques informations :
- Le login/email correspondant à votre compte no-ip.com ;
- Le mot de passe associé ;
- Quelques préférences supplémentaires (comme la fréquence de mise à jour de l’adresse IP).
Le client No-IP DUC est maintenant prêt à être utilisé. Il est temps de configurer le service.
Configurer le client No-IP DUC comme un service
Maintenant que vous avez un client DUC qui fonctionne, il est temps de l’installer sous forme de service. Ceci permettra le lancement automatique du client DUC à chaque démarrage du Raspberry Pi.
1 2 3 4 5 6 |
cd /usr/local/src sudo wget http://download.sizious.com/rpi/noip-duc-raspbian.tar.bz2 sudo tar -xjvf noip-duc-raspbian.tar.bz2 cd noip-2.1.9-1 sudo chmod +x raspbian.noip2.sh service.install.sh service.uninstall.sh sudo ./service.install.sh raspbian |
Après avoir passé toutes ces commandes, vous devriez avoir ce message :
1 |
./service.install.sh: installing noip2 service for raspbian... OK! |
Tout est désormais configuré !
Vérification du fonctionnement du service No-IP
La première chose à faire est de vérifier si le service No-IP est bien la dernière chose lancée sur le Raspberry Pi. Entrez la commande suivante :
1 |
systemd-analyze blame |
La sortie devrait ressembler à quelque chose comme ça :
1 2 3 4 5 6 7 8 9 10 |
10.053s noip2.service 840ms networking.service 591ms systemd-logind.service 560ms keyboard-setup.service 460ms alsa-restore.service 447ms dhcpcd.service 437ms triggerhappy.service 434ms dphys-swapfile.service 373ms systemd-fsck-root.service ... |
Lancer le service No-IP en dernier permet d’éviter certains problèmes. Par exemple, si votre configuration réseau n’est pas prête lors du lancement du client DUC, ceci peut le crasher avec des messages d’erreurs inutiles et difficiles à comprendre. J’ai déjà tout pré-configuré dans les fichiers fournis afin d’éviter ce problème.
Pour vérifier si le service No-IP DUC Client tourne, lancez cette commande :
1 |
systemctl status noip2 |
Une sortie correcte ressemble à cela :
1 2 3 4 5 |
● noip2.service - LSB: No-IP Dynamic Update Client (DUC) for Linux Loaded: loaded (/etc/init.d/noip2) Active: active (running) since Sat 2017-04-01 19:17:13 CEST; 4 weeks 0 days ago CGroup: /system.slice/noip2.service └─596 /usr/local/bin/noip2 |
Comme vous pouvez le voir, le service noip2 fonctionne parfaitement bien !
Pour avoir plus d’informations sur l’instance noip2 en cours d’exécution, lancez la commande suivante :
1 |
sudo noip2 -S |
Ceci va afficher un message comme ci-dessous :
1 2 3 4 5 6 7 8 9 |
1 noip2 process active. Process 705, started as noip2, (version 2.1.9) Using configuration from /usr/local/etc/no-ip2.conf Last IP Address set xxx.xxx.xxx.xxx Account xxxxxxxx@xxx.xxx configured for: host bonobo1985.no-ip.org Updating every 30 minutes via /dev/eth0 with NAT enabled. |
Tout semble OK. Maintenant, connectez-vous à votre compte No-IP pour vérifier si le DNS concerné a bien été mis à jour :
Super, vous avez réussi ! Profitez ! 🙂
Bonus
Vous pouvez vérifier les messages d’erreurs survenus lors du démarrage avec cette commande :
1 |
dmesg | grep "noip2" |
Vous pouvez contrôler le service No-IP via la commande service :
1 |
sudo service noip2 restart |
Par exemple, cette commande va relancer le service noip2 (elle met 10 secondes à s’exécuter).
Références
- How to Install the Dynamic Update Client on Linux (en anglais)
- How to Install the No-IP DUC on Raspberry Pi (en anglais)