Dyn DNS – Gandi Live

Je viens de migrer mes noms de domaines hébergés chez Gandi vers le nouveau service ‘Live DNS’. L’API de mise à jour a changé. Je vous propose des scripts python3 pour se passer de Dyn DNS chez Gandi.

Les sources sont disponibles là : https://framagit.org/MarcFramboisier/ipdyn

Installation

Poser tous les scripts dans un répertoire.

Rendez le script principal exécutable :

chmod +x ipdyn.py

Vous devez disposer d’une clé d’authentification chez Gandi. Elle est disponible sur https://account.gandi.net/fr/users/. Après vous être authentifié, cliquez sur « sécurité ».

Éditer le fichier ipdyn.ini

[Main]
domain=exemple.com
name=www;test
ttl=3600
apiKey=<votre clé sur https://account.gandi.net/fr/users/ >
urlGandi= https://dns.api.gandi.net/api/v5/
urlIpv4=http://ipv4.monipv6.org/json
urlIpv6=http://ipv6.monipv6.org/json

Indiquer votre domaine et le nom que vous voulez mettre à jour automatiquement. (cela peut être l’apex ‘@’).

Le champ ‘name’ peut contenir plusieurs labels séparées par des point-virgules.

urlIpv<x> sont des sites qui affichent l’adresse IP v4 ou v6 que votre machine présente sur internet. Si vous ne souhaitez pas mettre à jour l’une des adresses IP,  mettez à blanc cette ligne.

Je conseille de rendre le fichier de paramètre lisible uniquement par l’utilisateur :

chmod 600 ipdyn.ini

Ces scripts utilisent la bibliothèque python ‘requests‘. On peut l’installer avec

pip3 install requests

Enfin, mettez le tout dans la crontab avec quelques adaptations à votre contexte:

contab -e
32 * * * * /home/ipdyn/ipdyn.py /home/ipdyn/ipdyn.ini >> /var/log/ipdyn/ipdyn.log 2>&1

À propos d’IPv6

Votre fournisseur d’accès ne vous fournit qu’une seule adresse IPv4. Toutes les machines de votre réseau local se présentent avec cette adresse. Peut importe la machine qui exécute le script, l’adresse IPv4 est la bonne.

En IPv6, Orange me fournit une plage d’adresse « /56 ». Chaque machine du réseau se voit attribuer une adresse dans cette plage. Il n’y a aucune translation d’adresse lors de la traversée de la box. Le script doit donc être exécuter sur la machine présentée sur internet.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *