En DNS-zonefil (Domain Name System) er en tekstfil, der beskriver en DNS-zone. BIND-zonefilen er et filformat, der er blevet bredt vedtaget af DNS-server-software. Formatet er defineret i RFC 1035.
Eksempel på en Dyn-zonefil
Dette er et eksempel på en zonefil, der er hentet fra Dyns DNS-system.
BEMÆRK: I ovenstående eksempel på en zonefil vises der ingen recordklasser (IN, CH, HS). Dyns DNS-software arbejder kun med Internet (IN)-klasseposter og udelader disse oplysninger af hensyn til effektiviteten.
Anatomi af en zonefil
$ORIGIN
angiver et DNS-nodetræ og vil typisk starte en DNS-zonefil. Alle værtsetiketter under oprindelsen vil tilføje oprindelsesværtsnavnet for at sammensætte et fuldt kvalificeret værtsnavn. Enhver værtsetiket i en post, der anvender et fuldt kvalificeret domæne, som afsluttes med et punktum, vil ikke tilføje oprindelsesværtsnavnet.
Eksempel: Med $ORIGIN example.com.
vil enhver post, hvor værtsmærkefeltet ikke er efterfulgt af et punktum, example.com.
blive tilføjet til dem.
Symbolet “@” er et særligt mærke, der angiver, at $ORIGIN skal erstatte symbolet “@”. Dette bruges typisk til toppen af en zone.
SOA-record – $ORIGIN efterfølges af zonens SOA-record (Start Of Authority). Der kræves en Start Of Authority-record for hver zone. Den indeholder zonens navn, e-mailadressen på den part, der er ansvarlig for administrationen af domænets zonefil, zonens aktuelle løbenummer, zonens primære navneserver og forskellige tidselementer (målt i sekunder).
SOA Record Format
@ IN SOA {primary-name-server} {hostmaster-email} ( {serial-number} {time-to-refresh} {time-to-retry} {time-to-expire} {minimum-TTL} )
- Primær navneserver – Den navneserver, der indeholder den originale zonefil og ikke en AXFR-overført kopi.
- Hostmaster E-mail – Adresse på den part, der er ansvarlig for zonen. Der anvendes et punktum “.” i stedet for et “@”-symbol. For e-mail-adresser, der indeholder et punktum, vil dette blive undviget med en skråstreg “/”.
- Serienummer – Versionsnummer for zonen. Efterhånden som du foretager ændringer i din zonefil, vil serienummeret stige.
- Time To Refresh – Hvor lang tid i sekunder en navneserver skal vente, før den kontrollerer, om der er sket en stigning i serienummeret i den primære zonefil. Et øget serienummer betyder, at der er behov for en overførsel for at synkronisere dine poster. Gælder kun for zoner, der bruger sekundær DNS.
- Time To Retry – Hvor lang tid i sekunder en navneserver skal vente, før den igen forsøger at opdatere en zone efter et mislykket forsøg. Gælder kun for zoner, der bruger sekundær DNS.
- Time To Expire – Hvor lang tid i sekunder en navneserver skal vente, før den anser data fra en sekundær zone for ugyldige og holder op med at besvare forespørgsler for den pågældende zone. Gælder kun for zoner, der bruger sekundær DNS.
- Minimum TTL – Hvor lang tid i sekunder, som en navneserver eller resolver skal cache et negativt svar.
Anatomi af en post i en zonefil
En zonefil er en samling af ressourceposter, hvor hver post er beskrevet i følgende rækkefølge:
FORMAT: | host label | ttl | record class | record type | record data | |
EKSEMPEL: | Eksempel: | Eksempel.com. | 60 | IN | A | 104.255.228.125 |
- Værtsetiket – Et værtsetiket er med til at definere værtsnavnet for en post, og om værtsnavnet $ORIGIN skal tilføjes til etiketten. Fuldt kvalificerede værtsnavne, der afsluttes med et punktum, vil ikke tilføje oprindelsen.
- TTL – TTL er den tid i sekunder, som en DNS-post vil blive gemt i cachen af en ekstern DNS-server eller resolver.
- Record Class – Der findes tre klasser af DNS-poster: IN (Internet), CH (Chaosnet) og HS (Hesiod). IN-klassen anvendes til den administrerede DNS-tjeneste.
- Record Type – Her defineres formatet for en post.
- Record Data – Dataene i et DNS-svar, f.eks. en IP-adresse, et værtsnavn eller andre oplysninger. Forskellige recordtyper vil indeholde forskellige typer recorddata.