DNS Catalog Zones: je slaveconfiguratie vereenvoudigen
Als je meerdere DNS-servers beheert, ken je het probleem: elke keer dat je een zone toevoegt aan je primary, moet je ook je secondaries bijwerken. Bij tien zones is dat te doen. Bij honderd of meer wordt het een operationeel risico.
Catalog Zones lossen dit op. In plaats van elke zone apart te configureren op je slaves, onderhoud je één speciale zone — de catalog — en je secondaries pikken de rest automatisch op.
Hoe het werkt
Een Catalog Zone is een reguliere DNS-zone die verwijzingen bevat naar andere zones. De secondary leest de catalog via een gewone zone transfer (AXFR/IXFR) en configureert automatisch alle zones die erin staan.
De structuur ziet er zo uit:
; Catalog Zone voor secondary DNS
catalog.example.nl. SOA ns1.example.nl. admin.example.nl. (
2024123101 3600 900 604800 86400 )
catalog.example.nl. NS invalid.
; Versie van het catalog zone formaat
version.catalog.example.nl. TXT "2"
; Zones die de secondary moet serveren
example.nl.zones.catalog.example.nl. PTR example.nl.
klant-a.nl.zones.catalog.example.nl. PTR klant-a.nl.
klant-b.nl.zones.catalog.example.nl. PTR klant-b.nl.
Voeg je een zone toe aan de catalog, dan detecteert de secondary dat bij de volgende zone transfer en begint hij die zone te serveren. Geen handmatige configuratie meer.
PowerDNS als primary
In PowerDNS configureer je de catalog zone in pdns.conf:
catalog-zones=catalog.example.nl
Elke zone die je aan PowerDNS toevoegt, kan dan automatisch in de catalog worden opgenomen. De secondary krijgt een NOTIFY, doet een transfer en is bij.
Knot DNS als secondary
Knot ondersteunt catalog zones native als consumer. In knot.conf:
zone:
- domain: catalog.example.nl
master: 10.0.0.1
catalog-role: interpret
catalog-template: default-slave
Knot leest de catalog en maakt automatisch slave-zones aan voor elke entry.
Waarom dit nuttig is
- Minder configuratie. Geen handmatig bijwerken van slave-configuraties bij elke nieuwe zone.
- Minder fouten. Een zone vergeten toe te voegen op een secondary is verleden tijd.
- Schaalbaar. Werkt even goed met tien als met duizend zones.
- Standaard. Gedefinieerd in RFC 9432, ondersteund door PowerDNS, Knot en BIND.
Productie-ervaring
Ik gebruik deze opzet in mijn eigen DNS-infrastructuur: PowerDNS als authoritative primary, Knot als secondary, met catalog zones voor automatische synchronisatie. Het haalt een hele categorie operationele fouten weg en maakt het toevoegen van zones triviaal.
Het volledige artikel met meer configuratiedetails staat op mijn persoonlijke blog. Hulp nodig met je DNS-architectuur? Ik help met PowerDNS, Knot, DNSSEC en complexe multi-serveropstellingen — zie netwerk en BGP.
Lees de uitgebreide versie op mijn persoonlijke blog →
Hulp nodig met dit onderwerp?
Dit is precies het soort werk waarvoor bedrijven mij inhuren. Bellen mag direct. Mail beantwoord ik meestal dezelfde werkdag.