DNS-zon

Protokoll och standarder
En del av DNS-namnområdet som hanteras av en specifik organisation eller administratör.
← Tillbaka till Ordlistan

Vad är en DNS-zon?

En DNS-zon är en avgränsad del av DNS-namnrymden som hanteras av en viss organisation eller administratör. En zon innehåller DNS-poster för en eller flera domäner och betjänas av auktoritativa namnservrar. En domän är ett namn i DNS-trädet, medan en zon är en administrativ gräns som anger vilka namnservrar som ansvarar för att besvara frågor.

Domän jämfört med zon

Det är viktigt att förstå skillnaden:

Domän

En domän är ett namn i DNS-hierarkin:

example.com (domain)

└── www.example.com (subdomain)

└── blog.example.com (subdomain)

└── api.example.com (subdomain)

Zon

En zon är administrativ kontroll över poster:

En enda zon för domän och underdomäner:
example.com zone contains:

- example.com

- www.example.com

- blog.example.com

- api.example.com

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

Delegerad underdomänzon:
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

Zonens komponenter

Zonfil

En textfil som innehåller alla DNS-poster för en zon:

; 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-post (Start of Authority)

Varje zon måste ha exakt en SOA-post:

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

2024010101 ; Serial

7200 ; Refresh

3600 ; Retry

1209600 ; Expire

3600 ; Minimum TTL

)

SOA-fält:
FältSyfteExempelvärde
Primär NSHuvudnamnserverns1.example.com
Administratörens e-postKontakt (@ → .)admin.example.com ([email protected])
SerienummerZonens versionsnummer2024010101
RefreshIntervall för kontroll av sekundär NS7200s (2 timmar)
RetryFörsöksintervall om uppdatering misslyckas3600s (1 timme)
ExpireNär sekundär NS ger upp1209600s (14 dagar)
Minsta TTLVaraktighet för negativ cache3600s (1 timme)

NS-poster (namnservrar)

Anger vilka servrar som är auktoritativa för zonen:

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

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

De talar om för hela internet vilka servrar som ska frågas om poster i zonen.

Zonens typer

Primär zon (master)

Den auktoritativa källan där zonposterna redigeras:

ns1.example.com (primary)

→ Zone file edited here

→ Changes made directly

→ Notifies secondaries of updates

Sekundär zon (slave)

Skrivskyddade kopior som replikerar från den primära zonen:

ns2.example.com (secondary)

→ Retrieves zone data from primary

→ Cannot be edited directly

→ Automatically syncs based on SOA refresh interval

Zonöverföring (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

Inkrementell överföring (IXFR):
1. Secondary requests only changes since last serial

2. Primary sends diff

3. More efficient for large zones with small changes

Framåtzon

Mappar domännamn till IP-adresser, vilket är den vanligaste typen:

example.com → 203.0.113.50

www.example.com → 203.0.113.50

Omvänd zon

Mappar IP-adresser till domännamn (PTR-poster):

50.113.0.203.in-addr.arpa → example.com

Används för:

Zondelegering

Delegering skapar separata zoner för underdomäner:

Överordnad zon (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

Delegerad zon (api.example.com)

En helt separat zonfil på andra namnservrar:

; 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

Varför delegera?

Zonhantering

Hantera serienummer

Serienummer spårar zonversioner (vanligtvis i formatet YYYYMMDDnn):

2024010101  ; January 1, 2024, version 01

2024010102 ; January 1, 2024, version 02

2024010201 ; January 2, 2024, version 01

Viktig regel: Serienumret måste öka vid varje ändring, annars uppdateras inte de sekundära servrarna.

Säkerhet vid zonöverföring

Problem: Zonöverföringar exponerar alla DNS-poster Lösning: Begränsa zonöverföringar till auktoriserade sekundära servrar BIND-konfiguration:
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): Autentisera zonöverföringar med delade nycklar:
key "transfer-key" {

algorithm hmac-sha256;

secret "base64-encoded-key";

};

allow-transfer { key transfer-key; };

Kontrollera zonkonfigurationen

Fråga efter SOA-post

dig example.com SOA

; ANSWER SECTION:

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

2024010101 7200 3600 1209600 3600 )

Fråga efter NS-poster

dig example.com NS

; ANSWER SECTION:

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

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

Begär zonöverföring (AXFR)

dig @ns1.example.com example.com AXFR

# If allowed, returns entire zone

# If denied, returns transfer failed

De flesta offentliga namnservrar nekar AXFR för att förhindra informationsläckage.

Vanliga zonkonfigurationer

Enkel webbplats

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"

Zon med flera tjänster

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.

Delegerade underdomäner

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.

Bästa praxis för zonfiler

1. Öka alltid serienumret: Efter varje ändring, annars uppdateras inte sekundära servrar

2. Använd datumserienummer: Formatet YYYYMMDDnn ger tydlighet

3. Begränsa zonöverföringar: Tillåt endast auktoriserade sekundära servrar

4. Använd flera namnservrar: Minst två, helst i olika nätverk

5. Ange lämpliga TTL-värden: Balansera cachefördelar mot uppdateringshastighet

6. Testa före tillämpning: Validera zonfilens syntax innan den läses in

7. Övervaka zonöverföringar: Säkerställ att sekundära servrar synkroniseras

8. Dokumentera delegeringar: Notera vilka zoner som delegerats och vart

9. Säkerhetskopiera zonfiler: Regelbundna säkerhetskopior förhindrar dataförlust

10. Använd versionshantering: Följ zonfilens ändringar över tid

Avancerade zonfunktioner

DNSSEC (zonsignering)

Signera zonposter kryptografiskt:

example.com.  IN  A       203.0.113.50

example.com. IN RRSIG A 8 2 3600 (

signature-data-here )

Skyddar mot cacheförgiftning och manipulering.

Dynamisk DNS (DDNS)

Tillåt programmatisk uppdatering av zonen:

# 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

Användbart för:

Zonavisningar (split horizon DNS)

Visa olika zondata utifrån klientens IP-adress:

Internal clients: example.com → 10.0.0.50 (internal)

External clients: example.com → 203.0.113.50 (public)

Användningsområden:

Felsöka zonproblem

Zonöverföringar misslyckas

Symtom: Sekundära servrar är inte synkroniserade Kontroll:
# Check if primary allows transfers

dig @ns1.example.com example.com AXFR

# Check secondary logs for errors

tail -f /var/log/named.log

Lösningar:

Serienumret ökar inte

Symtom: Ändringar sprids inte till sekundära servrar Lösning: Öka alltid serienumret vid varje redigering av zonen

Delegeringen fungerar inte

Symtom: Underdomänen kan inte lösas upp Kontroll:
# Verify delegation

dig example.com NS

dig api.example.com NS

# Should show different nameservers for delegated subdomain

Lösningar:

DNS-zoner är grunden för distribuerad DNS-hantering. Genom att förstå zonstruktur, delegering och hantering kan du utforma DNS effektivt för organisationer av alla storlekar.

Använd Denna Kunskap

Använd DomScans API för att kontrollera domäntillgänglighet, hälsa och mer.