« LINUX:DNS-OVH-archive » : différence entre les versions

Aucun résumé des modifications
Aucun résumé des modifications
 
(9 versions intermédiaires par le même utilisateur non affichées)
Ligne 12 : Ligne 12 :




=Zone DNS (OVH): ajout un adressage dynamique=
=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".
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".


Ligne 42 : Ligne 42 :
[[FILE:LINUX:Ovh.dns.archive.laplanchedenvol.be.png|800px|center]]
[[FILE:LINUX:Ovh.dns.archive.laplanchedenvol.be.png|800px|center]]


=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".
[[FILE:LINUX:Ovh.dns.dynhost.acces.1.png|800px|center]]
Cet écran est vide. On clique sur le bouton de droite "Créer un identifiant".
[[FILE:LINUX:Ovh.dns.dynhost.ajout.acces.png|400px|center]]
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.
[[FILE:LINUX:Ovh.dns.dynhost.acces.2.png|800px|center]]
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.
[[FILE:LINUX:Ovh.dns.dynhost.acces.3.png|800px|center]]
=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" "<nowiki>https://www.ovh.com/nic/update?system=dyndns&hostname=$HOST&myip=$CURRENT_IP</nowiki>"`
    # URL alternative
    # RES=`curl -s --user "$LOGIN:$PASSWORD" "<nowiki>https://dns.eu.ovhapis.com/nic/update?system=dyndns&hostname=$HOST&myip=$CURRENT_IP</nowiki>"`
    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
----