Strefa DNS

Protokoły i standardy
Część przestrzeni nazw DNS zarządzana przez określoną organizację lub administratora.
← Wróć do słownika

Czym jest strefa DNS?

Strefa DNS to wyodrębniona część przestrzeni nazw DNS zarządzana przez konkretną organizację lub administratora. Zawiera rekordy DNS dla jednej domeny lub wielu domen i jest obsługiwana przez autorytatywne serwery nazw. Domena jest nazwą w drzewie DNS, natomiast strefa wyznacza granicę administracyjną określającą, które serwery nazw odpowiadają za zapytania.

Domena a strefa

Zrozumienie tej różnicy ma kluczowe znaczenie:

Domena

Domena jest nazwą w hierarchii DNS:

example.com (domain)

└── www.example.com (subdomain)

└── blog.example.com (subdomain)

└── api.example.com (subdomain)

Strefa

Strefa oznacza administracyjną kontrolę nad rekordami:

Jedna strefa domeny i poddomen:
example.com zone contains:

- example.com

- www.example.com

- blog.example.com

- api.example.com

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

Delegowana strefa poddomeny:
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

Składniki strefy

Plik strefy

Plik tekstowy zawierający wszystkie rekordy DNS strefy:

; 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"

Rekord SOA (Start of Authority)

Każda strefa musi mieć dokładnie jeden rekord SOA:

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

2024010101 ; Serial

7200 ; Refresh

3600 ; Retry

1209600 ; Expire

3600 ; Minimum TTL

)

Pola SOA:
PoleZastosowaniePrzykładowa wartość
Primary NSGłówny serwer nazwns1.example.com
Admin EmailKontakt (@ → .)admin.example.com ([email protected])
SerialNumer wersji strefy2024010101
RefreshInterwał sprawdzania secondary NS7200 s (2 godziny)
RetryInterwał ponowienia po nieudanym odświeżeniu3600 s (1 godzina)
ExpireCzas do rezygnacji secondary NS1209600 s (14 dni)
Minimum TTLCzas ujemnego cache3600 s (1 godzina)

Rekordy NS (serwery nazw)

Określają, które serwery są autorytatywne dla strefy:

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

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

Informują cały internet, których serwerów używać do zapytań o rekordy tej strefy.

Typy stref

Strefa primary (master)

Autorytatywne źródło, w którym edytuje się rekordy strefy:

ns1.example.com (primary)

→ Zone file edited here

→ Changes made directly

→ Notifies secondaries of updates

Strefa secondary (slave)

Kopie tylko do odczytu replikowane z primary:

ns2.example.com (secondary)

→ Retrieves zone data from primary

→ Cannot be edited directly

→ Automatically syncs based on SOA refresh interval

Transfer strefy (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

Transfer przyrostowy (IXFR):
1. Secondary requests only changes since last serial

2. Primary sends diff

3. More efficient for large zones with small changes

Strefa do przodu

Mapuje nazwy domen na adresy IP (najczęstszy typ):

example.com → 203.0.113.50

www.example.com → 203.0.113.50

Strefa odwrotna

Mapuje adresy IP na nazwy domen (rekordy PTR):

50.113.0.203.in-addr.arpa → example.com

Zastosowania:

Delegowanie strefy

Delegowanie tworzy osobne strefy dla poddomen:

Strefa nadrzędna (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

Delegowana strefa (api.example.com)

Całkowicie oddzielny plik strefy na innych serwerach nazw:

; 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

Dlaczego delegować?

Zarządzanie strefą

Zarządzanie numerem seryjnym

Numery seryjne śledzą wersje strefy (zwykle format RRRRMMDDnn):

2024010101  ; January 1, 2024, version 01

2024010102 ; January 1, 2024, version 02

2024010201 ; January 2, 2024, version 01

Zasada krytyczna: Numer seryjny musi rosnąć przy każdej zmianie, inaczej secondary nie zostaną zaktualizowane.

Bezpieczeństwo transferu strefy

Problem: Transfery stref ujawniają wszystkie rekordy DNS Rozwiązanie: Ogranicz transfery stref do autoryzowanych secondary Konfiguracja BIND:
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): Uwierzytelniaj transfery stref za pomocą współdzielonych kluczy:
key "transfer-key" {

algorithm hmac-sha256;

secret "base64-encoded-key";

};

allow-transfer { key transfer-key; };

Sprawdzanie konfiguracji strefy

Zapytanie o rekord SOA

dig example.com SOA

; ANSWER SECTION:

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

2024010101 7200 3600 1209600 3600 )

Zapytanie o rekordy NS

dig example.com NS

; ANSWER SECTION:

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

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

Żądanie transferu strefy (AXFR)

dig @ns1.example.com example.com AXFR

# If allowed, returns entire zone

# If denied, returns transfer failed

Większość publicznych serwerów nazw odmawia AXFR, aby zapobiegać ujawnianiu informacji.

Typowe konfiguracje stref

Prosta witryna

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"

Strefa wielu usług

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.

Delegowane poddomeny

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.

Najlepsze praktyki plików stref

1. Zawsze zwiększaj serial: Po każdej zmianie, inaczej secondary nie zostaną zaktualizowane

2. Używaj seriali opartych na dacie: Format RRRRMMDDnn ułatwia orientację

3. Ograniczaj transfery stref: Zezwalaj tylko autoryzowanym secondary

4. Używaj wielu serwerów nazw: Co najmniej 2, najlepiej w różnych sieciach

5. Ustaw odpowiednie TTL: Zrównoważ korzyści cache z szybkością zmian

6. Testuj przed zastosowaniem: Zweryfikuj składnię pliku przed załadowaniem

7. Monitoruj transfery stref: Upewnij się, że secondary są synchronizowane

8. Dokumentuj delegacje: Zapisz, które strefy i dokąd są delegowane

9. Twórz kopie plików stref: Regularne kopie zapobiegają utracie danych

10. Używaj kontroli wersji: Śledź zmiany plików stref w czasie

Zaawansowane funkcje stref

DNSSEC (podpisywanie strefy)

Podpisuj rekordy strefy kryptograficznie:

example.com.  IN  A       203.0.113.50

example.com. IN RRSIG A 8 2 3600 (

signature-data-here )

Chroni to przed zatruciem cache i manipulacją.

Dynamiczny DNS (DDNS)

Umożliwia programowe aktualizacje strefy:

# 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

Zastosowania:

Widoki stref (DNS split horizon)

Udostępnia różne dane strefy zależnie od adresu IP klienta:

Internal clients: example.com → 10.0.0.50 (internal)

External clients: example.com → 203.0.113.50 (public)

Zastosowania:

Rozwiązywanie problemów stref

Błędy transferu strefy

Objaw: Secondary nie są zsynchronizowane Sprawdź:
# Check if primary allows transfers

dig @ns1.example.com example.com AXFR

# Check secondary logs for errors

tail -f /var/log/named.log

Rozwiązania:

Numer seryjny nie rośnie

Objaw: Zmiany nie propagują się do secondary Rozwiązanie: Zawsze zwiększaj numer seryjny przy każdej edycji strefy

Delegowanie nie działa

Objaw: Poddomena się nie rozwiązuje Sprawdź:
# Verify delegation

dig example.com NS

dig api.example.com NS

# Should show different nameservers for delegated subdomain

Rozwiązania:

Strefy DNS są fundamentem rozproszonego zarządzania DNS. Zrozumienie ich struktury, delegowania i obsługi pozwala skutecznie projektować DNS dla organizacji dowolnej wielkości.

Wykorzystaj tę wiedzę w praktyce

Użyj API DomScan, aby sprawdzić dostępność domen, ich kondycję i więcej.