✦ Oplossingen · DNS en domeinnaam

DNS-records wijzigen: A, AAAA, CNAME, TXT en MX zonder fouten

Zo wijzig je DNS-records veilig: wat A, AAAA, CNAME, TXT en MX doen, wat je beter laat staan en bekende fouten met @, de punt aan het eind en dubbele records.

Zo ziet de foutmelding eruit

  • CNAME and other data
  • Non-existent domain
  • NXDOMAIN
  • DNS_PROBE_FINISHED_NXDOMAIN

Waarom gebeurt dit?

DNS-records zijn de regels in de zone van je domein: het overzicht dat zegt waar je website staat, waar je mail heen moet en welke diensten je domein mogen gebruiken. Je wijzigt ze in het DNS-beheer bij de partij waar je nameservers staan. Dat is niet altijd dezelfde partij als waar je website of mail draait. Kijk bij twijfel met dig NS voorbeeld.nl +short welke nameservers je domein gebruikt; alleen daar heeft een wijziging effect.

De belangrijkste soorten: een A-record koppelt een naam aan een IPv4-adres (bijvoorbeeld de webserver), een AAAA-record aan een IPv6-adres, een CNAME maakt een naam een alias van een andere naam, een TXT-record bevat tekst, bijvoorbeeld voor SPF, DKIM, DMARC of een verificatiecode, en een MX-record zegt welke server de mail voor het domein ontvangt.

De meeste storingen na een DNS-wijziging komen niet door de wijziging zelf, maar door wat er per ongeluk mee veranderde: een MX-record dat werd weggehaald, een AAAA-record dat nog naar de oude server wijst, een tweede SPF-record naast het eerste, of een naam die dubbel werd ingevuld zodat er www.voorbeeld.nl.voorbeeld.nl ontstond.

Zo herken je dit probleem

  • Na een wijziging werkt de site of mail niet meer, of maar voor een deel van de bezoekers.
  • De site werkt via IPv4 wel maar sommige bezoekers komen op de oude server: dan wijst een AAAA-record nog naar het oude adres.
  • Je DNS-beheer weigert een record met een melding als ‘CNAME and other data’: zie CNAME-fout op het hoofddomein.
  • Is de wijziging goed maar nog niet overal zichtbaar, dan is het een kwestie van caches: zie DNS-wijziging duurt lang.

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. Leg de huidige records vast

    Maak vóór je iets wijzigt een schermafbeelding of export van alle records. Zo kun je altijd terug. Je kunt ook vanaf de command line een overzicht maken van de belangrijkste records; een complete lijst krijg je alleen in je DNS-beheer, omdat DNS-servers meestal niet de hele zone teruggeven. De domeincheck en de Mail-DNS-check geven ook een snel beeld.

    dig voorbeeld.nl A +short
    dig voorbeeld.nl AAAA +short
    dig www.voorbeeld.nl +short
    dig voorbeeld.nl MX +short
    dig voorbeeld.nl TXT +short
  2. Begrijp @, de naam en de punt aan het eind

    In de meeste beheerpanelen staat @ voor het hoofddomein zelf (voorbeeld.nl), en vul je bij een subdomein alleen het eerste deel in, bijvoorbeeld www. Typ je daar www.voorbeeld.nl, dan plakt het paneel er soms het domein nog eens achter. In zonebestanden en sommige panelen betekent een punt aan het eind (mail.voorbeeld.nl.) dat de naam compleet is; zonder punt wordt het domein eraan vastgeplakt. Kijk na het opslaan altijd welke volledige naam er staat.

    ; zonebestand: met punt = volledige naam
    @      3600  IN  A      203.0.113.10
    www    3600  IN  CNAME  voorbeeld.nl.
    @      3600  IN  MX     10 mail.voorbeeld.nl.
    
    ; fout: zonder punt wordt dit mail.voorbeeld.nl.voorbeeld.nl
    @      3600  IN  MX     10 mail.voorbeeld.nl
  3. Wijzig alleen wat nodig is

    Verhuis je de website, dan wijzig je de A- en AAAA-records van @ en www, en verder niets. Laat MX-records, het SPF-record, DKIM-records (…._domainkey), het DMARC-record (_dmarc) en verificatierecords van andere diensten met rust, tenzij je precies weet waarvoor ze zijn. Een TXT-record met een onbekende code is vaak een verificatie van een dienst die stopt met werken als hij verdwijnt.

  4. Vergeet het AAAA-record niet

    Heeft je domein een AAAA-record (IPv6), dan gebruiken bezoekers met IPv6 dat adres meestal eerst. Wijzig je alleen het A-record, dan komt een deel van je bezoekers nog steeds op de oude server, of krijgt een time-out als die uit staat. Zet het AAAA-record op het IPv6-adres van de nieuwe server, of verwijder het als de nieuwe server geen IPv6 heeft.

    dig voorbeeld.nl AAAA +short
    dig www.voorbeeld.nl AAAA +short
  5. Voorkom dubbele records

    Voor A-records mag je meerdere waarden hebben, maar dan worden ze om en om gebruikt: laat je het oude IP-adres staan naast het nieuwe, dan komt een deel van de bezoekers op de oude server. Voeg dus niet toe, maar vervang. Voor SPF mag er maar één TXT-record met v=spf1 zijn: zie SPF-record fout. En een CNAME mag nooit naast andere records op dezelfde naam staan.

  6. Let op TTL en volgorde

    Zet ruim vóór een geplande wijziging de TTL van de betreffende records laag, bijvoorbeeld 300 seconden, zodat de wijziging snel doorkomt en je snel terug kunt. Wijzig daarna het record en zet de TTL later weer hoger. Plan een wijziging aan mailrecords op een rustig moment en houd de oude mailserver nog even bereikbaar.

  7. Controleer de wijziging bij de bron

    Vraag het record na het opslaan rechtstreeks op bij je eigen nameserver, zodat je niet naar een cache kijkt. Zie je daar het nieuwe antwoord, dan staat de zone goed. Test daarna de site met en zonder www, en stuur een testmail naar en vanaf het domein.

    dig NS voorbeeld.nl +short
    dig @ns1.voorbeeld-dns.nl voorbeeld.nl A
    dig @ns1.voorbeeld-dns.nl voorbeeld.nl MX

Let op: Verwijder nooit een MX-record of TXT-record ‘om op te ruimen’ zonder te weten waar het voor dient. Een verdwenen MX-record betekent dat er geen mail meer binnenkomt; een verdwenen SPF- of DKIM-record dat je mail in spam belandt.

Welk record gebruik je waarvoor?

Een kort overzicht van de records die je het vaakst tegenkomt.

  • A: naam naar IPv4-adres, bijvoorbeeld @ en www naar je webserver.
  • AAAA: naam naar IPv6-adres; moet naar dezelfde server wijzen als het A-record.
  • CNAME: naam als alias van een andere naam, bijvoorbeeld www naar voorbeeld.nl. Niet op het hoofddomein.
  • MX: welke server de mail ontvangt, met een prioriteit. Zie MX-record instellen.
  • TXT: tekst voor SPF, DKIM, DMARC en verificaties van diensten.
  • NS: welke nameservers de zone beheren. Die wijzig je meestal niet in de zone zelf maar bij je domeinbeheerder: zie nameservers wijzigen.

Wanneer schakel je hulp in?

  • Je weet niet welke records bij welke dienst horen en wilt niets kapotmaken.
  • Na een wijziging komt er geen mail meer binnen of gaat uitgaande mail naar spam.
  • Je moet records omzetten voor een verhuizing van website en mail tegelijk.
  • Het DNS-beheer weigert je wijziging met een foutmelding die je niet begrijpt.

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

Wat betekent @ in DNS-beheer?

Het apenstaartje staat voor het hoofddomein zelf, dus voorbeeld.nl zonder voorvoegsel. Voor www.voorbeeld.nl vul je alleen www in.

Moet ik een punt achter de naam zetten?

In een zonebestand wel als je de volledige naam bedoelt. In veel beheerpanelen niet; kijk na het opslaan welke volledige naam er staat.

Waarom werkt mijn site voor sommige bezoekers nog op de oude server?

Vaak wijst een AAAA-record nog naar de oude server, of staat het oude IP-adres als tweede A-record. Soms is het ook nog een cache die moet verlopen.

Gaat mijn mail kapot als ik het A-record wijzig?

Normaal niet, zolang de MX-records niet naar een naam wijzen die via datzelfde A-record op de oude server uitkwam. Controleer met dig voorbeeld.nl MX +short waar je MX naar wijst.