Set-OPS-Public/roles/serveur_powerdns/templates/zone-publique.db.j2
Daniel Allaire 788c5073dc DNS public, phase 1 : le locataire ecrit, le site sert
Role serveur_dns_public (secondaire public, transfert signe TSIG, aucune zone interne) ;
serveur_powerdns exerce enfin autorite primaire-cache dans une instance pdns@public a part,
pour que le site ne puisse jamais interroger la zone .internal. Relations derivees des plans
des locataires, mots de flux dns_public_site et primaires_dns_locataires. Eprouve avant
d ecrire : allow-axfr-ips et TSIG sont alternatifs, le primaire notifie aussi ses NS, le
serial fige aurait gele le secondaire. P82 refuse l exposition sans DNSSEC.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-16 18:08:20 -04:00

21 lines
935 B
Django/Jinja

$ORIGIN {{ zone_publique }}.
$TTL {{ serveur_powerdns_ttl }}
@ IN SOA ns1.{{ zone_publique }}. hostmaster.{{ zone_publique }}. (
{{ serveur_powerdns_serial_public }}
{{ serveur_powerdns_soa_refresh }}
{{ serveur_powerdns_soa_retry }}
{{ serveur_powerdns_soa_expire }}
{{ serveur_powerdns_soa_minimum }}
)
@ IN NS ns1.{{ zone_publique }}.
ns1 IN A {{ serveur_powerdns_ip_publique }}
{# UNE ZONE PUBLIQUE NE PORTE QUE DES ADRESSES PUBLIQUES.
Un nom expose sous ce domaine resout vers l'adresse publique du site — la frontiere le
relaie ensuite a l'edge. Jamais vers l'adresse interne de l'edge : elle ne resoudrait
pour personne dehors, et renseignerait sur le reseau dedans. #}
{% for expo in serveur_powerdns_expositions | default([]) if expo.domaine == zone_publique %}
{{ expo.fqdn[:-(zone_publique | length + 1)] if expo.fqdn != zone_publique else '@' }} IN A {{ serveur_powerdns_ip_publique }}
{% endfor %}