Set-OPS-Public/roles/serveur_powerdns/meta/flux.yml
Daniel Allaire db2d6f6bf0 resolveur : un par tenant, et non plus un par machine
Mesure avant de decider : ~21 Mo de RSS par VM pour 28 a 189 requetes servies.
Le gain de cache est negligeable ; ce qu'on recupere, c'est un demon au lieu de
cinq et un endroit a regarder au lieu de cinq.

Pas sur la frontiere : un resolveur de SITE devrait connaitre la zone interne de
chaque tenant, et un tenant dont le resolveur vit chez l'hebergeur ne peut plus
s'emanciper avec. La recursion est generique, la zone interne ne l'est pas.

L'autoritatif se replie sur 127.0.0.1:5300 -- derive de la colocalisation, pas
declare a la main. Son port devient `derive` dans meta/flux.yml : les deux lient
53 mais sur des adresses differentes.

Deux pieges. Unbound refuse d'interroger une loopback par defaut : sans lever
do-not-query-localhost, toute la zone rendait SERVFAIL. Et le plancher
/etc/hosts MASQUAIT la panne -- getent repondait, dig disait SERVFAIL. La tache
de validation du role avait raison contre moi.

client_unbound n'installant plus Unbound, son nom mentait : client_resolveur.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-24 16:59:34 -04:00

43 lines
1.9 KiB
YAML

---
# Flux réseau du DNS autoritatif interne (PowerDNS). Voir docs/flux-conception.md.
# LE PORT DE L'AUTORITATIF EST DÉRIVÉ DEPUIS LE 2026-08-24, et c'est pour ça qu'il est
# déclaré `derive` plutôt que `53` :
#
# seul sur son hôte -> 53 sur l'adresse du tenant
# partageant l'hôte avec le résolveur -> 5300 sur la loopback, derrière lui
#
# Le résolveur devient alors la seule porte, et personne n'interroge l'autoritatif
# directement. `verifier_ports` traite un port non numérique comme « pas une écoute fixe »
# — ce qui est exactement le cas : les deux services lient le port 53 mais sur des
# ADRESSES différentes, ce qu'une comparaison de ports seuls ne peut pas distinguer.
flux:
- sens: ingress
port: derive
protocole: udp
pair: flotte
chiffrement: clair
raison: "Zone souveraine. 53 seul sur son hôte, 5300 sur la loopback derrière le résolveur."
- sens: ingress
port: derive
protocole: tcp
pair: flotte
chiffrement: clair
raison: "Idem en TCP (réponses volumineuses, AXFR restreint par allow_axfr_ips)."
# L'autoritatif ne RÉCURSE pour personne — mais il doit résoudre POUR LUI-MÊME : `apt`,
# NTP, les certificats. Il est le seul hôte exempté de `client_resolveur` (PowerDNS occupe
# déjà son port 53), donc rien d'autre ne lui ouvre ce flux. Sans cette déclaration, la
# frontière jette ses requêtes et la machine ne peut même pas s'installer — mesuré le
# 2026-08-06, sur la VM qui devait justement servir de DNS au tenant.
- sens: egress
port: 53
protocole: udp
pair: externe
chiffrement: clair
raison: "Résolution sortante du serveur autoritatif POUR SES PROPRES besoins (apt, NTP) — il ne récurse pour aucun autre hôte."
- sens: egress
port: 53
protocole: tcp
pair: externe
chiffrement: clair
raison: "Repli TCP de la résolution sortante du serveur autoritatif (réponses dépassant la taille UDP)."