LINUX:DNS-OVH-archive

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche

retour au menu DNS-OVH


But

Nous allons utiliser un serveur Web classique distant et personnel hébergé chez nous: archive.laplanchedenvol.be, ayant une adresse IP dynamique. Une tâche de mise à jour régulière de l'adresse IP doit être effectuée.

Trois étapes sont à effectuer:

  • Ajouter le nom du sous-domaine et sont adresse IP actuelle
  • Ajouter un identifiant d'accès
  • Créer une tâche de mise à jour régulière


Zone DynHost (OVH): ajout d'un adressage dynamique

On se connecte dans l'espace de gestion de la zone DNS de notre nom de domaine sous OVH. Mais au lieu de rester sur l'onglet "Zone DNS", on va à l'onglet "DynHost".


LINUX:Ovh.dns.dynhost.1.png


On clique sur le bouton de droite "Ajouter un DynHost".

On remplit les deux zones:

  • le nom du sous-domaine: archive
  • l'adresse IP actuelle du serveur Web distant: 81.246.173.44


LINUX:Ovh.dns.dynhost.ajout.host.png


Et on valide.

Cette nouvelle entrée est ajoutée.


LINUX:Ovh.dns.dynhost.2.png


Et elle apparaît aussi dans l'onglet "Zone DNS".


LINUX:Ovh.dns.archive.laplanchedenvol.be.png


Zone DynHost (OVH): ajout d'un identifiant

Si on veut pouvoir mettre à jour cette adresse dynamique à distance, par sécurité, on doit pouvoir s'identifier et donc on doit ajouter un identifiant.

On revient à l'onglet "DynHost". Et on clique sur le bouton de droite "Gérer les accès".


LINUX:Ovh.dns.dynhost.acces.1.png


Cet écran est vide. On clique sur le bouton de droite "Créer un identifiant".


LINUX:Ovh.dns.dynhost.ajout.acces.png


On remplit les trois zones:

  • le suffixe qui fera partie de l'identifiant: archive
  • le nom du sous-domaine: archive
  • le mot de passe et sa confirmation

La première zone et la troisième seront utilisés dans le script de mise à jour.

On valide.


LINUX:Ovh.dns.dynhost.acces.2.png


Si on a plusieurs sous-domaines dont on doit adapter l'adresse IP, on peut mettre une astérisque ("*") à la place d'un sous-domaine nommé comme illustré ci-dessous.


LINUX:Ovh.dns.dynhost.acces.3.png


Script

Comme vous avez une adresse IP dynamique, dès qu'elle change, elle doit être adaptée dans le DNS.

Pour cela nous allons utiliser un script BASH que nous nommerons "dynhost.bat":


#!/bin/bash
####################################
#
# Configuration à adapter selon votre situation
#
# LISTEHOST : liste des noms de machine
# LOGIN : identifiant DynHost
# PASSWORD : mot de passe
#
LISTEHOST=archive.laplanchedenvol.be
LOGIN=laplanchedenvol.be-archive
PASSWORD=VOTRE_MOT_DE_PASSE
#####################################
# Journal
PATH_LOG=/var/log/dyndns.log
#
# Journalisation
#
echo > $PATH_LOG
echo "Run dyndns" >> $PATH_LOG
date >> $PATH_LOG 
#
# Passage en revue de tous les domaines
#
for HOST in ${LISTEHOST}
 do
 #
 # Récupération des IPs
 #
 HOST_IP=`dig @ns.ovh.net. +short $HOST`
 CURRENT_IP=`curl -s ifconfig.co`
 #
 # Journalisation
 #
 echo "Host" >> $PATH_LOG
 echo "$HOST" >> $PATH_LOG
 echo "Current IP" >> $PATH_LOG
 echo "$CURRENT_IP" >> $PATH_LOG
 echo "Host IP" >> $PATH_LOG
 echo "$HOST_IP" >> $PATH_LOG
 #
 # Comparaison de l'adresse IP réelle et de celle du serveur DNS
 # Si elles sont différentes, celle du serveur DNS est adaptée
 #
 if [ -z "$CURRENT_IP" ] || [ -z "$HOST_IP" ]
 then
  echo "Pas IP récupérée" >> $PATH_LOG
 else
  if [ "$HOST_IP" != "$CURRENT_IP" ]
  then
   echo "IP changée" >> $PATH_LOG
   RES=`curl -s --user "$LOGIN:$PASSWORD" "https://www.ovh.com/nic/update?system=dyndns&hostname=$HOST&myip=$CURRENT_IP"`
   # URL alternative
   # RES=`curl -s --user "$LOGIN:$PASSWORD" "https://dns.eu.ovhapis.com/nic/update?system=dyndns&hostname=$HOST&myip=$CURRENT_IP"`
   echo "Résultat de la requête DynHost" >> $PATH_LOG
   echo "$RES" >> $PATH_LOG
  else
   echo "IP n'a pas changé" >> $PATH_LOG
  fi
 fi
done

Nous le placerons dans le répertoire "/manager/ovh". Ce script doit avoir les droits d'exécution.

En début, nous avons trois paramètres à adapter selon votre situation:

  • LISTEHOST : liste des noms de machine
  • LOGIN : identifiant DynHost défini ci-dessus chez OVH
  • PASSWORD : mot de passe de l'identifiant défini ci-dessus chez OVH

Le script récupère l'adresse IP du modem puis celui repris dans le DNS. Il les comparent et s'ils sont différents, il effectue la mise-à-jour.

Note: En commentaire, vers la fin du script, une seconde URL de mise à jour est reprise; on trouve les deux sur Internet.

Pour que ce script s'exécute automatiquement à intervalle régulier, il faut ajouter cet appel dans le CRON.

Ajoutez cette entrée dans le fichier "/etc/crontab":


# dyndns OVH
5,20,35,50 * * * * root /manager/ovh/dynhost.bat > /manager/ovh/dynhost.log




retour au menu DNS-OVH