« LINUX:DNS-OVH-archive » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
| (8 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 70 : | Ligne 70 : | ||
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 | |||
---- | |||