Unbound par nœud (127.0.0.1) : stub-zone vers PowerDNS (interne) + récursion Internet (ou forward). Alternative dynamique au plancher /etc/hosts. Bascule resolv.conf protégée (apply+confirm) ET validée avant (Unbound doit résoudre interne + Internet, sinon pas de bascule → nœud jamais coupé). Sûr par défaut (apply=false). Prouvé sur data-sql-01 : dig @127.0.0.1 keycloak/id-sso-01 → PowerDNS, deb.debian.org → récursion, apt OK. Rollout flotte = opt-in par nœud. Note : OPNsense embarque Unbound → l'Unbound réseau pourra vivre sur l'appliance de bordure (nœud public, Étape B) ; ce rôle reste complémentaire. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
25 lines
893 B
Django/Jinja
25 lines
893 B
Django/Jinja
# Géré par Set-OPS (rôle client_unbound). Ne pas éditer à la main.
|
|
# Résolveur local : cache + récursion (ou forward), stub-zone vers l'autoritatif interne.
|
|
server:
|
|
interface: {{ client_unbound_ecoute }}
|
|
access-control: 127.0.0.0/8 allow
|
|
hide-identity: yes
|
|
hide-version: yes
|
|
prefetch: yes
|
|
do-ip6: no
|
|
# La zone interne n'est pas signée DNSSEC (PowerDNS autoritatif, dnssec off).
|
|
domain-insecure: "{{ client_unbound_zone_interne }}"
|
|
|
|
# Zone interne : déléguée à l'autoritatif (PowerDNS).
|
|
stub-zone:
|
|
name: "{{ client_unbound_zone_interne }}"
|
|
stub-addr: {{ client_unbound_dns_autoritatif }}
|
|
{% if client_unbound_transitaires | length > 0 %}
|
|
|
|
# Internet : forward vers l'upstream réseau (au lieu de la récursion directe).
|
|
forward-zone:
|
|
name: "."
|
|
{% for t in client_unbound_transitaires %}
|
|
forward-addr: {{ t }}
|
|
{% endfor %}
|
|
{% endif %}
|