✦ Oplossingen · DNS en domeinnaam

CNAME-fout op het hoofddomein: ‘CNAME and other data’

Een CNAME op het hoofddomein mag niet naast SOA, NS en MX staan. Lees waarom je ‘CNAME and other data’ krijgt en wanneer je een A-record of ALIAS gebruikt.

Zo ziet de foutmelding eruit

  • CNAME and other data
  • voorbeeld.nl: CNAME and other data
  • A CNAME record cannot coexist with other records

Waarom gebeurt dit?

Een CNAME zegt: ‘deze naam is een alias van die andere naam, kijk daar voor alle gegevens’. Daarom mag er op een naam met een CNAME geen enkel ander record staan. Zou dat wel mogen, dan is niet duidelijk of een resolver het eigen record of dat van de alias moet gebruiken. DNS-servers weigeren zo’n combinatie dan ook; in zonebestanden geeft dat de foutmelding CNAME and other data.

Het hoofddomein (ook wel apex of root, de naam voorbeeld.nl zonder voorvoegsel, in beheerpanelen vaak @) heeft altijd een SOA-record en NS-records, en meestal MX- en TXT-records. Een CNAME op het hoofddomein botst dus altijd met die records. Daardoor weigert je DNS-beheer het, of, als een paneel het toch toelaat, gaan je mail, verificaties of zelfs het hele domein kapot.

Je loopt hier vaak tegen aan als een websitebouwer, webshopplatform of CDN vraagt om je domein met een CNAME naar hun hostnaam te laten wijzen. Voor een subdomein als www is dat prima. Voor het hoofddomein heb je een andere oplossing nodig: een A-record naar het IP-adres dat de dienst opgeeft, of een ALIAS-, ANAME- of ‘CNAME flattening’-functie als je DNS-aanbieder die heeft.

Zo herken je dit probleem

  • Je DNS-beheer weigert een CNAME op @ met een melding dat er al andere records bestaan.
  • Een zonebestand geeft bij het laden of controleren de melding CNAME and other data.
  • Na het toevoegen van een CNAME op het hoofddomein werkt de mail niet meer: de MX-records worden genegeerd of zijn verwijderd.
  • Werkt het hoofddomein of juist www niet, maar is er geen CNAME-fout, kijk dan bij www werkt niet zonder www.

Zo los je het op, stap voor stap

Menunamen kunnen per versie of toestel iets anders heten. Loop de stappen op volgorde af en stop zodra het werkt.

  1. Kijk wat er op het hoofddomein staat

    Vraag de records van het hoofddomein op. Je ziet hier welke records de CNAME in de weg zitten. Staat er al een CNAME op het hoofddomein, dan geeft dig die terug in plaats van het SOA- of MX-record, en dan is je zone kapot.

    dig voorbeeld.nl SOA +short
    dig voorbeeld.nl NS +short
    dig voorbeeld.nl MX +short
    dig voorbeeld.nl CNAME +short
  2. Gebruik een A-record op het hoofddomein

    De meeste diensten geven naast de CNAME-hostnaam ook een of meer IP-adressen op voor het hoofddomein. Zet die in een A-record (en eventueel een AAAA-record voor IPv6) op @. Dat mag wel naast SOA, NS, MX en TXT. Vind je geen IP-adres in de handleiding van de dienst, vraag er dan naar; een IP-adres zelf opzoeken met dig op hun hostnaam is af te raden, omdat dat adres kan veranderen.

    @    3600  IN  A      203.0.113.10
    @    3600  IN  MX     10 mail.voorbeeld.nl.
    @    3600  IN  TXT    "v=spf1 include:spf.mailprovider.example ~all"
  3. Gebruik ALIAS, ANAME of flattening als je aanbieder dat heeft

    Sommige DNS-aanbieders hebben een recordtype dat zich gedraagt als CNAME maar naar buiten toe A- en AAAA-records teruggeeft, zodat het naast andere records op het hoofddomein kan staan. Dat heet bijvoorbeeld ALIAS of ANAME, en bij Cloudflare ‘CNAME flattening’. Het is geen standaard DNS-recordtype maar een functie van de aanbieder: vraag je domeinbeheerder of registrar of die het ondersteunt. Zo niet, gebruik dan een A-record.

  4. Zet www als CNAME

    Voor www is een CNAME juist handig: wijzig je later het IP-adres van het hoofddomein, dan volgt www vanzelf. Laat www naar het hoofddomein wijzen, of naar de hostnaam die de dienst opgeeft. Zorg dat er op www verder geen andere records staan.

    www  3600  IN  CNAME  voorbeeld.nl.
    
    ; of naar de dienst
    www  3600  IN  CNAME  sites.platform.example.
  5. Laat geen CNAME onder je mailnamen staan

    Een MX-record mag niet naar een naam met een CNAME wijzen, en op een naam met een CNAME kun je geen MX-, SPF- of DMARC-record zetten. Gebruik dus geen CNAME voor een naam die ook voor mail wordt gebruikt. Uitzondering: DKIM-records van sommige mailproviders zijn bewust een CNAME op selector._domainkey; daar staan geen andere records naast. Meer over mailrecords bij MX-record instellen.

  6. Verwijs het hoofddomein door naar www

    Wil je dat bezoekers altijd op de dienst achter www uitkomen, dan kun je het hoofddomein met een A-record naar een webserver laten wijzen die alleen een doorverwijzing (301) naar https://www.voorbeeld.nl/ geeft. Veel domeinbeheerders bieden zo’n doorverwijzing aan; let op dat die ook HTTPS met een geldig certificaat ondersteunt. Zie www werkt niet zonder www.

  7. Controleer het resultaat

    Vraag na de wijziging opnieuw de records op, bij voorkeur rechtstreeks bij je eigen nameserver. Het hoofddomein moet nu een A-record (of het antwoord van ALIAS of flattening) én je MX- en TXT-records geven. Test daarna de website op beide adressen en stuur een testmail naar het domein.

    dig voorbeeld.nl A +short
    dig voorbeeld.nl MX +short
    dig www.voorbeeld.nl +short

Let op: Voer een CNAME op het hoofddomein niet ‘toch’ in als een paneel dat toelaat. Je MX-, TXT- en zelfs NS-gegevens kunnen daardoor genegeerd worden, waardoor mail en verificaties stoppen.

Wanneer schakel je hulp in?

  • Een websitebouwer of webshopplatform vraagt een CNAME op het hoofddomein en je DNS-beheer weigert het.
  • Na het toevoegen van een CNAME werkt de mail of het hele domein niet meer.
  • Je weet niet of je aanbieder ALIAS of flattening heeft, of hoe je een doorverwijzing met HTTPS regelt.
  • Je wilt de website op een externe dienst en de mail ergens anders laten draaien zonder dat ze elkaar raken.

Lukt het niet? Wij helpen

Kom je er met deze stappen niet uit, of wil je het liever niet zelf doen? We kijken online mee of komen langs. Hulp op afstand kost €20 per uur; komen we langs, dan is de prijs op aanvraag. Je weet vooraf waar je aan toe bent.

Aanvraag

Hulp aanvragen

Schrijf kort wat er misgaat en wat je al hebt geprobeerd. Kies of we bellen, online meekijken of langskomen.

Veelgestelde vragen

Vragen over dit probleem

Waarom mag een CNAME niet op het hoofddomein?

Een CNAME mag niet naast andere records staan, en het hoofddomein heeft altijd een SOA- en NS-records, en meestal ook MX en TXT. Ze zouden dus altijd botsen.

Wat is het verschil tussen een CNAME en een ALIAS?

Een CNAME is een standaardrecord dat naar een andere naam verwijst. Een ALIAS of ANAME is een functie van sommige DNS-aanbieders die het doel opzoekt en als A-record teruggeeft, zodat het wel op het hoofddomein kan.

Mag www wel een CNAME zijn?

Ja, zolang er op www geen andere records staan. Laat hem wijzen naar het hoofddomein of naar de hostnaam van de dienst.

Wat betekent ‘CNAME and other data’?

Dat er op dezelfde naam zowel een CNAME als een ander record staat. Verwijder de CNAME of de andere records; op het hoofddomein gebruik je in plaats van de CNAME een A-record.