# GÉNÉRÉ par Set-OPS (rôle serveur_resolveur). NE PAS éditer à la main. server: {% for a in serveur_resolveur_ecoutes %} interface: {{ a }} {% endfor %} {% for r in serveur_resolveur_reseaux_autorises %} access-control: {{ r }} allow {% endfor %} access-control: 127.0.0.0/8 allow hide-identity: yes hide-version: yes prefetch: yes do-ip6: no # La zone souveraine n'est pas signée : on ne la soumet pas à la validation DNSSEC. domain-insecure: "{{ serveur_resolveur_zone_interne }}" # UNBOUND REFUSE D'INTERROGER UNE LOOPBACK PAR DÉFAUT (2026-08-24). # # `do-not-query-localhost` vaut `yes` d'origine — une protection contre les boucles. # Or l'autoritatif de l'écosystème vit désormais SUR 127.0.0.1:5300, derrière ce # résolveur. Sans cette ligne, toute la zone souveraine rend SERVFAIL. # # Et la panne était MASQUÉE : le plancher /etc/hosts répondait pour les noms de la # flotte, si bien qu'un `getent hosts forge.genese.internal` semblait prouver que la # résolution marchait. Seul un `dig` explicite l'a montrée. do-not-query-localhost: no stub-zone: name: "{{ serveur_resolveur_zone_interne }}" stub-addr: {{ serveur_resolveur_autoritatif }}@{{ serveur_resolveur_autoritatif_port }} {% if serveur_resolveur_transitaires %} forward-zone: name: "." {% for f in serveur_resolveur_transitaires %} forward-addr: {{ f }} {% endfor %} {% endif %}