Suite à la saisie des noms de domaine de No-IP par Microsoft, j’ai reçu quelques demandes d’utilisateurs de Raspberry Pi qui aimeraient utiliser ce service.
Voici comment vous pouvez offrir une adresse à votre framboise314.
Au sommaire :
- 1 Principe de l’adressage IP dynamique
- 2 Le service de DNS dynamique de No-IP
- 3 Conclusion
- 4 Sources :
Principe de l’adressage IP dynamique
Regardons tout d’abord ce qui se passe quand vous souhaitez vous connecter au Raspberry Pi qui est chez vous, depuis un client (PC, smartphone, tablette…) connecté à Internet. Situé dans le réseau local connecté à votre Box ou routeur, votre Raspberry Pi a une adresse appartenant au réseau local de votre domicile (par exemple @IP Raspberry Pi = 192.168.1.23). Cette adresse dite privée n’est pas routable sur Internet. Votre FAI fournit à votre Box une adresse publique (@IP Publique) qui est celle que votre client (PC, smartphone…) pourra contacter.
Certains opérateurs changent régulièrement cette adresse IP attribuée à votre Box. Il faut donc régulièrement vérifier l’adresse de la Box et modifier l’adresse à laquelle se connecte votre client sur Internet.
Le service de DNS dynamique de No-IP
Description du service
No-IP, comme d’autres services du même genre (DynDNS, Xooty…) offre un service de DNS dynamique. Un programme tourne sur le Raspberry Pi et envoie régulièrement au serveur de No-IP l’adresse publique de votre Box. Vous choisissez un nom de domaine du genre monraspberrypi.ddns.net (pas celui-là, il est déjà pris 😉 ) et le serveur met à jour automatiquement l’adresse de votre Box. Quand vous souhaitez vous connecter depuis votre smartphone, vous tapez toujours monraspberrypi.ddns.net et vous arrivez sur le RasPi qui est chez vous.
Il faudra simplement indiquer que les requêtes arrivant sur la Box depuis Internet doivent être redirigées vers le Raspberry Pi (Port forwarding).
No-IP offre gratuitement la gestion de 3 hôtes (par compte, mais qui vous empêche d’en ouvrir plusieurs ?). Au delà, le service devient payant. Pour ces 3 hôtes, le choix des adresses est limité et il faut renouveler le compte tous les mois (en saisissant un captcha) ce qui représente un faible investissement en temps par rapport au service rendu.
Je vous propose de vous inscrire pour la version gratuite de No-IP.
Ouvrir un compte chez No-IP
La première chose à faire pour utiliser les services de No-IP, c’est d’ouvrir un compte chez eux.
Une vidéo de démonstration (en anglais) est disponible :
Voici les étapes à réaliser pas à pas pour cette inscription :
====== Traduction d’après la page Getting started ======
Vous essayez de mettre en place un site web, un serveur FTP, un serveur de messagerie ou tout autre type de service en ligne que vous voulez mettre à disposition sur Internet ? Votre FAI ne vous attribue qu’une adresse IP dynamique (qui change de temps en temps) et n’est pas fixe ? Voici les étapes à suivre pour vous inscrire en ligne sur le service DNS dynamique gratuit de No-IP.com. Vous pourrez ainsi publier sur Internet vos serveurs depuis votre domicile ou votre entreprise, sans avoir une adresse IP statique.
Étape 1: Créer un compte
Pour créer un compte No-IP.com suffit de cliquer sur le lien « Sign Up » (Inscription) en haut de la page ou de cliquer ici. Remplissez les champs nécessaires dans le formulaire de création de compte. Notez que les Conditions générales d’utilisation de No-IP imposent que vos coordonnées soient valides. Tous les comptes sur lequel No-Ip constate des informations incomplètes ou frauduleuses seront clos.
Une fois que vous avez rempli les informations requises et accepté les conditions d’utilisation, cliquez sur le bouton « Free Sign Up » (Inscription gratuite) en bas de la page.
Étape 2: Confirmez votre compte
Une fois que vous avez soumis vos informations de compte dans le formulaire pour vous inscrire, vous recevrez un e-mail de confirmation à l’adresse que vous avez indiquée. Vous aurez besoin pour confirmer la création de ce compte de retrouver l’e-mail de No-IP.com. Le courriel contient un lien sur lequel vous devrez cliquer pour confirmer la création du compte. Si vous avez un mail chez Yahoo ou Hotmail -et certains autres services de messagerie- il est possible que le mail de confirmation soit dans les SPAM. Vérifiez bien votre boîte à lettres.
Étape 3: Connectez vous à votre compte
Maintenant que vous avez validé votre compte, vous pouvez vous connecter à No-IP.com. Sur le haut de la page d’accueil No-IP, cliquez sur « Sign In » (Connexion), à droite en haut de la page. Vous verrez alors une zone de saisie pour entrer votre adresse e-mail ou votre nom d’utilisateur et votre mot de passe. Entrez les informations que vous avez utilisées lors de la création de votre compte puis cliquez sur « Sign In » (Connexion).
Étape 4: Ajouter un hôte ou de domaine à votre compte
Vous devriez maintenant être connecté(e) à la section des membres inscrits à No-IP.com. Lorsque vous vous êtes inscrit à No-IP un nom d’hôte a été créé automatiquement afin que vous l’utilisiez pour vous connecter à votre serveur. Si vous le souhaitez, vous pouvez créer un autre nom d’hôte en suivant les étapes ci-dessous.
Un nom d’hôte est utilisé en remplacement de votre adresse IP à chaque fois que vous voulez vous connecter à un de vos service en ligne. Les noms d’hôtes prennent la forme nom_d_hote.nom_de_domaine.com. Ils sont donc strictement identiques à ceux utilisés dans les URL pour surfer sur le web…
Par exemple, si vous créez un serveur web, et que vous vouliez vous connecter à votre serveur à l’aide d’un navigateur Web, vous saisissez http://nom_d_hote.nom_de_domaine.com dans la barre d’adresse. Les noms d’hôtes peuvent être utilisés pour bien d’autres choses. Vous pouvez également utiliser le même nom d’hôte, sans http://, pour vous connecter à votre ordinateur de bureau à distance en utilisant un logiciel comme Windows Remote Desktop.
Vous souhaitez lancer un serveur FTP ? Vous pouvez utiliser un nom d’hôte No-IP pour cela également. Soit en mettant le nom d’hôte directement dans votre client FTP ou, si votre navigateur le prend en charge, ftp://nom_d_hote.nom_de_domaine.com dans la barre d’adresse du navigateur. Vous devriez être en mesure d’établir une connexion de cette façon aussi.
Vous êtes prêt à définir les informations relatives à votre nom d’hôte ? Allez, on s’y jette ! Voici les informations qui vous permettront de répondre aux questions de cet écran :• Saisissez le nom d’hôte dans la zone Hostname. C’est un nom de votre choix, dont vous vous souviendrez facilement. Si vous choisissez un nom qui est déjà utilisé, une erreur sera générée et vous devrez alors essayer un nom d’hôte différent. (hihi vous ne pourrez pas me piquer monraspberrypi…)
• Choisissez le type d’hôte dans Host Type. Le choix par défaut, DNS Host A, est généralement le bon. N’essayez pas de choisir l’un des autres types, sauf si vous essayez de résoudre un problème particulier qu’un enregistrement DNS de type A ne pourrait pas résoudre. Si votre FAI bloque le port 80 par exemple, et que vous essayez de lancer un serveur web ou un autre service sur le port 80, vous pouvez choisir Port 80 Redirect (à ce stade, vous serez invité à spécifier le port à utiliser pour la redirection). Si vous ne faites pas tourner de serveur web, ne choisissez surtout pas cette option, car elle vous empêchera probablement de vous connecter correctement.
• Dans le champ IP Address : vous devriez déjà voir apparaître votre adresse IP actuelle. Si vous souhaitez définir l’adresse IP de l’hôte à une autre adresse que votre emplacement actuel, vous pouvez entrer manuellement cette adresse maintenant.
• Les deux options suivantes (Assign to Group et Enable Wildcards) ne sont pas utilisés pour la configuration de base du compte et nous n’allons pas nous occuper d’elles dans cet article.
• Lorsque vous avez rempli les informations pour votre nouveau nom d’hôte, relisez pour être sûr que tout est correct, cliquez ensuite simplement sur le bouton « Add Host » en bas de la page pour enregistrer ces informations. (Notez ou faites une copie d’écran, au cas où…)
Si vous souhaitez utiliser No-IP pour gérer des hôtes et/ou exécuter des fonctions de DNS dynamiques pour votre propre nom de domaine (votre_nom.com), vous pouvez ajouter un domaine au système en sélectionnant « DNS Host » près de la barre bleu foncée en haut, puis cliquez sur « Add My Domain » (Ajouter mon domaine). Dans ce cas il vous faudra passer à la version payante…
Étape 5: Un adressage dynamique pour votre hôte
Maintenant que vous avez ajouté un hôte ou un domaine sur votre compte, il faut régler le problème d’adresse IP dynamique (Si votre FAI vous attribue une adresse IP statique, vous pouvez passer à l’étape 6).
Si vous avez une adresse IP dynamique, vous devrez installer le Dynamic Update Client (client de mise à jour dynamique) de No-IP (DUC). C’est un logiciel gratuit disponible dans la section téléchargements du site. Des instructions détaillées pour l’installation des versions Windows et Linux du logiciel DUC sont disponibles.
Après l’installation du client DUC, assurez-vous de le configurer avec l’adresse e-mail et mot de passe que vous avez utilisés pour vous connecter à ce site. Tant que le logiciel No-IP est correctement configuré et fonctionne, votre nom d’hôte pointera toujours vers l’adresse IP dynamique de votre ordinateur, même lorsque le FAI la modifie.
Etape 6: Configurez votre routeur
Si vous utilisez un routeur (une Box) pour vous connecter à Internet et/ou un pare-feu sur votre ordinateur, vous devrez vous assurer qu’il est configuré pour diriger le flux provenant d’Internet vers la machine de destination sur votre réseau. Ceci se fait en utilisant une fonction du routeur (de la box) appelée Port Forwarding. Les ports couramment utilisés sont le port 80 pour un serveur web, le port 21 pour le FTP et le port 25 pour la messagerie SMTP. Ne configurez que les ports que vous devez absolument utiliser pour évitez les attaques venant d’Internet.
Étape 7: Publiez vos services
Utiliser le client No-IP de votre routeur
L’objectif est de communiquer votre adresse IP publique à No-IP. Ce peut être fait également directement par le routeur, si celui-ci intègre un client No-IP. J’utilise un routeur TP-Link (Modèle TD-W8980 : N600 Wireless Dual Band Gigabit ADSL2+ Modem Router) qui intègre ce client (ainsi que celui de DynDNS). Dans ce cas, il suffit de configurer le client du routeur et il n’y aura pas de client à installer sur votre Raspberry Pi.
Installer le client No-IP sur votre Raspberry Pi
Bon, votre Box est configurée. Il va falloir maintenant installer le client sur votre Raspberry Pi. On s’y jette ?
sudo wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
pi@raspberrypi ~ $ sudo wget http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz --2014-07-08 04:29:12-- http://www.no-ip.com/client/linux/noip-duc-linux.tar.gz Résolution de www.no-ip.com (www.no-ip.com)... 8.23.224.110 Connexion vers www.no-ip.com (www.no-ip.com)|8.23.224.110|:80...connecté. requête HTTP transmise, en attente de la réponse...301 Moved Permanently Emplacement: http://www.noip.com/client/linux/noip-duc-linux.tar.gz [suivant] --2014-07-08 04:29:13-- http://www.noip.com/client/linux/noip-duc-linux.tar.gz Résolution de www.noip.com (www.noip.com)... 8.23.224.107 Connexion vers www.noip.com (www.noip.com)|8.23.224.107|:80...connecté. requête HTTP transmise, en attente de la réponse...200 OK Longueur: 134188 (131K) [application/x-gzip] Sauvegarde en : «noip-duc-linux.tar.gz» 100%[======================================>] 134 188 132K/s ds 1,0s 2014-07-08 04:29:15 (132 KB/s) - «noip-duc-linux.tar.gz» sauvegardé [134188/134188] |
Il faut maintenant extraire l’archive :
sudo tar vzxf noip-duc-linux.tar.gz
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
pi@raspberrypi ~ $ sudo tar vzxf noip-duc-linux.tar.gz ./._noip-2.1.9-1 noip-2.1.9-1/ noip-2.1.9-1/._binaries noip-2.1.9-1/binaries/ noip-2.1.9-1/binaries/._noip2-i686 noip-2.1.9-1/binaries/noip2-i686 noip-2.1.9-1/binaries/._noip2-x86_64 noip-2.1.9-1/binaries/noip2-x86_64 noip-2.1.9-1/._COPYING noip-2.1.9-1/COPYING noip-2.1.9-1/._debian.noip2.sh noip-2.1.9-1/debian.noip2.sh noip-2.1.9-1/._gentoo.noip2.sh noip-2.1.9-1/gentoo.noip2.sh noip-2.1.9-1/._LEEME.PRIMERO noip-2.1.9-1/LEEME.PRIMERO noip-2.1.9-1/._LIESMICH.ERST.deutsch noip-2.1.9-1/LIESMICH.ERST.deutsch noip-2.1.9-1/._LISEZMOI.ENPREMIER noip-2.1.9-1/LISEZMOI.ENPREMIER noip-2.1.9-1/._mac.osx.startup noip-2.1.9-1/mac.osx.startup noip-2.1.9-1/._Makefile noip-2.1.9-1/Makefile noip-2.1.9-1/._noip2.c noip-2.1.9-1/noip2.c noip-2.1.9-1/._README.FIRST noip-2.1.9-1/README.FIRST noip-2.1.9-1/._README.FIRST-SWE noip-2.1.9-1/README.FIRST-SWE noip-2.1.9-1/._README.FIRST.FRANCAIS noip-2.1.9-1/README.FIRST.FRANCAIS noip-2.1.9-1/._README.FIRST.ITALIANO noip-2.1.9-1/README.FIRST.ITALIANO noip-2.1.9-1/._README.FIRST.JAPANESE noip-2.1.9-1/README.FIRST.JAPANESE noip-2.1.9-1/._README.FIRST.pt_BR noip-2.1.9-1/README.FIRST.pt_BR noip-2.1.9-1/._README.FIRST_PT noip-2.1.9-1/README.FIRST_PT noip-2.1.9-1/._redhat.noip.sh noip-2.1.9-1/redhat.noip.sh pi@raspberrypi ~ $ |
Le client se trouve dans le dossier noip-2.1.9-1 :
cd noip-2.1.9-1
On peut maintenant passer à la compilation et à l’installation du client No-IP :
sudo make
1 2 3 4 5 6 7 8 9 |
pi@raspberrypi ~/noip-2.1.9-1 $ sudo make gcc -Wall -g -Dlinux -DPREFIX=\"/usr/local\" noip2.c -o noip2 noip2.c: In function ‘dynamic_update’: noip2.c:1595:6: warning: variable ‘i’ set but not used [-Wunused-but-set-variable] noip2.c: In function ‘domains’: noip2.c:1826:13: warning: variable ‘x’ set but not used [-Wunused-but-set-variable] noip2.c: In function ‘hosts’: noip2.c:1838:20: warning: variable ‘y’ set but not used [-Wunused-but-set-variable] pi@raspberrypi ~/noip-2.1.9-1 $ |
puis :
sudo make install
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
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. Please enter the login/email string for no-ip.com abcdef1234 Please enter the password for user 'abcdef1234' *********** 2 hosts are registered to this account. Do you wish to have them all updated?[N] (y/N) n Do you wish to have host [monraspberrypi.ddns.net] updated?[N] (y/N) y Do you wish to have host [raspiblog.no-ip.biz] updated?[N] (y/N) n Please enter an update interval:[30] Do you wish to run something at successful update?[N] (y/N) ^M New configuration file '/tmp/no-ip2.conf' created. mv /tmp/no-ip2.conf /usr/local/etc/no-ip2.conf pi@raspberrypi ~/noip-2.1.9-1 $ |
Le client est maintenant installé et configuré, on peut le lancer :
sudo /usr/local/bin/noip2
1 |
pi@raspberrypi ~/noip-2.1.9-1 $ sudo /usr/local/bin/noip2 |
Tester le service
Votre client est opérationnel, vous pouvez vérifiez sur No-IP que l’adresse IP Publique de votre Box/Routeur a bien été mise à jour :
Vous voyez ici que les deux hôtes ont la même adresse. Le premier (monraspberrypi est un RasPi, l’autre est le client No-IP de mon routeur…).
Ça Marche !
Automatiser le démarrage du client
Allez en voilà un bout qui est en place. Mais bon, si le Raspberry Pi redémarre… le client noip ne sera pas relancé, il faudra refaire cette opération manuellement.
Nous allons donc automatiser le lancement du client noip, ce qui fait qu’à chaque redémarrage du Raspberry Pi, il reprendra sa fonction de mise à jour de votre adresse IP dynamique.
Il y a de nombreuses façons de gérer le lancement d’une commande au démarrage de Linux. Je vous propose de créer un script d’initialisation dans /etc/init.d et de l’enregistrer en utilisant update-rc.d. De cette façon, l’application est lancée et arrêtée automatiquement lors du démarrage ou à la fermeture du système.
Créer un script dans /etc/init.d
Démarrez nano pour créer un script (je l’appelle noip …) dans le dossier /etc/init.d
sudo nano /etc/init.d/noip
1 |
pi@raspberrypi ~/noip-2.1.9-1 $ sudo nano /etc/init.d/noip |
Le script qui suit est un exemple basé sur la mise en service du client no-ip [/usr/local/bin/noip], mais vous pouvez bien entendu changer le nom du script ainsi que la commande lancée automatiquement au démarrage ou arrêtée à la fermeture du système.
Saisissez (ou copiez) le script suivant (d’après stuffaboutcode.com) :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
#! /bin/sh # /etc/init.d/noip ### Début des informations d'entête # Provides: noip # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Script simple pour démarrer un programme lors du boot # Description: D'après <a href="http://www.stuffaboutcode.com/">www.stuffaboutcode.com</a> ce script va lancer/arrêter un programme lors du démarrage/de la fermeture du système. ### Fin des informations d'entête # Si vous souhaitez qu'une commande fonctionne en permanence # ajoutez la sous cette ligne # Exécution d'un certain nombre de fonctions spécifiques # à la demande du système case "$1" in start) echo "Starting noip" # lance l'application que vous souhaitez démarrer /usr/local/bin/noip2 ;; stop) echo "Arrêt de noip" # Met fin à l'application que vous souhaitez arrêter killall noip2 ;; *) echo "Utilisation : /etc/init.d/noip {start|stop}" exit 1 ;; esac exit 0 |
/!\ ATTENTION : il est important de tester d’abord manuellement votre script et de vous assurer qu’il ne demande pas à l’utilisateur de fournir une réponse (du genre : Appuyez sur « y »). Cela pourrait bloquer indéfiniment le démarrage du Raspberry Pi dans l’attente de la réponse d’un utilisateur … qui n’est pas là !
Rendre le script exécutable
Il faut rendre le script exécutble un script :
sudo chmod 755 /etc/init.d/noip
Tester le script
Puis procéder au test du programme :
sudo /etc/init.d/noip start
Si vous avez déjà lancé manuellement noip vous devriez obtenir ce message :
1 2 3 4 |
pi@raspberrypi ~/noip-2.1.9-1 $ sudo /etc/init.d/noip start Starting noip pi@raspberrypi ~/noip-2.1.9-1 $ One noip2 process is already active, and the multiple instance flag (-M) is not set. |
Vous pouvez lancer le script noip sans paramètres, vous obtiendrez une aide sur son utilisation. Ensuite testez l’arrêt et le démarrage :
1 2 3 4 5 6 7 |
pi@raspberrypi ~/noip-2.1.9-1 $ sudo /etc/init.d/noip Utilisation : /etc/init.d/noip {start|stop} pi@raspberrypi ~/noip-2.1.9-1 $ sudo /etc/init.d/noip stop Arrêt de noip pi@raspberrypi ~/noip-2.1.9-1 $ sudo /etc/init.d/noip start Starting noip pi@raspberrypi ~/noip-2.1.9-1 $ |
Si ces tests manuels sont concluants, il est possible d’automatiser le lancement de noip en l’intégrant à la séquence de démarrage du système :
Lancer le script automatiquement au démarrage
Pour que votre script s’exécute automatiquement au démarrage du système, exécutez la commande suivante:
sudo update-rc.d noip defaults
1 2 3 4 5 6 7 8 9 10 11 |
pi@raspberrypi ~/noip-2.1.9-1 $ sudo update-rc.d noip defaultsnoip update-rc.d: using dependency based boot sequencing usage: update-rc.d [-n] [-f] <basename> remove update-rc.d [-n] <basename> defaults [NN | SS KK] update-rc.d [-n] <basename> start|stop NN runlvl [runlvl] [...] . update-rc.d [-n] <basename> disable|enable [S|2|3|4|5] -n: not really -f: force The disable|enable API is not stable and might change in the future. pi@raspberrypi ~/noip-2.1.9-1 $ |
Remarque : L’en-tête situé au début du script permet de rendre le script compatible LSB (Linux standards Base). Il fournit des détails sur le script de démarrage et vous ne devriez avoir besoin de changer que le nom du script. Si vous voulez en savoir plus sur la création de scripts LSB pour la gestion des services, voyez http://wiki.debian.org/LSBInitScripts.
Vérifier que le démarrage de noip s’est bien effectué
Redémarrez votre Raspberry Pi :
sudo reboot
Logguez vous, puis vérifiez que noip a bien été lancé au démarrage du système :
ps -ef |grep noip2
1 2 3 4 |
pi@raspberrypi ~ $ ps -ef |grep noip2 nobody 2121 1 0 09:01 ? 00:00:00 /usr/local/bin/noip2 pi 2149 2130 0 09:03 pts/0 00:00:00 grep --color=auto noip2 pi@raspberrypi ~ $ |
Supprimer le script
Si vous voulez supprimer proprement le script de démarrage, exécutez la commande suivante:
sudo update-rc.d -f noip remove
1 2 3 4 5 6 7 |
pi@raspberrypi ~ $ sudo update-rc.d -f noip remove update-rc.d: using dependency based boot sequencing insserv: warning: script 'noip' missing LSB tags and overrides pi@raspberrypi ~ $ sudo ps -ef |grep noip2 nobody 2121 1 0 09:01 ? 00:00:00 /usr/local/bin/noip2 pi 2164 2130 0 09:07 pts/0 00:00:00 grep --color=auto noip2 pi@raspberrypi ~ $ |
noip2 tourne toujours… Pas d’inquiétude, au prochain redémarrage du Raspberry Pi, le script ne sera plus lancé automatiquement. Si vous souhaitez l’exécuter, il faudra passer par la lancement manuel avec start.
Conclusion
Avec ce script noip, vous allez pouvoir publier vos services (web, ftp…) sur Internet. La plus grande prudence s’impose néanmoins car dès que vous « ouvrez » votre machine sur Internet, vous vous exposez à des attaques.
Ce service gratuit jusqu’à 3 machines permet de publier sur le web des informations recueillies par le Raspberry Pi. Cela peut être particulièrement utile pour des applications de domotique ou de surveillance à distance par exemple.
Vous utilisez déjà le service No-IP ou ce tutoriel vous a donné des idées d’utilisation ? N’hésitez pas à en parler dans les commentaires ci-dessous… Ils sont faits pour ça ! 😉
Sources :
- http://www.noip.com/
- http://www.noip.com/download?page=linux
- http://www.noip.com/support/knowledgebase/getting-started-with-no-ip-com/
- http://www.noip.com/support/knowledgebase/installing-the-linux-dynamic-update-client-on-ubuntu/
- http://www.stuffaboutcode.com/2012/06/raspberry-pi-run-program-at-start-up.html
- http://raspberrypihelp.net/tutorials/29-raspberry-pi-no-ip-tutorial
- http://www.stuffaboutcode.com/2012/06/raspberry-pi-run-program-at-start-up.html
Personnellement, j’utilise dt-dns qui se synchronise avec ma box. Ce service présente à mon sens l’avantages de ne pas nécessiter de « renouvellement d’abonnement » sous aucune forme. Par contre, il n’existe pas à ma connaissance de script disponible pour linux…
Bonjour
merci pour cette info
Cordialement
François
Hello,
Votre article m’a inspiré ! 😀
J’ai fais un petit aide-mémoire similaire : http://framboisepi.fr/installation-dun-sous-domaine-avec-une-adresse-ip-dynamique/
Dans mon cas, j’utilise un nom de domaine géré par OVH.
Bonjour
Super ! Ça sera très utilises aux utilisateurs d’OVH.
Bonne journée
Cordialement
François
Ping : Raspberry | Pearltrees
c’est quoi un serveur FTP
Bonjour Lucas
C’est un serveur qui permet de transférer des fichiers d’une machine à l’autre. (http://fr.wikipedia.org/wiki/File_Transfer_Protocol)
Cordialement
François
ok merci
Bonjour,
Merci pour tout ce joli travail.
Cependant, ayant suivi scrupuleusement cette procédure, je suis resté bloqué sur le script « noip » qui permet de lancer le service noip start ou stop. En effet, en le testant, j’ai une erreur:
la commande : sudo /etc/init.d/noip start (ou stop ou rien)
me retourne l’erreur : /etc/init.d/noip: 18: /etc/init.d/noip: syntax error: word unexpected (expecting « ) »)
Donc voilà, si quelqu’un a une idée. Merci
Bonjour Benoît
Relisez déjà relisez TRES attentivement le script…. Ça ressemble à une erreur provoquée par un caractère manquant (ou en trop).
Si vous ne trouvez pas, collez le contenu de votre script dans un commentaire
Cordialement
François
Bonjour,
Il n’y avais pas d’erreur, j’avais fait un copier coller du script de cette page, puis du site de stuffaboutcode. Je pense que c’est une mauvaise interprétation des guillemets.
Donc j’ai tout réécris à la main, ça fonctionne, ouf.
Merci encore pour ce blog, bon courage pour la suite.
Bonjour
merci pour le retour
en fait les codes sont parfois modifiés par wordpress
parfois c’est mieux de re-saisir a la main
bonne journée
Cordialement
François
Bonjour et merci pour ce tuto qui à fonctionné du 1er coup!
A chaque fois que j’essaye de faire un « update-rc.d, j’ai le message:
« insserv: warning: script ‘noip’ missing LSB tags and overrides
insserv: warning: script ‘mathkernel’ missing LSB tags and overrides »
pour NOIP ça n’a pas empêché le lancement au démarrage, pour d’autres scripts, si.
j’ai chercher un peu partout et les réponses ne sont pas claires (à mes yeux); certains préconisent de supprimer « Wolfram » ce que j’ai essayé et qui a provoqué une erreur.
Avez vous une idée sur le sujet?
merci d’avance et encore bravo pour ces tutos qui simplifient bien la vie des pauvres linuxiens débutants
Bonjour Jihem
Ce n’est qu’un warning donc pas de souci
Il manque les LSB tags quelque chose du genre :
# LSB compliant service control script
#
### BEGIN INIT INFO
# Provides: $s
# Required-Start: \$remote_fs \$all
# Should-Start:
# Required-Stop:
# Should-Stop:
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: $s
# Description: Starts and stops $s
### END INIT INFO
EOFLSB
au début du script mais ça ne doit pas poser de souci majeur
Cordialement
François
Bonsoir,
Merci pour l’article !
Personnellement, pour la mise à jour de l’adresse vers NoiP, j’utilise « noiphp », un petit script php tout simple à mettre en place. Il suffit de l’appeler avec un cron toutes les 15 minutes et le tour est joué ! 🙂
A noter l’installation au préalable de php et de php-curl
Bonjour
Merci pour cette info
Cordialement
François
Bonjour, et merci pour ce tuto (et le site).
Pour info, j’ai eu un souci lors de l’install (étape 7, après le sudo make) avec un message
« Can’t connect to dynupdate.no-ip.com (Connection timed out)
Network must be operational to create configfile. Ending! »
Après recherche, il se trouve que no-IP a besoin de l’ouverture du port 8245 dans le firewall pour ceux qui en ont un.
En espérant que ça puisse en aider certain .
Bonjour,
je suis bloqué à la commande « make », cela me renvoie « -sh make not found », j’utilise mon rasp sous openelec, je n’ai pas besoin de la commande « sudo », j’ai tenté plusieurs solution mais rien.
Si quelqu’un peux m’aider.
Merci d’avance.
bonjour Loictetou
il faudrait essayer apt-get install make et si ça ne suffit pas peut-être apt-get install gcc g++ make ?
Cordialement
François
la commande apt-get ne fonctionne pas non plus ?
bonjour
effectivement d’apres https://github.com/OpenELEC/OpenELEC.tv/blob/master/packages/sysutils/busybox/scripts/apt-get la commande apt-get ne fonctionne pas avec OpenElec…
Il vaudrait mieux faire ces manips sous Raspbian.
Cordialement
François
Salut merci pour votre tuto!
J’ai rencontrer un pb avec ma box sfr qui ne reconnait pas no-ip dans la liste déroulante du champ service (onglet dyndns).
Conclusion : je ne peux pas associer mon nom de domaine enregistré sur no-ip a ma box
Merci pour votre réponse.
Bonjour
je ne connais pas la box SFR
mais si no-ip n’est pas géré ça ne sera sans doute pas possible…
essayez de poser la question sur le forum, okazou…
Cordialement
François
Merci pour votre réponse si rapide :))
Bonjour,
Quelle est votre version de Box?
Sur la NB6 il y a noip.com, ovh.fr, et d’autres encore. Peut-être faudrait-il faire une MAJ du firmware?
De toute façon, je ne crois pas qu’il soit forcément nécessaire d’installer le dyndns sur la boxe si le programme tourne sur le Raspberry. Un seul accès à noip doit suffire pour mettre à jour la nouvelle adresse.
À vérifier
Bonne journée
Bonjour,
J’ai déjà un compte no-ip et je suis obligé de m’y connecter tous les 30j pour confirmer mes hosts.
Est-ce que l’installation d’un client enlève cette contrainte ?
Merci d’avance.
A pardon la réponse est dans l’énoncé!
Noip reste un des derniers services gratuit avec cette contrainte de renouveler tous les mois. Par contre je me demande si SFR ne fournit pas désormais une adresse fixe? Ça fait plusieurs fois que je redémarre ma Boxe et j’ai toujours la même adresse.
À vérifier.
Bonjour, j’ai bien suivi votre script et il fonctionne très bien, j’ai maintenant une question. Lorsque l’on coupe la box ou le raspberry à la reconnexion la date et l’heure ne se reconfigure que si l’on effectue un reboot, n’existe-t-il pas une solution permettant d’éviter cette étape? Par exemple un script effectuant un reboot automatique ou une autre réponse, j’ai cherché et je ne vois pas comment m’y prendre..
Dans l’attente d’une réponse et en vous remerciant d’avance
Cordialement
Arsène
Bonjour Arsène
si le reboot est possible, vous pourriez programmer une tâche cron qui se déclenche à heure fixe et exécute un reboot ?
sudo crontab -e
Cordialement
François
Bonjour,
Ok merci, je vais essayer ça dès que je trouve un peu de temps et je vous tiens au courant.
Cordialement
Arsène
Ca marche nickel sur mon Pi2 ! Du premier coup, avec le reboot et tout et tout ! Super tuto !
super !
merci pour le retour Eric !
Bonjour,
Je viens de me heurter à quelques erreurs lors du »make install » et le problème à été résolu par la commande « apt-get install build-essential ». J’espère que cela pourra aider d’autres personnes.
J’utilise la distribution de base de OSMC.
Et un grand merci pour le tuto
Ping : Raspberry Pi - Trucs | Pearltrees
Bonjour,
merci pour votre site intéressant!
Mais: l’image de l’arrière plan le rend illisible.
je suis étonné que ça ne choque personne d’autre!
Bonjour
vous utilisez quel navigateur?
avec tous ceux que j’ai testés le fond du blog est blanc et la photo n’apparait que sur les cotés…
je vous joins une copie d’écran que je viens de faire
vous ne voyez pas la même chose ?
cordialement
François
bonjour mon raspeberry ne trouve pas la commande « make »
La commande n’est pas installée sur votre système…
essayez
sudo apt-get install make
ça devrait aller mieux après
cordialement
François
Bon, j’utilise cette technique depuis plusieurs années, mais comme tu l’indiques dans ton article, cela n’est pas toujours sans soucis. Service devenant payant chez DynDns, adresses bloquées chez no-ip… Sans compter que j’ai passé l’age de croire qu’un service sur internet est éternel… Qu’il soit gratuit ou non, j’en ai vu pas mal disparaitre… Je me prépare donc à migrer vers une solution « maison » et durable dont voici le fonctionnement. Je dispose sur mon site internet de plusieurs répertoires dans lesquels je mets des scripts de deux types:
– L’un est utilisé et lancé au départ du crontab de mon RPI et a pour but d’envoyer l’adresse ip du moment. Il vérifie donc si celle-ci a changé, si c’est le cas, il modifie une base de données sur mon site et y met sa nouvelle adresse. En gros, c’est ce que fait le logiciel DUC de No-IP
– Le deuxième, je l’utilise pour rediriger toute requête vers mon RPI. Une personne souhaitant se connecter sur le site hébergé par mon RPI se connecte d’abord sur http://www.monsite.com/MonRPI. A cette adresse, il y trouve un script qui le redirige immédiatement sur mon RPI grâce à une balise de redirection immédiate:
Tout çà marche très bien pour tous les sites web que j’héberge sur mon RPI. Mon site web est fiable et fait donc très bien son boulot. Là où cela se complique, c’est lorsque je veux me connecter avec mon client ftp sur mon rpi ou dans le cas ou je veux établir une connexion rpi. Là, impossible d’introduire mon adresse http://www.monsite.com/RPI. Forcément, les redirections du genre, c’est du html et donc peu de chances qu’un logiciel SSL ou FTP puisse se débrouiller avec ca… As-tu une idée pour résoudre mon problème?
D’avance merci
Olivier
Bonjour,
Merci pour ce très chouette tutoriel. C’est mon premier jour avec un raspberry qui doit à terme remplacer pas mal des fonctionnalités de mon pc server sous windows afin de faire des économies d’énergie. Je suis donc débutant sous linux. J’ai mis en route le raspberry, installé un vnc, installé un serveur web php/mysql, configuré une adresse ip et pour terminé suivit votre tutoriel.
L’application noip2 tourne bien et démarre correctement lors du boot mais elle ne fait pas son boulot de mis à jour. J’ai regardé le readme et je suis presque certain que c’est pour une question de droit sur les fichiers mais je ne sais pas comment mis prendre. Pour l’instant j’ai uniquement un utilisateur pi pour lequel j’ai définit un mot de passe et je dois éxécuter quasiment toutes mes commandes avec sudo sans quoi je n’ai pas les droits suffisants.
Si j’exécute noip2 -S pour avoir un statut, j’ai les infos suivantes :
l noip2 process active.
Process 2899, started as noip2 (version 2.1.9)
Using configuration from /usr/local/etc/no-ip2.conf
Last IP Adresse set 0.0.0.0
Account (mon user)
configured for :
host (mon adresse)
executing username=(mon user)&pass=(mon mot de pass)&h[]=(mon adresse) upon successful update
Updating every 5 minutes va /dev/eth0 with NAT enabled
Je pense que le problème est clairement que l’adresse IP définie reste à 0.0.0.0. Dans le fichier readme, il est expliqué que la cause probable est un problème d’accès pour écrire dans le fichier de configuration et qu’il faut définir les droits permettre l’écriture. J’ai essayé de faire le chown root indiqué mais sans succès. Voici le texte du readme sur le sujet :
IMPORTANT!! Please set the permissions correctly on your executable.
If you start noip2 using one of the above methods, do the following:
chmod 700 /usr/local/bin/noip2
chown root:root /usr/local/bin/noip2
If you start noip2 manually from a non-root account, do the chmod 700 as
above but chown the executable to the owner:group of the non-root account, and
you will need to substitute your new path if the executable is not in
/usr/local/bin.
###########################################################################
SAVED STATE
Noip2 will save the last IP address that was set at no-ip.com when it ends.
This setting will be read back in the next time noip2 is started. The
configuration data file must be writable for this to happen! Nothing
happens if it isn’t, the starting 0.0.0.0 address is left unchanged.
If noip2 is started as root it will change to user ‘nobody’, group
‘nobody’. Therefore the file must be writeable by user ‘nobody’ or
group ‘nobody’ in this case!
Merci pour votre aide et bon succès pour la suite de ce site!
Bonjour Thibaud
si vous êtes sous Jessie sudo update-rc.d ne fonctionne plus
ça va être un problème avec les tutos écrits sous Wheezy
beaucoup de choses ont été modifiées avec Jessie à cause du passage en systemd
bonne année 2016
cordialement
François
Merci pour la solution Thibaud !
Bonsoir,
Problème résolu en faisant un chmod 755 sur le répertoire.
Ping : Station Météo ++ | 8 bits, ça suffit ?
Bonsoir, je suis bloqué à l’étape 7 lorsqu’il faut entrer la commande « sudo make install », j’ai un message d’erreur me disant « Connect to dynupdate.no-ip.com timed out », que dois-je faire ??
Merci d’avance
Bonjour
Difficile de répondre sans avoir d’autres infos 🙂 (ni sur ce qui s’est passé avant, ni sur votre installation réseau)
voyez http://www.noip.com/support/knowledgebase/getting-started-with-no-ip-com/ (c’est en anglais)
en particulier au step 6 vous pouvez tester les ports ouverts sur votre routeur avec http://www.portchecktool.com/
le tutoriel date un peu (2014) et c’est possible également que des modifs soient intervenues chez No ip
cordialement
François
Merci de votre réponse rapide
Tous les ports indiqués sont ouverts sur ma box et j’ai toujours ce message d’erreur
Au tout départ je voulais donc transmettre les données de la raspberry sur mon html no-ip donc j’ai suivi ce tuto, mais lorsque qu’il faut exécuter la commande « sudo make install » j’ai ce message d’erreur qui apparaît
Qu’entendez vous par mon installation réseau ?
Je suis débutant dans la raspberry, j’ai 17 ans et je travaille sur un projet pour le bac.
C’est bon, ça fonctionne, j’ai réessayé et ça a marché, comment ? Je ne sais pas aha.
Par contre maintenant lorsque je dois aller sur no-ip pour vérifier que la box a été mis à jour, je n’ai pas le deuxième hôte, aurais-je loupé quelque chose ?
Ping : Envoyer l’adresse IP internet par email en Python ! | Blog de F8ASB
je veut merci monsieur pour ce article, il ya beaucoup et plein d’idées jour avoir mon ip address par example http://monip.ru offre cette fonction , localiser mon ip address et savoir mon host name et monip.ru ca marche bien pour moi
merci pour cette info Jack
cordialement
François
Bonjour,
il est donc possible d’acceder a la Raspberry via No ip (suis a SFR ADSL) pour lancer ensutie VNC ?
Cordialement,
Stephane
Bonjour,
J’ai suivi la procédure décrite ci-dessus
En encodant mon Hostname de no-ip j’arrive sur la page « Apache2 Debian Default Page » qui me dit que le test est correct. Ouf!
Ce fichier index.html se trouve dans /var/www/html/
Et maintenant je fait quoi si je veux p.ex démarrer Domoticz ?
bonjour
je n’utilise pas domoticz mais s’il tourne sur le pi dans le serveur web ou si c’est lui le serveur web vous accéderez à sa page au lieu d’aller sur la page par défaut d’apache
cordialement
François
Ok
Désolé, mais je ne vois pas très bien ou je peux indiquer mon chemin « /domoticz/ww/monitor/index.html »
Cordialement
Doudy
si c est de l apache il faut que le chemin de la page par défaut soit celui de domoticz
fichier de conf d apache
normalement en vous connectant au RasPi en local sur le port 80 vous devez tomber sur domoticz
cordialement
François
Voici la marche à suivre pour Apache :
https://debian-facile.org/doc:reseau:apache2
Pour info :
Si vous avez un message d’erreur en lançant « sudo update-rc.d noip defaults » du syle
insserv: warning: script ‘K01noip’ missing LSB tags and overrides
insserv: warning: script ‘noip’ missing LSB tags and overrides
Il faut modifier via sudo nano /etc/init.d/noip
### Début des informations d’entête par ### BEGIN INIT INFO
### Fin des informations d’entête par ### END INIT INFO
Après, plus d’erreur :
pi@raspberrypi:~ $ sudo update-rc.d noip defaults
pi@raspberrypi:~ $
Trouvé ici : http://forums.framboise314.fr/viewtopic.php?t=2325#p14590
Bonjour, meilleurs voeux à toutes et à tous.
Une petite question, j’utilise une clé USB 3G HSDPA compatible raspberry pi 3. Comment configurer un client NoIp sur mon Pi3 pour pouvoir y accéder à distance.
Je m’explique mon Pi3 n’a pas de connexion internet là où je l’ai installé. J’ai donc décidé d’y mettre une clé 3 G pour avoir accès à internet.
Maintenant, si je me trouve à quelques km de mon Pi3 et que je désire y accéder à distance comment faire? Est ce que VNC peux faire ça?
Merci par avance.
Bonjour et encore merci pour ces excellents tutos !
J’ai suivis ce tuto à la lettre, ça fonctionne presque !
ma première erreur à été résolu en suivant la méthode de Doudy, merci à lui.
Par contre, j’ai le même soucis que Thibaud, le service se lance correctement au démarrage mais, l’ip ne s’actualise pas, apparement un pb de droit, mais je n’ai pas compris le « chmod 755 sur le repertoire.
Cordialement
Bonjour
effectivement ce 755 est relatif aux droits
si vous voulez en savoir plus lisez cet article
https://www.framboise314.fr/les-droits-linux-sur-le-raspberry-pi/
cordialement
François
Super ! Merci pour l’info
tanks for help
bonjour
je voudrais tout désinstaller quel ligne de commande je dois effectuer ??
Bonjour
ce n’est pas une installation par apt-get, c’est donc différent
Si vous n’avez pas supprimé les sources, il devrait y avoir un README quelque part qu’il faut lire, parfois c’est dans le fichier INSTALL. (ou autre, un répertoire doc, par exemple…)
Sinon, essayez sudo make uninstall, mais si ça n’a pas été prévu ça ne fonctionnera pas.
la solution finale est de repartir sur un système « neuf »
Bonjour,
je vous remercie infiniment pour toutes ces explications,
en faite actuellement je suis en train de travailler sur un petit projet de streaming video live à l’aide d’un raspberry pi 3, j’ai réussi à visualiser la video en locale entre le raspberry et un ordinateur sur le port 8000 j’ai essayé de suivre les étapes que vous avez mentionne, installation de DUC noip redirection de port, j’ai tester avec canyouseeme et j’arrive à détecter mon ordi sur le port 8000 tous marche bien par contre si j’exécute mon programme python (Serveur réception video live) et par la suite le programme (Client diffusion video live) rien ne se passe j’ai tester de ping sur l’adresse de serveur (nom de hôte que j’ai fixe sur mon compte noip) je reçois une réponse mais rien ne se passe quand je lance le programme python (qui marche bien quand je le test sur le réseau locale)
avez une idée d’où vient le problème??
merci d’avance
Bonsoir,
Merci pour tout le travail d’explication que vous avez produit.
J’ai une question car j’ai un doute de compréhension.
Si je met mon Raspberry Pi3 en mode serveur sur mon Smartphone (lui meme en partage de connection) et donc en itinerance, est ce que ddns.net ou no-ip.com va trouver mon RPi3, pour autant que le DUC soit installé dessus?
Merci pour votre commentaire
Bonjour
je n’ai pas testé cette fonction mais en 4G l’adresse IP change et je ne sais pas si dyndns peut suivre
désolé
si quelqu’un a testé il pourra vous répondre
Bonjour
Voici une explication concernant l’impossibilité de se connecter sur une box4G depuis l’extérieur.
´´Pourquoi je ne peux pas accéder à ma caméra IP connectée à mon routeur 4G j’ai pourtant activé un DDNS et ouvert les ports recommandés par le constructeur
´´
Cause
IPv4 = 2^32 = 4 294 967 296 adresses IP (soit moins d’une adresse par être humain)
Conséquence de l’explosion des connexion internet depuis de multiples appareils le nombre d’adresses disponibles est insuffisant pour les besoins actuels.
Les adresses IPv4 dont les opérateurs disposent sont donc réservées aux connexions filaires (xDSL/Fibre) et aux clients pro (usages M2M : Machine 2 Machine) ou aux box 4G qu’ils proposent en zone de faible débit xDSL sans alternative Fibre optique.
Conséquence : Côté opérateur
En conséquence les opérateurs utilisent un dispositif qui partage une IP publique en plusieurs IP privées
ce dispositif appelé CGN = Carrier Grade Nat répond au standard RFC 6598,
Tout comme le standard RFC1918 qui détermine les plages d’adresses IP privées
(Les adresses utilisées dans les réseaux locaux domestiques et ou d’entreprise de type 10.0.0.0- 172.0.0.0 -192.168.0.0
Conséquence : Côté client
Ce CGN vous attribue une adresse qui n’est pas joignable depuis internet.
Il existe cependant une solution.
https://easydomoticz.com/forum/viewtopic.php?f=17&t=7944&p=65067&hilit=Routeur#p65067
Cordialement
Jihem
Bonjour
merci pour cet article !!
j’ai retransmis l’info sur facebook et twitter
est-ce que tu m’autorises à reprendre cet article sur framboise314 (avec le nom de l’auteur et le lien vers l’article original bien sur !!) ?
cordialement
françois
Bonjour
Oui bien sûr
L’explication provient de la rubrique d’aide du routeur WiFi TP-Link DecoP7 dont je peux te faire parvenir la totalité.
Le lien est un Tuto que j’ai réalisé.
C’est un peu une usine à gaz mais ça fonctionne.
J’ai mis en place ce système pour palier aux pannes internet de ma box
Bonne journée
Jihem