Digital Dynamics
L'informatique innovante et abordable

Dernière mise à jour : jeu. 09 juil. 2015, 19:32

Service DynHost de OVH : faire pointer votre nom de domaine vers une adresse DNS dynamique

La société OVH, qui commercialise, entre autres, des noms de domaine, offre un service vous permettant de mettre à jour l'adresse DNS (adresse IP publique) du serveur sur lequel est hébergé votre site.

Il faut procéder en deux étapes: 

  • Créer un identifiant dans l'interface de gestion OVH
  • Créer un script de mise à jour et l'exécuter de façon automatique à l'aide d'une tâche CRON.

 

Création de l'identifiant et de l'entrée DynHost dans l'espace client web OVH

Tout d'abord, nous auront besoin d'un identifiant et mot de passe (que nous utiliserons dans le script) pour nous connecter au service DynHost.

Depuis votre Espace client > votre nom de domaine principal > onglet DynHost > Gérer les accès > Créer un identifiant

Création d'un identifiant DynHost OVH

Suffixe de l'identifiant : "DNS" par exemple (l'identifiant complet sera donc exemple.fr-DNS)

Sous-domaine: "*" pour gérer l'ensemble du domaine ou "www" si vous ne voulez gérer que ce sous-domaine


Depuis votre Espace client > votre nom de domaine principal > onglet DynHost > Ajouter un DynHost

Ajouter une entrée DynHost dans la zone DNS

Sous-domaine: laisser vide si vous avez renseigné "*" à l'étape précédente ou le sous-domaine concerné ("www" dans l'exemple précédent)

Adresse IP: donnez l'adresse IP publique (la votre si vous auto-hébergez votre site). Si vous ne connaissez pas votre adresse IP, http://myexternalip.com/raw

Script de mise à jour automatique de votre adresse IP

Créer un fichier bash (ex: /root/dynHost.sh) avec le contenu suivant:

NB: ne pas oublier de modifier les variables "username","password" et "host".

#!/bin/bash

## CONFIGURATION ##

# Connexion à DynHost OVH
username=exemple.fr-DNS
password=mot_de_passe
host=exemple.fr

# Génération des logs
# 1 = true, 0 = false
log_change=1
log_no_change=0

# Fichier de log
log_file=/var/log/dynhost.log

# Fichier de cache concervant l'IP précédente
old_ip_file=/var/cache/ip_old

# Pour éviter l'erreur "file not found"
touch ${old_ip_file}
touch ${log_file}

# Récupération mon adresse IP publique
ip=`w3m -dump http://www.monip.org/ | awk -F': ' '/IP/ { print $2 }'`

# Récupération de l'ancienne IP publique
ip_old=`cat ${old_ip_file}`

# Test si les 2 IP sont identiques
if [[ "${ip}" = '' || "${ip}" = "${ip_old}" ]]
then
echo "`date` : Pas de changement d'adresse IP" >> ${log_file}
else
# Mise à jour du fichier de cache avec la nouvelle IP
echo ${ip} > ${old_ip_file}
echo "`date` : IP a changé. (Ancienne : ${ip_old}, Nouvelle : ${ip})" >> ${log_file}

# Mise à jour de la nouvelle adresse IP chez OVH
updatedd ovh -- --ipv4 ${ip} ${username}:${password} ${host} >> ${log_file}
fi

 

Enregistrer le fichier et lui donner des droits d'exécution.

Créer une tâche CronTab. La commande ci-dessous exécute le fichier "/root/dynHost.sh" toutes les 10 minutes.

*/10 * * * * /bin/bash /root/dynHost.sh

 

Mise à jour de plusieurs noms de domaine

Bravo, vous avez réussi à mettre à jour l'adresse IP du domaine principal de votre serveur.

Maintenant, comment faire si j'ai 10, 20, 50 ou plus de sites sur ce serveur ? 

La manipulation est très simple et s'effectue dans votre manager OVH, dans la partie "Zone DNS" de vos noms de domaine secondaires.

Il suffit de rajouter une entrée CNAME vers votre nom de domaine principal (et renouveler l'opération autant de fois que vous avez de domaines secondaires). Et c'est TER MI NÉ !

 

Depuis votre Espace client > votre nom de domaine secondaire > onglet "Zone DNS"

DynHost nom de domaines supplémentaires (secondaires)

L'informatique facile et expliquée