# GENERE par Set-OPS (role serveur_powerdns). Ne pas editer a la main. # # L'INSTANCE PUBLIQUE DU LOCATAIRE — `pdns@public`, primaire cache de ses zones publiques. # # Elle ne sert QUE les zones `autorite: primaire-cache`. La zone `.internal` reste a # l'instance principale, sur la boucle locale : le serveur public du site peut interroger # celle-ci, jamais celle-la. # # Une instance nommee ne lit pas `pdns.d/` : tout ce dont elle a besoin est dit ici. launch=bind bind-config={{ serveur_powerdns_public_bind_config }} bind-dnssec-db={{ serveur_powerdns_public_dnssec_db }} # LE SOCKET DE CONTROLE VIT OU L'UNITE LE MET (mesure le 2026-09-16, en production). # # `pdns@.service` cree `RuntimeDirectory=pdns-%i`, soit `/run/pdns-public`. Sans ce reglage, # `pdns_control --config-name=public` cherchait `/var/run/pdns/pdns-public.controlsocket`, # ne le trouvait pas — et la notification du site echouait. Le handler l'avalait en silence. socket-dir=/run/pdns-public # LA SEULE INSTANCE QUI ECOUTE L'ADRESSE DE L'HOTE. Le pare-feu de la machine ne laisse # frapper que le serveur public du site (flux `dns_public_site`). local-address={{ ansible_host }} local-port={{ serveur_powerdns_public_port }} primary=yes secondary=no # LE TRANSFERT S'OUVRE A LA CLE, PAS A L'ADRESSE (eprouve le 2026-09-16). # # `allow-axfr-ips` et TSIG sont ALTERNATIFS : une adresse listee obtient la zone sans # signature. Seule la boucle locale y figure — le serveur public du site n'y est jamais, # et ne recoit la zone que signee par `TSIG-ALLOW-AXFR`. # # MESURE EN PRODUCTION (2026-09-17) : une fois `TSIG-ALLOW-AXFR` pose sur la zone, meme la # boucle locale est refusee (« Transfer failed »). Pour imprimer la zone depuis la machine, # signer la demande avec la cle en place : # K=$(sudo -u pdns pdnsutil --config-name=public list-tsig-keys | awk '/^tsig-/{sub(/\.$/,"",$1); print $1":"$3; exit}') # dig -y "hmac-sha256:$K" @{{ ansible_host }} -p {{ serveur_powerdns_public_port }} AXFR disable-axfr=no allow-axfr-ips=127.0.0.1/32 # NOTIFIER LE SEUL SERVEUR PUBLIC DU SITE (decouvert le 2026-09-16, dans les journaux). # # Par defaut, un primaire notifie AUSSI les adresses de ses enregistrements NS. Ici, ce # sont les adresses PUBLIQUES des serveurs de noms : le primaire enverrait des # notifications vers Internet depuis l'interieur du locataire. `only-notify` les borne. only-notify={{ serveur_powerdns_dns_public_site }}/32 also-notify={{ serveur_powerdns_dns_public_site }} version-string=anonymous security-poll-suffix=