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

Page créée avec « __FORCETOC__ ---- ''→ 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 à... »
 
Aucun résumé des modifications
 
(10 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".




[[FILE:LINUX:Ovh.dns.dynhost.1.png|800px|center]]




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
[[FILE:LINUX:Ovh.dns.dynhost.ajout.host.png|400px|center]]
Et on valide.
Cette nouvelle entrée est ajoutée.
[[FILE:LINUX:Ovh.dns.dynhost.2.png|800px|center]]
Et elle apparaît aussi dans l'onglet "Zone DNS".
[[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
----