« LINUX:DNS-GSLB » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 56 : | Ligne 56 : | ||
Le "Record value" a quatre paramètres. Les deux premiers ont peu d'importance dans notre cas: la priorité et le poids. Ils sont importants si vous avez plusieurs serveurs WEB. Le troisième par contre correspond au n° du port TCP: classiquement, pour HTTP, il a la valeur "'''80'''" et pour HTTPS, "'''443'''" . Ces valeurs peuvent être différentes en fonction de la configuration de votre serveur. Par exemple, si vous deux serveurs WEB hébergeant des sites WEB différents (un serveur WEB Linux et un serveur WEB Windows). Le premier aurait respectivement les services WEB sur les ports 80 et 443 et le second, sur les ports 81 et 444. | Le "Record value" a quatre paramètres. Les deux premiers ont peu d'importance dans notre cas: la priorité et le poids. Ils sont importants si vous avez plusieurs serveurs WEB. Le troisième par contre correspond au n° du port TCP: classiquement, pour HTTP, il a la valeur "'''80'''" et pour HTTPS, "'''443'''" . Ces valeurs peuvent être différentes en fonction de la configuration de votre serveur. Par exemple, si vous deux serveurs WEB hébergeant des sites WEB différents (un serveur WEB Linux et un serveur WEB Windows). Le premier aurait respectivement les services WEB sur les ports 80 et 443 et le second, sur les ports 81 et 444. | ||
Le quatrième renvoie vers la machine qui offre ce service: ici "''' | Le quatrième renvoie vers la machine qui offre ce service: ici "'''www'''". | ||
* Records pour un serveur de messagerie (Mail) | * Records pour un serveur de messagerie (Mail) | ||
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. | ||
Le site de GSLB fournit une API et une application Java pour l'adapter à distance. | Le site de GSLB fournit une API et une application Java pour l'adapter à distance. | ||
L'explication de cette application se trouve à l'URL <nowiki>https://docs.gslb.me/clients/</nowiki> et l'application est téléchargeable à l'URL <nowiki>https://docs.gslb.me/files/20131227-GSLB.ME-RestClient.zip</nowiki> Cette application transforme les enregistrements de type "A" mais pas les autres. | L'explication de cette application se trouve à l'URL <nowiki>https://docs.gslb.me/clients/</nowiki> et l'application est téléchargeable à l'URL '''<nowiki>https://docs.gslb.me/files/20131227-GSLB.ME-RestClient.zip</nowiki>''' Cette application transforme les enregistrements de type "A" mais pas les autres. | ||
Dans nos exemples de scripts qui suivent, nous les placerons dans un répertoire nommé "/manager/gdlb.me". | Dans nos exemples de scripts qui suivent, nous les placerons dans un répertoire nommé "/manager/gdlb.me". | ||
Ligne 147 : | Ligne 147 : | ||
---- | ---- | ||
Les paramètres du script "update.bat" sont à adapter selon vos besoins: | Les paramètres du script "update.bat" sont à adapter selon vos besoins: | ||
* EMAIL correspond à votre nom de compte d'accès au site de GSLB | |||
* PW correspond au mot de passe de ce compte | |||
* NOMDNS reprend votre nom de domaine (la valeur reprise en exemple est celle du cas exposé plus haut) | |||
* LISTE reprend les différentes entrées des enregistrements de type A (les valeurs reprisent en exemple sont celles du cas exposé plus haut) | |||
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. | 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. | ||
Ligne 248 : | Ligne 248 : | ||
---- | ---- | ||
--> | --> | ||
=API= | |||
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". | |||
Nous nous concentrerons sur la modification des adresses IP de nos enregistrements dans notre DNS. | |||
Son principe est simple; il faut créer un fichier JSON que l'on envoie, après authentification, à l'interface API du site. | |||
==Récupération de l'ID== | |||
Chaque enregistrement dans notre DNS est identifié par un n° ou ID. Il nous faut le récupérer avant de pouvoir effectuer nos mises à jour. La procédure téléchargée au point précédent va nous y aider. | |||
Voici le script: | |||
---- | |||
#!/bin/bash | |||
###################################################### | |||
# A ADAPTER | |||
# | |||
# nom de domaine | |||
NOMDNS="adbweb.gslb.eu" | |||
# nom de compte GSLB | |||
EMAIL="adresse@email" | |||
# mot de passe du compte GSLB | |||
PW="mot-de-passe" | |||
###################################################### | |||
cd /manager/gslb.me/GSLB.ME-RestClient/sbin | |||
./sh.GSLB.ME-RestClient -u ${EMAIL} -p ${PW} -gr ${NOMDNS} >& /manager/gslb.me/infogr.lis | |||
cd /manager/gslb.me | |||
/usr/bin/python -m json.tool infogr.lis > infogr.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. | |||
Voici un exemple réduit de sortie: | |||
---- | |||
{ | |||
"rrset": [ | |||
{ | |||
"id": "35377", | |||
"name": "_http._tcp", | |||
"readonly": "false", | |||
"ttl": "86400", | |||
"type": "SRV", | |||
"value": "30 1 80 www" | |||
}, | |||
{ | |||
"id": "35378", | |||
"name": "_https._tcp", | |||
"readonly": "false", | |||
"ttl": "86400", | |||
"type": "SRV", | |||
"value": "30 1 443 www" | |||
}, | |||
{ | |||
"id": "'''35395'''", | |||
"name": "www", | |||
"readonly": "false", | |||
"ttl": "86400", | |||
"type": "A", | |||
"value": "109.133.61.183" | |||
}, | |||
{ | |||
"id": "'''35396'''", | |||
"name": "@", | |||
"readonly": "false", | |||
"ttl": "86400", | |||
"type": "A", | |||
"value": "109.133.61.183" | |||
}, | |||
{ | |||
"id": "'''35473'''", | |||
"name": "mail", | |||
"readonly": "false", | |||
"ttl": "86400", | |||
"type": "A", | |||
"value": "109.133.61.183" | |||
}, | |||
{ | |||
"id": "'''35499'''", | |||
"name": "@", | |||
"readonly": "false", | |||
"ttl": "86400", | |||
"type": "TXT", | |||
"value": "v=spf1 mx a ip4:109.133.61.183 -all" | |||
} | |||
] | |||
} | |||
---- | |||
Nous avons mis en gras les ID des enregistrements liés à l'adresse IP. | |||