Een CNAME-record zegt: deze naam is een alias, vraag maar naar die andere naam. Zo kan shop.example.com een gehoste winkeldienst volgen zonder dat jij ooit het IP-adres kent, ook als dat adres verandert.
Hoe het werkt
De resolver vraagt om shop.example.com, vindt een CNAME naar shops.example.net en herhaalt de opzoeking voor die naam. Welk recordtype er ook gevraagd werd, het antwoord komt van het doel. Het doel kan weer een CNAME zijn, maar lange ketens kosten opzoekingen. Houd ze kort.
Het doel is een naam, geen adres
De inhoud van een CNAME is een hostnaam. DNSense weigert een IP-adres met "expects a hostname, not an IP address". Heb je een adres, dan wil je een A- of AAAA-record.
Twee regels waar mensen over struikelen
Een naam met een CNAME kan geen ander record hebben. Geen A, geen MX, geen TXT ernaast. De CNAME zegt dat de hele naam een alias is, dus al het andere zou dat tegenspreken. Een TXT-record voor domeinverificatie toevoegen op een naam die al een CNAME heeft is de klassieke manier om hier tegenaan te lopen.
De root van het domein kan geen CNAME zijn. De apex draagt altijd NS- en SOA-records, dus een CNAME daar zou de eerste regel breken. Zegt een dienst dat je example.com naar een hostnaam moet laten wijzen, gebruik dan www als CNAME en stuur het kale domein door, of kijk of je DNS-provider CNAME-flattening of een ALIAS-record biedt. Cloudflare flattent apex-CNAME's automatisch. Niet elke provider doet dat.
Mail en CNAME
Een MX-record moet naar een naam met adresrecords wijzen, niet naar een CNAME. Mail naar een alias sturen werkt bij sommige servers en mislukt bij andere. Gebruik de echte hostnaam.
Toevoegen in DNSense
Klik op Create record, kies CNAME, vul de naam (shop) en de doelhostnaam (shops.example.net) in. Een punt aan het eind mag. Het formulier heeft ook een snelle invulling www to apex voor het meest voorkomende geval.
Filter je de zone op CNAME, dan zie je alle aliassen tegelijk. Handig als je vermoedt dat een ervan een ander record overschaduwt.
Een wildcard-CNAME zoals *.example.com vangt elke naam zonder eigen record op. Handig voor een platform dat subdomeinen van klanten bedient. Wees voorzichtig: hij vangt ook typefouten op.