.. _DNS blueprint: DNS """ Schéma de base '''''''''''''' .. graphviz:: digraph "arch" { ranksep=2 "DNS server 1"; "DNS server 2"; "DNS server 3"; subgraph cluster_client { ranksep=0 label="Client"; "client_resolver"[label="resolver"]; "client_hosts"[label="/etc/hosts"]; "client_dnsmasq"[label="dnsmasq"]; "client_resolver" -> "client_dnsmasq"[label="first"]; "client_resolver" -> "client_hosts"[label="second"]; } subgraph cluster_hypervisor { ranksep=0 label="Hypervisor"; "hypervisor_resolver"[label="resolver"]; "hypervisor_hosts"[label="/etc/hosts"]; "hypervisor_dnsmasq"[label="dnsmasq"]; "hypervisor_resolver" -> "hypervisor_dnsmasq"[label="second"]; "hypervisor_resolver" -> "hypervisor_hosts"[label="first"]; } subgraph cluster_server1 { ranksep=0 label="Server 1" "DNS server 1"[label="named"]; } subgraph cluster_server2 { ranksep=0 label="Server 2" "DNS server 2"[label="named"]; } subgraph cluster_server3 { ranksep=0 label="Server 3" "DNS server 3"[label="named"]; } "client_dnsmasq" -> "DNS server 1"; "client_dnsmasq" -> "DNS server 2"; "client_dnsmasq" -> "DNS server 3"; "hypervisor_dnsmasq" -> "DNS server 1"; "hypervisor_dnsmasq" -> "DNS server 2"; "hypervisor_dnsmasq" -> "DNS server 3"; } Description ''''''''''' Dans l'architecture convenue, tous les clients DNS ont le même principe de fonctionnement mais avec des priorités différentes en fonction de leur rôle durant le démarrage des services de management. Le resolver des clients sera configuré pour utiliser un `dnsmasq` puis `/etc/hosts` ou l'inverse pour les hyperviseurs et les VMs servant de serveur DNS. Les fichiers `/etc/hosts` seront générés via `confiture` (avec une limitation des entrées générées au strict minimum) et doivent être utilisés tels quels. Les serveurs `dnsmasq` écouteront sur l'interface loopback uniquement et serviront de cache au `/etc/hosts` et pourront relayer les requêtes aux serveurs DNS du calculateur, ces dernières étant cachées également. Ainsi, les configurations de `dnsmasq` seront identiques sur tous les nœuds, de même pour `/etc/hosts`. La seule différence résidera dans `/etc/nsswitch.conf` où la majorité des nœuds auront un `hosts` configuré en `dns files` et les autres (hyperviseur et serveurs DNS) en `files dns`. Les serveurs DNS utiliseront `named` avec la configuration générée par `confiture` et écouteront uniquement sur une IP de service (avec une éventuelle bascule de cette IP entre les serveurs). De même, pour permettre un relai vers les serveurs du centre de calcul, ces VMs devront tourner sur des hyperviseurs avec un accès au backbone ethernet. Si la configuration de `named` (configuration ou zones) a besoin de modifications (CNAME par exemple), il sera nécessaire de modifier le template de base et non les fichiers résultant de la génération. .. raw:: latex \clearpage