Wat is een DNS Zone?
Een DNS zone is een apart deel van de DNS namespace 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 vs 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:
Single Zone for Domain and Subdomeins:example.com zone contains:
- example.com
- www.example.com
- blog.example.com
- api.example.com
Managed by: ns1.example.com, ns2.example.com
Gedelegeerde Subdomein Zone:
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 Fields:
| Veld | Betreft | Voorbeeldwaarde |
|---|---|---|
| Primaire NS | Master nameserver | ns1.example.com |
| E-mail admin | Contact (@ → .) | admin.example.com (admin@example.com) |
| Serieel | Zoneversienummer | 2024010101 |
| Verversen | Secundaire NS-controleinterval | 7200s (2 uur) |
| Opnieuw proberen | interval opnieuw proberen als vernieuwen mislukt | 3600 (1 uur) |
| Verlopen | Secundaire NS geeft op na | 1209600s (14 dagen) |
| Minimale TTL | Negatieve caching duur | 3600 (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 vertellen de wereld welke servers moeten zoeken naar records in deze zone.
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 repliceren van primaire:
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
Maps domeinnamen naar IP-adressen (meest voorkomende):
example.com → 203.0.113.50
www.example.com → 203.0.113.50
Omgekeerde zone
Kaarten IP adressen naar domeinnamen (PTR records):
50.113.0.203.in-addr.arpa → example.com
Gebruikt voor:
- E-mailserver verificatie
- Logging en beveiliging
- Problemen oplossen
Delegatie zone
Delegatie creëert 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 zone bestand 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 afgevaardigde?
- Organisatie: Verschillende teams beheren verschillende zones
- Technische: Gebruik verschillende DNS providers (bijv., API op AWS, website op Cloudflare)
- Performance: Distribute DNS load
- Veiligheid: Isoleer gevoelige diensten
Gebiedsbeheer
Beheer van serienummers
Serienummers track zone versies (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, of de secondaries zullen niet updaten.
Zoneoverdrachtbeveiliging
Probleem: Zone transfers onthullen alle DNS records Oplossing: Zoneoverdrachten beperken naar toegestane secondaries 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
Zoek SOA Record
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.
Verzoekzoneoverdracht (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.
Zonebestand Beste praktijken
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 (Zone Signing)
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:
- IP-adres updates thuis
- Auto-schaling infrastructuur
- Dienstontdekking
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:
- Interne vs externe website versies
- Particuliere netwerkbronnen
- Geogebaseerde reacties
Problemen met de zone oplossen
Zoneoverdrachtsfouten
Symptoom: Seconden uit synchronisatie*Check:
# Check if primary allows transfers
dig @ns1.example.com example.com AXFR
# Check secondary logs for errors
tail -f /var/log/named.log
Oplossingen:
- Verifiëren van toelaatbare overdracht-instellingen
- Controleer netwerkverbinding tussen servers
- Zorg ervoor dat het serienummer toeneemt
Serienummer wordt niet verhoogd
Symptoom: Veranderingen die zich niet voortplanten in secondaries Oplossing: Altijd seriële verhogen bij elke zonebewerkingDelegatie 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**:
- Controleer NS-gegevens in de ouderzone
- Controleer lijm records als nameservers binnen subdomein zijn
- Bevestig kind zone is geconfigureerd
DNS zones zijn de basis van gedistribueerde DNS management . understanding zone structuur, delegatie en beheer stelt u in staat om architect DNS effectief voor organisaties van elke grootte.