DNS-recordtypes uitgelegd
Kort antwoord
Een DNS-zone is een verzameling records die het internet vertellen waar het dingen kan vinden voor jouw domein. De records die je het vaakst tegenkomt zijn A en AAAA (een naam naar een IPv4- of IPv6-adres wijzen), CNAME (één naam aliassen naar een andere), MX (mail routeren), TXT (willekeurige tekst, vaak gebruikt voor verificatie en e-mailauthenticatie), NS (de zone delegeren) en CAA (bepalen welke certificaatautoriteiten mogen uitgeven voor het domein).
Hoe een DNS-lookup wordt opgelost
Wanneer iets vraagt "wat is het IP-adres van example.com", gaat die vraag meestal naar een recursive resolver, vaak beheerd door een ISP of een publieke dienst. De resolver kent het antwoord niet per se zelf, dus werkt hij een keten af: hij vraagt een rootserver welke server het topleveldomein .com beheert, vraagt dan die TLD-server welke nameserver autoritatief is voor example.com, en vraagt ten slotte die autoritatieve nameserver om het daadwerkelijke record. Het antwoord wordt onderweg gecachet, zodat dezelfde lookup niet steeds de hele keten hoeft te doorlopen. Daarom duurt het even voordat DNS-wijzigingen overal zichtbaar zijn: caches houden op elke stap het oude antwoord vast tot het verloopt.
De recordtypes die je echt gebruikt
| Record | Wat het doet | Typisch gebruik |
|---|---|---|
| A | Wijst een naam naar een IPv4-adres | Een domein of subdomein naar een server wijzen |
| AAAA | Wijst een naam naar een IPv6-adres | Hetzelfde als A, maar voor IPv6 |
| CNAME | Aliast één naam naar een andere naam, die vervolgens zelf wordt opgelost | www naar een rootdomein wijzen, of een subdomein naar een dienst van een derde partij |
| MX | Routeert mail voor het domein naar een mailserver, met een prioriteitswaarde | Andere mailservers vertellen waar ze mail voor jouw domein moeten afleveren |
| TXT | Bevat willekeurige tekst | Domeineigendom verifiëren, en e-mailauthenticatie (SPF, DKIM, DMARC) |
| NS | Delegeert een zone naar de nameservers die ervoor verantwoordelijk zijn | De rest van DNS vertellen welke servers antwoorden voor jouw domein |
| CAA | Bepaalt welke certificaatautoriteiten certificaten mogen uitgeven voor het domein | Beperken wie een TLS-certificaat mag uitgeven voor jouw naam |
A, AAAA en CNAME: een naam ergens naartoe wijzen
A- en AAAA-records zijn de meest directe vorm van DNS-record: een naam aan de ene kant, een IP-adres aan de andere. A wijst naar een IPv4-adres, AAAA naar een IPv6-adres, en een domein heeft vaak allebei, zodat het via beide protocollen bereikbaar is. Zie IPv4 vs. IPv6: heb je echt extra IPv4-adressen nodig voor het verschil tussen de twee adresfamilies zelf.
CNAME werkt anders: in plaats van naar een adres te wijzen, wijst het naar een andere naam, die vervolgens als eigen lookup wordt opgelost. Dat is handig wanneer het doel kan veranderen, of door iemand anders wordt beheerd, bijvoorbeeld als je een subdomein naar een elders gehoste dienst wijst. Een CNAME kan niet naast andere records op dezelfde naam bestaan, en dat is de belangrijkste praktische beperking om rekening mee te houden.
MX: mail routeren
MX-records vertellen andere mailservers waar ze mail voor jouw domein moeten afleveren. Elk MX-record heeft een prioriteitswaarde, waarbij lagere nummers de voorkeur krijgen, zodat een domein een primaire mailserver kan opgeven met een of meer fallbacks. Zonder MX-record heeft mail die naar het domein wordt gestuurd meestal nergens naartoe.
TXT: verificatie en e-mailauthenticatie
Een TXT-record bevat gewoon tekst, en DNS maakt niet uit wat die tekst zegt, en juist daarom wordt het voor zoveel verschillende doelen hergebruikt. De twee meest voorkomende zijn bewijzen dat je een domein beheert (een dienst vraagt je een specifieke TXT-waarde toe te voegen en controleert vervolgens of die er staat) en e-mailauthenticatie, waarbij SPF, DKIM en DMARC allemaal als TXT-record worden gepubliceerd. Zie E-mailauthenticatie: SPF, DKIM en DMARC uitgelegd voor wat die drie precies doen.
NS: de zone delegeren
Via NS-records komt DNS zelf te weten welke nameservers autoritatief zijn voor een domein. Ze staan meestal op twee plekken: bij de registry (zodat de keten vanaf de TLD weet waar lookups naartoe moeten) en in de zone zelf. NS-records verkeerd instellen bij de registry is een van de meest verstorende DNS-fouten, omdat daardoor het hele domein onbereikbaar kan worden in plaats van maar één record.
CAA: bepalen wie een certificaat mag uitgeven
CAA-records zijn een specifiekere, recentere toevoeging: ze laten een domeineigenaar bepalen welke certificaatautoriteiten een TLS-certificaat mogen uitgeven voor dat domein. Een CA hoort te controleren op een CAA-record voordat die uitgeeft, en moet weigeren als het record die CA niet vermeldt. Het vervangt niets anders uit dit rijtje, maar het dicht wel een gat: zonder CAA-record kan in principe elke publieke CA gevraagd worden een certificaat voor jouw naam uit te geven.
Reverse DNS: de lookup in de andere richting
Alles hierboven lost een naam op naar een adres. Reverse DNS doet het omgekeerde: bij een IP-adres levert het een naam. Het is een apart recordtype (een PTR-record) dat los van het forward A/AAAA-record wordt beheerd, en het is vooral belangrijk voor zaken als uitgaande mailservers, waar ontvangende mailservers vaak controleren of het verzendende IP-adres een zinnig reverse DNS-record heeft. Zie Reverse DNS (rDNS) bewerken om dit aan te passen op een Worldstream-IP.