RÉSEAU : récupération IP publique

Bonjour,

J’aurai besoin de votre aide. Voici la situation :

[ul]- J’ai un serveur ovh avec une IP fixe et Debian d’installé[/ul]
[ul]- Je veux administrer un ordinateur qui tournera sous Debian chez des amis à distance. L’ordinateur se trouvera derrière une box, avec une IP dynamique[/ul]
[ul]- Je ne veux pas utiliser de service[/ul]

Je me disais qu’il ne doit pas être très compliqué à chaque lancement de l’ordinateur chez mes amis d’envoyer une requête sur mon serveur pour récupérer leur adresse IP publique. Comme ça je n’aurai qu’à consulter mon serveur pour récupérer leur IP et ensuite me connecter en SSH sur leur ordinateur.

Seulement, je ne vois pas de commande simple à lancer qui pour le faire ? Qu’en pensez-vous ?

La solution passe par la configuration du DynDNS sur la box internet, je ferais un truc du genre:

Onglet Configuration > Réseaux & Services > box > Paramètres avancés > DynDNS …/Ou/… Onglet Réseau > DynDNS.…/ou/…Configuration Avancée > Configuration du routeur > DynDNS. Ensuite il suffira d’utiliser le DynDNS suivi du numéro de port externe tel que définit préalablement

Exemple: monserveurtoto:8001

Je passe le relais à plus compétent que moi,
fr.wikipedia.org/wiki/DynDNS
Abonnement.

Justement, j’aimerais ne pas utiliser ce genre de service. Je ne veux pas avoir de nom de domaine pour me connecter, mais avoir un simple système de récupération d’IP avec mon serveur…

Curl et les regex sont tes amis :

Il faut bien sûr que la machine soit capable d’envoyer des mails à l’extérieur. Après tu peux mettre ça dans un Cron par exemple, ou un script que tu demanderas à tes amis d’exécuter chaque fois que tu auras besoin de leur IP.

Et si tu souhaites rééllement avoir l’IP envoyée quelque part sur ton serveur, tu peux toujours rediriger la sortie de la regex dans un fichier que tu pipes ensuite dans SCP ou SFTP vers ton serveur. En ayant pris le soin de mettre en place une authentification par clé par exemple.

Encore plus simple :

Va voir le site (http://ifconfig.me) tu peux récupérer un certain nombres d’info relativement utile.

Bonjour,

Après création d’un user sur le serveur, créer un couple de clés SSH sur le client.
(en profiter pour sécuriser l’accès SSH si ce n’est déjà fait)

A chaque boot du client :
1 - Récupération l’adresse IP dynamique avec wget ou curl (sur ifconfig.me, mon-ip.com, adresseip.com…)
ou bien directement sur la page d’acceuil de la box.

2 - Envoyer l’adresse avec un script au boot (/etc/anacrontab) ou périodiquement (/etc/cron.) sur le serveur via ssh avec la clé privée générée plus haut.

Pas compliqué mais pas suffisant. L’adresse IP publique peut très bien changer après le démarrage de l’ordinateur. Il faut donc la rafraîchir régulièrement.

Concernant la requête, les moyens sont divers, par exemple :

  • URL particulier sur un serveur web
  • port knocking (knock + knockd)
  • nsupdate + BIND
  • DHIS (dhis-server + dhis-client) ou autre DNS dynamique géré par ton serveur

Merci pour toutes vos réponses.

Finalement, je vais lancer à chaque démarrage de l’ordinateur une requête [mono]wget[/mono] vers une adresse de mon serveur qui n’existe pas. De cette manière, je retrouverai l’IP dans [mono]error.log[/mono].

Salut,

tu peux Initier depuis son ordi une connexion ssh inversé (avec un cron à chaque démarrage) :

renoirboulanger.com/blog/2012/0 … ant-linux/

Pour sécuriser le flux tu peux autoriser uniquement la connexion avec un clef, et ajouter un fail2ban pour dégager les tentatives de brute force. Tu peux aussi déplacer le port d’écoute de ssh de 22 vers autre (moi j’ai utilisé 2222 et pas de snif).