DNS-zone

Protocollen & Standaarden
Een gedeelte van de DNS-naamruimte dat wordt beheerd door een specifieke organisatie of beheerder.
← Terug naar Woordenlijst

Wat is een DNS-zone?

Een DNS-zone is een apart deel van de DNS-naamruimte dat wordt beheerd door een specifieke organisatie of beheerder. Een zone bevat DNS-records voor een of meer domeinen en wordt bediend door gezaghebbende nameservers. Terwijl een domein een naam is in de DNS-boom, is een zone een administratieve grens die bepaalt welke nameservers verantwoordelijk zijn voor het beantwoorden van vragen.

Domein versus zone

Inzicht in het onderscheid is cruciaal:

Domein

Een domein is een naam in de DNS hiërarchie:

example.com (domain)

└── www.example.com (subdomain)

└── blog.example.com (subdomain)

└── api.example.com (subdomain)

Zone

Een zone is administratieve controle van de registers:

Eén zone voor domein en subdomeinen:
example.com zone contains:

- example.com

- www.example.com

- blog.example.com

- api.example.com

Managed by: ns1.example.com, ns2.example.com

Gedelegeerde subdomeinzone:
example.com zone contains:

- example.com

- www.example.com

- Delegation: api.example.com → different nameservers

api.example.com zone (separate) contains:

- api.example.com

- v1.api.example.com

- v2.api.example.com

Managed by: ns1.apihost.com, ns2.apihost.com

Zonecomponenten

Zonebestand

Een tekstbestand met alle DNS-records voor een zone:

; example.com zone file

$TTL 3600

@ IN SOA ns1.example.com. admin.example.com. (

2024010101 ; Serial

7200 ; Refresh

3600 ; Retry

1209600 ; Expire

3600 ; Minimum TTL

)

; Nameserver records

@ IN NS ns1.example.com.

@ IN NS ns2.example.com.

; A records

@ IN A 203.0.113.50

www IN A 203.0.113.50

blog IN A 203.0.113.51

; MX records

@ IN MX 10 mail.example.com.

mail IN A 203.0.113.52

; CNAME records

ftp IN CNAME www.example.com.

; TXT records

@ IN TXT "v=spf1 include:_spf.google.com ~all"

SOA-record (Start of Authority)

Elke zone moet precies één SOA record hebben:

example.com.  IN  SOA  ns1.example.com. admin.example.com. (

2024010101 ; Serial

7200 ; Refresh

3600 ; Retry

1209600 ; Expire

3600 ; Minimum TTL

)

SOA-velden:
VeldBetreftVoorbeeldwaarde
Primaire NSMaster nameserverns1.example.com
E-mail adminContact (@ → .)admin.example.com ([email protected])
SerieelZoneversienummer2024010101
VerversenSecundaire NS-controleinterval7200s (2 uur)
Opnieuw proberenInterval voor een nieuwe poging als vernieuwen mislukt3600 (1 uur)
VerlopenSecundaire NS stopt na1209600s (14 dagen)
Minimale TTLDuur van negatieve caching3600 (1 uur)

NS-records (Nameservers)

Geef aan welke servers gezaghebbend zijn voor de zone:

example.com.  IN  NS  ns1.example.com.

example.com. IN NS ns2.example.com.

Deze geven aan welke servers voor records in deze zone moeten worden geraadpleegd.

Zonetypes

Primaire zone (Master)

De gezaghebbende bron waar zonerecords worden bewerkt:

ns1.example.com (primary)

→ Zone file edited here

→ Changes made directly

→ Notifies secondaries of updates

Secundaire zone (Slave)

Alleen-lezen kopieën die van de primaire zone worden gerepliceerd:

ns2.example.com (secondary)

→ Retrieves zone data from primary

→ Cannot be edited directly

→ Automatically syncs based on SOA refresh interval

Zone Transfer (AXFR):
1. Secondary checks SOA serial number

2. If primary serial is higher → request full zone transfer

3. Primary sends entire zone

4. Secondary updates its copy

Incrementele overdracht (IXFR):
1. Secondary requests only changes since last serial

2. Primary sends diff

3. More efficient for large zones with small changes

Voorwaartse zone

Koppelt domeinnamen aan IP-adressen (meest voorkomende):

example.com → 203.0.113.50

www.example.com → 203.0.113.50

Omgekeerde zone

Koppelt IP-adressen aan domeinnamen (PTR records):

50.113.0.203.in-addr.arpa → example.com

Gebruikt voor:

Zonedelegatie

Delegatie maakt aparte zones voor subdomeinen:

Ouderzone (example.com)

; example.com zone

@ IN A 203.0.113.50

www IN A 203.0.113.50

; Delegate api.example.com to different nameservers

api IN NS ns1.apihost.com.

api IN NS ns2.apihost.com.

; Glue records (if needed)

ns1.api IN A 198.51.100.1

ns2.api IN A 198.51.100.2

Gedelegeerde Zone (api.example.com)

Volledig gescheiden zonebestand op verschillende nameservers:

; api.example.com zone (on ns1.apihost.com)

@ IN A 198.51.100.10

v1 IN A 198.51.100.11

v2 IN A 198.51.100.12

Waarom delegeren?

Zonebeheer

Beheer van serienummers

Serienummers houden zoneversies bij (typisch JJJJMMDDnn formaat):

2024010101  ; January 1, 2024, version 01

2024010102 ; January 1, 2024, version 02

2024010201 ; January 2, 2024, version 01

Kritieke regel: Serie moet toenemen met elke verandering, anders worden secundaire servers niet bijgewerkt.

Zoneoverdrachtbeveiliging

Probleem: Zoneoverdrachten maken alle DNS-records zichtbaar Oplossing: Beperk zoneoverdrachten tot toegestane secundaire servers BIND configuratie:
zone "example.com" {

type master;

file "/var/named/example.com.zone";

allow-transfer { 203.0.113.52; 203.0.113.53; }; // Secondary IPs only

notify yes;

};

TSIG (Transaction Signature): Authenticeer zonetransfers met gedeelde sleutels:
key "transfer-key" {

algorithm hmac-sha256;

secret "base64-encoded-key";

};

allow-transfer { key transfer-key; };

Controle van zoneconfiguratie

SOA-record opvragen

dig example.com SOA

; ANSWER SECTION:

example.com. 3600 IN SOA ns1.example.com. admin.example.com. (

2024010101 7200 3600 1209600 3600 )

NS-records opvragen

dig example.com NS

; ANSWER SECTION:

example.com. 86400 IN NS ns1.example.com.

example.com. 86400 IN NS ns2.example.com.

Zoneoverdracht aanvragen (AXFR)

dig @ns1.example.com example.com AXFR

# If allowed, returns entire zone

# If denied, returns transfer failed

De meeste publieke naamservers weigeren AXFR om openbaarmaking van informatie te voorkomen.

Gemeenschappelijke zoneconfiguraties

Eenvoudige website

example.com zone:

@ A 203.0.113.50

www A 203.0.113.50

@ MX 10 mail.example.com

mail A 203.0.113.51

@ TXT "v=spf1 mx -all"

Multiservicezone

example.com zone:

@ A 203.0.113.50

www A 203.0.113.50

blog CNAME hosting.wordpress.com.

shop CNAME shops.myshopify.com.

cdn CNAME d111111abcdef8.cloudfront.net.

@ MX 10 aspmx.l.google.com.

Gedelegeerde subdomeinen

example.com zone:

@ A 203.0.113.50

www A 203.0.113.50

; Delegate api to AWS Route 53

api NS ns-123.awsdns-01.com.

api NS ns-456.awsdns-02.net.

; Delegate cdn to Cloudflare

cdn NS ns1.cloudflare.com.

cdn NS ns2.cloudflare.com.

Beste praktijken voor zonebestanden

1. Altijd seriële * verhogen: Na elke verandering, of seconden zullen niet bijwerken

2. Op datum gebaseerde series gebruiken: Formaat JJJJMMDDnn voor duidelijkheid

3. Restricte zone transfers: Alleen toegestane secondaries toestaan

4. Gebruik meerdere nameservers: Minstens 2, bij voorkeur op verschillende netwerken

5. Set passende TTLs: Balans caching voordelen vs update snelheid

6. Test voor de aanvraag: Syntaxis zonebestand valideren voor het laden

7. Monitor zone transfers: Zorg ervoor dat Secondaries synchroniseren

8. De delegaties van documenten: Noteer welke zones worden gedelegeerd en waar

9. Backup zone bestanden: Regelmatige back-ups voorkomen verlies van gegevens

10. Versiecontrole gebruiken: Track zonebestand verandert in de tijd

Geavanceerde zonefuncties

DNSSEC (zoneondertekening)

Cryptografische registratie van de zone:

example.com.  IN  A       203.0.113.50

example.com. IN RRSIG A 8 2 3600 (

signature-data-here )

Beschermt tegen cache vergiftiging en manipulatie.

Dynamische DNS (DDNS)

Programmatische zone-updates toestaan:

# Update A record dynamically

nsupdate -k Kupdate.key <<EOF

server ns1.example.com

update delete www.example.com A

update add www.example.com 300 A 203.0.113.51

send

EOF

Handig voor:

Zoneweergaven (split-horizon-DNS)

Serveer verschillende zonegegevens op basis van client IP:

Internal clients: example.com → 10.0.0.50 (internal)

External clients: example.com → 203.0.113.50 (public)

Use cases:

Problemen met de zone oplossen

Zoneoverdrachtsfouten

Symptoom: Secundaire servers lopen niet meer synchroon Controle:
# Check if primary allows transfers

dig @ns1.example.com example.com AXFR

# Check secondary logs for errors

tail -f /var/log/named.log

Oplossingen:

Serienummer wordt niet verhoogd

Symptoom: Wijzigingen worden niet naar secundaire servers doorgegeven Oplossing: Verhoog het serienummer altijd bij elke zonebewerking

Delegatie werkt niet

Symptoom: Subdomein wordt niet opgelost

*Check:

# Verify delegation

dig example.com NS

dig api.example.com NS

# Should show different nameservers for delegated subdomain

Oplossingen**:

DNS-zones vormen de basis van gedistribueerd DNS-beheer. Inzicht in zonestructuur, delegatie en beheer helpt u om DNS voor organisaties van elke omvang effectief te ontwerpen.

Pas Deze Kennis Toe

Gebruik de API van DomScan om domeinbeschikbaarheid, gezondheid en meer te controleren.