En zonfil för DNS (Domain Name System) är en textfil som beskriver en DNS-zon. BIND-zonfilen är ett filformat som har antagits i stor utsträckning av DNS-serverprogramvara. Formatet definieras i RFC 1035.
Exempel på en Dyn-zonfil
Detta är ett exempel på en zonfil som laddats ner från Dyns DNS-system.
OBSERVERA: I exemplet på zonfilen ovan visas inga registerklasser (IN, CH, HS). Dyns DNS-mjukvara arbetar endast med poster av klass Internet (IN) och utelämnar denna information av effektivitetsskäl.
Anatomi av en zonfil
$ORIGIN
anger ett DNS-nodträd och startar vanligtvis en DNS-zonfil. Alla värdbeteckningar under ursprunget kommer att lägga till ursprungets värdnamn för att sätta ihop ett fullt kvalificerat värdnamn. Alla värdnamn i en post som använder en fullt kvalificerad domän som avslutas med en slutpunkt kommer inte att lägga till det ursprungliga värdnamnet.
Exempel: Med $ORIGIN example.com.
kommer example.com.
att läggas till varje post där fältet för värdbeteckning inte följs av en punkt.
Symbolen ”@” är en speciell märkning som anger att $ORIGIN ska ersätta symbolen ”@”. Detta används vanligtvis för toppen av en zon.
SOA-post – $ORIGIN följs av zonens SOA-post (Start Of Authority). En Start Of Authority-post krävs för varje zon. Den innehåller zonens namn, e-postadressen till den part som ansvarar för att administrera domänens zonfil, zonens aktuella serienummer, zonens primära namnserver och olika tidselement (mätt 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 namnserver – Den namnserver som innehåller den ursprungliga zonfilen och inte en kopia som överförts med AXFR.
- E-postadress till värdadministratören – Adress till den part som ansvarar för zonen. En punkt ”.” används i stället för symbolen ”@”. För e-postadresser som innehåller en punkt, kommer denna att undvikas med ett snedstreck ”/”.
- Serienummer – Versionsnummer för zonen. När du gör ändringar i zonfilen kommer serienumret att öka.
- Time To Refresh – Hur lång tid i sekunder en namnserver ska vänta innan den kontrollerar om serienumret har ökat i den primära zonfilen. Ett ökat serienummer innebär att en överföring behövs för att synkronisera dina poster. Gäller endast zoner som använder sekundär DNS.
- Time To Retry – Hur lång tid i sekunder en namnserver ska vänta innan den försöker uppdatera en zon på nytt efter ett misslyckat försök. Gäller endast zoner som använder sekundär DNS.
- Time To Expire – Hur lång tid i sekunder en namnserver ska vänta innan den anser att data från en sekundär zon är ogiltiga och slutar besvara förfrågningar för den zonen. Gäller endast zoner som använder sekundär DNS.
- Minimum TTL – Hur lång tid i sekunder som en namnserver eller resolver ska cacha ett negativt svar.
Anatomi av en post i en zonfil
En zonfil är en samling resursposter där varje post beskrivs i följande ordning:
FORMAT: | host label | ttl | record class | record type | record data |
EXAMPLE: | example.com. | 60 | IN | A | 104.255.228.125 |
- Värd-etikett – En värd-etikett hjälper till att definiera värddatorn för en post och om värddatorn $ORIGIN kommer att läggas till etiketten. Fullständigt kvalificerade värdnamn som avslutas med en punkt kommer inte att lägga till ursprunget.
- TTL – TTL är den tid i sekunder som en DNS-post kommer att cachelagras av en extern DNS-server eller resolver.
- Record Class – Det finns tre klasser av DNS-poster: IN (Internet), CH (Chaosnet) och HS (Hesiod). IN-klassen kommer att användas för tjänsten Managed DNS.
- Record Type – Här definieras formatet för en post.
- Record Data – Uppgifterna i ett DNS-svar, t.ex. en IP-adress, ett värdnamn eller annan information. Olika posttyper innehåller olika typer av postdata.