IP dynamique, self-hosting et nom de domaine ? Pas de problème

Le gros problème lorsque l’on veut des solutions d’auto-hébergement avec un nom de domaine vient souvent de notre adresse IP attribuée dynamiquement par notre fournisseur. Il y a bien les solutions des DNS dynamique comme synology.me ou internet-box.ch mais difficile de mettre en place un serveur mail ou web avec un sous-domaine. CloudFlare permet de mettre en place une solution viable, stable et performante. Voici en détail les étapes pour y parvenir.

Nom de domaine

Avant toute chose, il vous faut un nom de domaine. Il vous suffit d’en acheter un chez un registar. Il en existe des milliers. A vous de comparer les prix. Personnellement, ayant des domaines en .ch je me suis tourné vers Infomaniak qui sont très compétitifs. Il existe aussi OVH et Gandi qui ont de très bons retours.

CloudFlare

Votre nom de domaine acquis, il faut maintenant lui attribuer des serveurs DNS qui se chargerons de faire le lien entre votre IP et le nom. CloudFlare en possède plusieurs, pour savoir lesquels utiliser, il faut désormais inscrire votre domaine chez eux.

Inscription

dynIP-cloudflare-tld001dynIP-cloudflare-tld002

Une fois cette étape passée, il faut maintenant inscrire notre nom de domaine

Ajout du domaine

Ajoutons notre domaine. Différents tests se font lors de l’ajout, laissez le site faire son check et cliquez sur dès que tout est terminé.

dynIP-cloudflare-tld003dynIP-cloudflare-tld004

Continuez à la prochaine étape

dynIP-cloudflare-tld005

C’est ici que nous allons donc définir les entrées “A” de notre domaine, elles sont au nombre de 3 minimum.

  • *
  • votredomaine
  • www

Ces 3 entrées sont à saisir avec votre adresse IP actuelle

dynIP-cloudflare-tld006

On sélectionne le plan gratuit

dynIP-cloudflare-tld007

Et voici les deux DNS à entrer du côté de notre registar.

Serveur Mail

dynIP-cloudflare-tld008

Sous-domaines

dynIP-cloudflare-tld009

Ces deux chapitres seront décrits en détail dans un autre post, à venir dans le futur.

Mise à jour automatique

A partir de maintenant, vous avez un domaine qui est valide et redirige vers votre adresse IP (enfin, laissez 24h, le temps de répliquer les données sur les serveurs du monde entier 🙂 ) Mais, le jour où votre IP change, il faudra retourner modifier vos entrées. Et ça, c’est pas très pratique ni réactif !

Script PHP

Pour palier à ça, j’ai écris un script PHP qu’il faudra exécuter automatiquement afin de détecter un changement d’adresse IP et de mettre à jour les entrées chez CloudFlare le cas échéant.

Ce script nécessite un certain nombre de paramètres. Ils sont à remplir en début du fichier. Les voici en détail :

CloudFlare

$CFToken: Vous trouverez la clé API depuis votre compte (voir images ci-dessous)

$CFemail : L’email de votre compte chez CloudFlare

$CFdomain : Le nom de domaine que vous avez ajouté dans CloudFlare à l’étape précédente

dynIP-cloudflare-tld010dynIP-cloudflare-tld011dynIP-cloudflare-tld012

Mail

$mailTo : Le destinataire du mail en cas de mise à jour

$mailFrom : L’expéditeur du mail

SMS (compte clickatell nécessaire)

$CATusername : Votre compte utilisateur

$CATpwd : Votre mot de passe

$CATapi : L’api HTTP

$CATTo : Le numéro de téléphone qui recevra le SMS

Exécution automatique du script

Il faut maintenant configurer votre DSM pour qu’il exécute le script toutes les 5min (j’ai volontairement choisi ce délai pour soulager les requêtes API)

  1. Placez le script à la racine de votre serveur web synology
  2. Ouvrez le planificateur de tâches
  3. Créez une nouvelle tâche (script défini par l’utilisateur)
    • Utilisateur : root
    • Script : curl -s http://127.0.0.1/test_IPAdress.php 2>&1 >> /dev/null
    • Programmer : Quotidiennement / Première heure : 00:00 / Toutes les 5 min / Dernière heure : 23:55
  4. Et voilà !

N’hésitez pas à faire part de vos remarques, suggestions et problèmes dans les commentaires 🙂

Sources pour la rédaction de ce post :

4 réflexions au sujet de « IP dynamique, self-hosting et nom de domaine ? Pas de problème »

  1. Votre tuto et script sont juste magnifiques,
    J’ai pu grâce a vous d’avoir un serveur accessible en tout moment par un nom de domaine professionnelle avec mon adresse ip dynamique.
    Juste une question, est ce que les statistiques fourni par CloudFlare se réinitialisent a chaque changement d’ip sur ma zone dns ?

    • Bonjour,
      Merci de votre commentaire et feedback 🙂
      J’étais sûr d’y avoir répondu quelques jours après :/
      Je n’utilise pas ce service, malheureusement je ne peux pas donner de réponse pour les stats. La logique voudrait que non.

  2. Ping : Nouvelle version de l’API cloudflare = mise à jour du script de self hosting | Stéphane Rochat

  3. Ping : Script CloudFlare mis à jour | Stéphane Rochat

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*