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)
bonjour, la mise en place de DUC se bloque avec ces commentaires
pi@raspberrypi:~/noip-2.1.9-1 $ sudo make install
if [ ! -d /usr/local/bin ]; then mkdir -p /usr/local/bin;fi
if [ ! -d /usr/local/etc ]; then mkdir -p /usr/local/etc;fi
cp noip2 /usr/local/bin/noip2
/usr/local/bin/noip2 -C -c /tmp/no-ip2.conf
Auto configuration for Linux client of no-ip.com.
Connect to dynupdate.no-ip.com timed out
Network must be operational to create configfile. Ending!
mv /tmp/no-ip2.conf /usr/local/etc/no-ip2.conf
mv: cannot stat ‘/tmp/no-ip2.conf’: No such file or directory
Makefile:28: recipe for target ‘install’ failed
y a t’il quelquechose à faire ?
Est-ce que vous avez bien déclaré le nom « dynupdate.no-ip.com » dans votre compte No-IP ? Est-ce que votre Pi a bien accès à Internet au moment de faire les manipulations ?
J’ai la même question que william, visiblement il y a eu un souci au moment de mettre à jour le compte No-IP. Le Pi a-t-il bien accès à Internet et est-ce que ce nom DNS a bien été déclaré dans votre compte No-IP ?
slt
merci pour la procédure j’en avais besoin pour ma domotic
Bonjour. J’ai suivi votre mode opératoire de A à Z. Tous les contrôles sont OK. Par contre, j’ai un souci : l’adresse du DDNS n’est pas mise à jour. Lorsque je redémarre le service, cela fonctionne. Sinon, rien ne se passe. Pas de messages d’erreurs. Avez-vous une idée qui me permettrait de résoudre mon problème ? D’avance grand merci. Philippe
Que voulez-vous dire par « le DDNS n’est pas mis à jour » ? En réalité il est mis à jour de façon régulière, mais pas immédiatement, faites par exemple le test tout de suite : essayez de pinger votre DDNS (i.e.
ping mon-dns.no-ip.com
) et voir si l’adresse IP correspond bien à la vôtre. La fréquence de mise à jour se règle directement dans l’outil No-IP et est par défaut je crois à 30 minutes.bonjour,
De mon coté ca fonctionne bien lors du démarrage de Raspbian, j’ai vérifié sur mon compte noip qui me confirme la mise a jour. je peux me connecter avec ma DDNS sans problème! mais j’ai constaté que la mise a jour ne se faisait pas par la suite, j’avais réglé la fréquence des mise a jour toutes les 10mns lors de l’installation. je ne sais pas si cela vient de la?. comment revient on pour revenir a 30mns? mais cela devrait fonctionner a 10mns!.
Lorsque je fais: sudo noip2 -S
il y a:
1 noip2 process active.
Process 661, started as noip2, (version 2.1.9)
Using configuration from /usr/local/etc/no-ip2.conf
Last IP Address set **.**.***.***
Account ******
configured for:
host **********.****.***
host *******.*****.***
host **********.****.***
Executing username=*********&pass=************&h[]=***********.****.***&h[]=*********.*****.***&h[]=*******.*****.*** upon successful update.
Updating every 10 minutes via /dev/eth0 with NAT enabled.
A priori la mise a jour fonctionne!
j’utilise 3 hosts sur le compte noip! et ils se mettent à jour seulement au démarrage du Raspbian!..pas après les 10mns ni après 30mns ni le lendemain! je surveille sans arrêt!
Y aurait il quelque chose que j’ai raté? ou avez vous déjà rencontrer ce problème?.. Merci de votre aide…
benoît
No-IP met à jour le DNS uniquement si l’adresse IP change. Si pas de changements, il n’y a pas d’updates 🙂 Donc à priori, pas besoin de s’inquiéter !
Sinon pour changer l’intervalle, il faut à priori faire
sudo noip2 -U <minutes>
ou<minutes>
est l’intervalle en minutes souhaité. Et ensuite il est possible de vérifier avecsudo noip2 -S
.Bon courage Benoît ! 🙂
Salut y’a t’il un moyen de se connecter tout le temps sans que je monte le service ou DUC en démarrant mon pc tous les jours pour la mise à jour de l IP (sachant qu’il m’arrive d’oublier d’allumer mon pc tous les jours avant de partir travailler ! car j’ai constaté qu’une fois l’adresse Ip change j’arrive plus à me connecter à distance!, j’espère que vous avez compris mon message et mon problème, merci d’avance)
Justement, le DUC sert à cela, à mettre à jour l’adresse IP dès qu’un changement est détecté. Il faut bien entendu que ce programme tourne tout le temps. Si vous oubliez d’allumer votre PC, et bien la solution vous l’avez déjà sur cette page : il suffit simplement d’exécuter le DUC sur une machine tout le temps allumée comme un Raspberry Pi ! En effet, il suffit qu’une seule machine fasse le boulot, la seule condition est que la dite machine soit sur votre adresse IP à la maison.
Bonjour, après avoir suivi vos conseils de paramétrage sur une Raspi4 + nextcloud, j’ai quand meme des messages d’alerte :
systemctl status noip2
● noip2.service – LSB: No-IP Dynamic Update Client (DUC) for Linux
Loaded: loaded (/etc/init.d/noip2; generated)
Active: active (running) since Fri 2019-11-29 12:17:42 CET; 23min ago
Docs: man:systemd-sysv-generator(8)
Process: 402 ExecStart=/etc/init.d/noip2 start (code=exited, status=0/SUCCESS)
Tasks: 1 (limit: 4915)
Memory: 660.0K
CGroup: /system.slice/noip2.service
└─1086 /usr/local/bin/noip2
nov. 29 12:17:32 raspberrypi systemd[1]: Starting LSB: No-IP Dynamic Update Client (DUC) for Linux…
nov. 29 12:17:42 raspberrypi noip2[402]: Starting dynamic address update: noip2.
nov. 29 12:17:42 raspberrypi systemd[1]: Started LSB: No-IP Dynamic Update Client (DUC) for Linux.
nov. 29 12:17:42 raspberrypi noip2[1086]: v2.1.9 daemon started with NAT enabled
nov. 29 12:17:42 raspberrypi noip2[1086]: Can’t gethostbyname for dynupdate.no-ip.com
nov. 29 12:17:42 raspberrypi noip2[1086]: Can’t get our visible IP address from ip1.dynupdate.no-ip.com
nov. 29 12:23:02 raspberrypi noip2[1086]: valcloud.ddns.net was already set to 90.37.58.104.
Top !
Merci mille fois pour la partage, ça fonctionne parfaitement.
Tu vas m’éviter un non accès à ma solution domotique régulier et un reparamétrage à la main.
Merci !!!!!!!
Bonjour Et merci ce tuto qui fonctionne trés bien sur un PI4.
J’ai toutefois une question concernant la configuration car j’ai un compte NO-IP sur lequel j’ai 2 host.
Quand j’ai installé pour tester le tuto j’ai utilisé un des 2 host et maintenant je souhaite changer le Host par un autre.
Pouvez-vous me dire comment modifier le fichier de configuration qui contient le host installé en premier.
Merci pour votre aide
Bonjour,
meme probleme…j’ai fini par réinstaller car je ne trouvé la manip nul part