Le DNS est un système permettant la traduction de nom de domaine en addresse IP. Il permet aux utilisateurs des services du ResEl, depuis l'intérieur ou l'extérieur, d'accéder à ces services par un simple nom de domaine.
Au ResEl, il existe plusieurs serveurs DNS qui permettent une gestion des DNS sur les différents campus, et depuis l'extérieur.
Le système de DNS au ResEl est composée de 3 machines :
Le serveur DNS est bind9.
La configuration et le fonctionnement des DNS est finement gérée par l'intégration continue via GitLab. La modification de configuration via le dépôt est testée puis déployé en production sur les machines. Voir les sections suivantes pour plus de détails.
Sur la plupart des OS, la configuration du serveur DNS se fait automatiquement sur celui du ResEl dès la connexion au réseau s'il est en interne. Il reçoit les IPs des DNS résolvant sur le sous-réseau dans lequel il est via l'annonce DHCP.
S'il est à l'extérieur, c'est le DNS de son F.A.I. qui redirigera alors vers le DNS du ResEl en cas de résolution du domaine resel.fr
.
Sous linux, on peut vérifier quel DNS est configuré en lisant le fichier /etc/resolv.conf
.
On peut tester la résolution d'un nom de domaine via dig <ndd>
.
On peut tester la résolution inverse d'une ip via nslookup <ip>
Pour ajouter, ou modifier une entrée des DNS, le plus simple est d'utiliser le système d'HostAlias, qui permet une configuration dynamique du DNS.
Deuxième étape : laisser Ansible faire son taff Il suffit d'ajouter à l'entrée LDAP de la machine un champ HostAlias qui contient le sous domaine devant être résolu en CNAME vers la machine. On valide la modification via l'action "Màj des DNS" sur le site admin.
Par exemple, ajouter le champ HostAlias
à wiki
sur l'entrée LDAP de smeagol puis màj, va dynamiquement rajouter une entrée wiki CNAME smeagol
dans toute les zones où la machine possède une IP.
La configuration statique se fait en modifiant directement le fichier de configuration du DNS sur les zones voulues, puis en poussant la modification sur le dépôt Gitlab.
L'intégration continue va automatiquement déclencher les tests, puis déployer en production le code.
Connectez vous en ssh sur saymyname, rendez vous dans le dossier /srv/reloader et lancer le script reloader.sh
ssh saymyname
cd /srv/reloader/
./realoader.sh
TODO
La configuration des DNS est l'un des nombreux domaine où le ResEl excelle en utilisant des technologies de pointes. Un environnement de tests permet un développement test-driven, l'intégration continue fait la jonction avec la configuration en prodution des DNS. Des tests en production permettent la mise à jour dynamiquement de la configuration, assorti à divers mécanismes de monitorage.
Last edited by jvalladea, 2017-06-17 15:47:40