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

Aucun résumé des modifications
Aucun résumé des modifications
Ligne 103 : Ligne 103 :
Comme vous avez une adresse IP dynamique, dès qu'elle change, elle doit être adaptée dans le DNS.
Comme vous avez une adresse IP dynamique, dès qu'elle change, elle doit être adaptée dans le DNS.


Il existe deux méthodes:
Il existe deux méthodes pour y arriver:
* Programme Java
* le programme Java
* Utilisation de l'API
* l'utilisation de l'API




Ligne 115 : Ligne 115 :


Nous y décompressons le fichier "20131227-GSLB.ME-RestClient.zip" téléchargé ci-dessous. Un sous-répertoire "GSLB.ME-RestClient" est alors créé dans le répertoire "/manager/gdlb.me".
Nous y décompressons le fichier "20131227-GSLB.ME-RestClient.zip" téléchargé ci-dessous. Un sous-répertoire "GSLB.ME-RestClient" est alors créé dans le répertoire "/manager/gdlb.me".
Notons que ce script "GSLB.me-RestClient.jar" est écrit en Java (version 1). Il faut donc que l'interpréteur Java soit installé.
Sous Fedora 38, on ajoute le paquet "java-1.8.0-openjdk" grâce à la commande suivante:
dnf install java-1.8.0-openjdk
Si on installe la dernière version OpenJdk 17 ou 20, le script "GSLB.me-RestClient.jar" ne fonctionne pas.


Voici un exemple de script qui permet la mise à jour des enregistrements de type "A" dans votre espace DNS.
Voici un exemple de script qui permet la mise à jour des enregistrements de type "A" dans votre espace DNS.
Ligne 162 : Ligne 170 :
Pour que ce script s'exécute automatiquement à intervalle régulier, il faut ajouter cet appel dans le CRON.
Pour que ce script s'exécute automatiquement à intervalle régulier, il faut ajouter cet appel dans le CRON.


Entrée à ajouter dans le fichier /etc/crontab
Ajoutez cette entrée dans le fichier "/etc/crontab":
----
----
  # dyndns GSLB.ME
  # dyndns GSLB.ME
Ligne 168 : Ligne 176 :
----
----


Notons que ce script "GSLB.me-RestClient.jar" est écrit en Java (version 1). Il faut donc que l'interpréteur Java soit installé.
Sous Fedora 38, on ajoute le paquet "java-1.8.0-openjdk" grâce à la commande suivante:
dnf install java-1.8.0-openjdk
Si on installe la dernière version 17 ou 20, le script "GSLB.me-RestClient.jar" ne fonctionne pas.


<!--
<!--
Ligne 258 : Ligne 260 :
=API=
=API=
Une approche alternative consiste à utiliser l'API mise à disposition par le site.  
Une approche alternative consiste à utiliser l'API mise à disposition par le site.  
Elle est documentée à l'URL <nowiki>https://docs.gslb.me/</nowiki> et avec des exemples sous l'onglet "Zones".
Elle est documentée à l'URL <nowiki>https://docs.gslb.me/</nowiki> et avec des exemples sous l'onglet "Zones" sur le dessus de la page.


Nous nous concentrerons sur la modification des adresses IP de nos enregistrements dans notre DNS.
Nous nous concentrerons sur la modification des adresses IP de nos enregistrements dans notre DNS.
Ligne 288 : Ligne 290 :
  ######################################################
  ######################################################
  cd /manager/gslb.me/GSLB.ME-RestClient/sbin
  cd /manager/gslb.me/GSLB.ME-RestClient/sbin
  ./sh.GSLB.ME-RestClient -u ${EMAIL} -p ${PW} -gr ${NOMDNS} >& /manager/gslb.me/infogr.lis
  ./sh.GSLB.ME-RestClient -u ${EMAIL} -p ${PW} -gr ${NOMDNS} >& /manager/gslb.me/record.txt
  cd /manager/gslb.me
  cd /manager/gslb.me
  /usr/bin/python -m json.tool infogr.lis > infogr.json
  /usr/bin/python -m json.tool record.txt > record.json
----
----
Comme ci-dessus, il faut adapter le nom DNS, l'adresse mail et le mot de passe. La procédure récupère sous format JSON tous les enregistrements de votre DNS. Mais comme il le fait sous forme d'une seule ligne, on utilise une procédure Python pour la rendre plus lisible.
Comme ci-dessus, il faut adapter le nom DNS, l'adresse mail et le mot de passe. La procédure récupère sous format JSON tous les enregistrements de votre DNS. Mais comme il le fait sous forme d'une seule ligne, on utilise une procédure Python pour la rendre plus lisible.


Voici un exemple réduit de sortie:
Voici un exemple réduit de sortie dans le fichier "record.json":
----
----
  {
  {
Ligne 368 : Ligne 370 :
  ######################################################
  ######################################################
  cd /manager/gslb.me
  cd /manager/gslb.me
  /usr/bin/curl --basic -u ${EMAIL}:${PW} -o record.log --location --request GET https://api.gslb.me/2.0/record/${NOMDNS} --data ''
  /usr/bin/curl --basic -u ${EMAIL}:${PW} -o record.txt --location --request GET https://api.gslb.me/2.0/record/${NOMDNS} --data ''
  /usr/bin/python -m json.tool record.log > record.json
  /usr/bin/python -m json.tool record.txt > record.json
----
----
On obtient le même résultat dans le fichier "record.json".




Ligne 460 : Ligne 463 :
Pour que ce script s'exécute automatiquement à intervalle régulier, il faut ajouter cet appel dans le CRON.
Pour que ce script s'exécute automatiquement à intervalle régulier, il faut ajouter cet appel dans le CRON.


Entrée à ajouter dans le fichier /etc/crontab
Ajoutez cette entrée dans le fichier "/etc/crontab":
----
----
  # dyndns GSLB.ME
  # dyndns GSLB.ME