« 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 | =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 | |||
---- | |||