Inhoud

DNS cursus

Inleiding

Het Domain Name System (DNS) protocol is een standaard voor het opzoeken van de adressen die bij een domeinnaam horen. Dit is enigzins vergelijkbaar met een telefoonboek, waarin op basis van de naam van een bedrijf of persoon het telefoonnummer opgezocht kan worden. In DNS termologie wordt het “telefoonboek” een “zonefile” genoemd, en staan hier zogenaamde “DNS records” in. Deze records bevatten informatie over de domeinnaam. Zo betekend het volgende record dat de webserver voor de website “wiki.je-eigen-domein.nl” het IP-adres 85.10.196.66 heeft:

wiki.je-eigen-domein.nl.  IN A  85.10.196.66

Daarnaast staat er ook andere informatie in de zonefile, zoals bij welke server de e-mail voor het domein afgeleverd moet worden.

Nameservers

De servers die gebruikt worden voor het beheren en opzoeken van de informatie, worden nameservers genoemd. DNS is een gedistribueert systeem. Dat wil zeggen dat niet alle gegevens van alle domeinen op een enkele nameserver te vinden zijn, maar dat elke nameserver slechts verantwoordelijk is voor een deel van de gegevens, en andere systemen geraadpleegt dienen te worden om een volledig antwoord te krijgen.

Op het moment dat een bezoeker de website “wiki.je-eigen-domein.nl” opvraagt, vinden er op de achtergrond de volgende oproepen plaats:

Het wijzigen van de nameservers

Klanten van je-eigen-domein.nl kunnen via de optie “nameservers wijzigen” in het beheerscherm de nameservers voor het domein wijzigen:

Hierbij dienen de namen van de nameservers opgegeven te worden. Er dienen altijd minimaal twee servers opgegeven te worden, bij voorkeur beiden op een andere lokatie, zodat indien een van de servers een storing heeft, de informatie van het domein nog steeds opvraagbaar is. Is dit niet het geval dan is niet alleen de website onbereikbaar, maar loopt u het risico dat e-mail die naar gebruikers van het domein verstuurd wordt, niet afgeleverd wordt en retour afzender gaat. Hoewel mailservers het later nog een keer zouden moeten proberen op het moment dat de nameservers van een domein allemaal niet bereikbaar zijn, doen ze dit in de praktijk namenlijk niet altijd.

Indien de naam van de nameservers onderdeel van het domein uitmaakt (bijv. “domein.nl” gebruikt nameserver “ns1.domein.nl”), dan dient er een vinkje bij “glue records” gezet te worden en tevens de IP-adressen van de servers opgegeven te worden.

Op het moment dat de nameservers aangepast worden, wordt de wijziging automatisch doorgegeven aan de instantie die verantwoordelijk is voor dat type domein. Wel kan het enkele dagen duren voordat deze de wijziging verwerkt heeft.

Het wijzigen van de DNS gegevens

Het is mogelijk om van de nameservers van je-eigen-domein.nl gebruik te maken, zodat u zelf niet voor eigen nameservers op verschillende lokaties hoeft te zorgen. Via de optie “DNS configureren” kunt u DNS records op deze servers aanmaken:


DNS records aanmaken


DNS records

Onder het “DNS configureren” scherm ziet u een overzicht van alle DNS records m.b.t. het domein, alsmede de mogelijkheid om records toe te voegen of aan te passen:

overzicht DNS records

Records kunnen op twee manieren geschreven worden:

Als subdomein:

www    IN CNAME  webfwd.je-eigen-domein.nl.

In dat geval wordt van “www” automatisch “www.456.eu” gemaakt. Of als een volledige domeinnaam, ook wel Full Qualified Domain Name (FQDN) genoemd:

www.456.eu.   IN  CNAME  webfwd.je-eigen-domein.nl.

Let op: volledige domeinnamen moeten altijd op een punt eindigen! Vergeet deze niet.

Doet u dat wel, en heeft u een record in de vorm van:

www.456.eu  IN  CNAME  webfwd.je-eigen-domein.nl

Dan maakt het systeem ervan: “www.456.eu.456.eu.” en “webfwd.je-eigen-domein.nl.456.eu.”

Er zijn verschillende type records. Een overzicht van de meest gebruikte vindt u hieronder.

SOA record

je-eigen-domein.nl klanten: het is normaal gesproken NIET nodig om de gegevens in dit record aan te passen.

456.eu.  3600    IN      SOA     ns1.je-eigen-domein.nl. hostmaster.je-eigen-domein.nl. 
2006040701 ; Serial
28800 ; Refresh
7200 ; Retry
604800 ; Expire 
3600 ; Minimum TTL

Elke nameserver die verantwoordelijk (authoritative) is voor een domein heeft een Start Of Authority record. Deze bevat de volgende informatie:

Moderne nameserver software maakt echter gebruik van andere methoden om de gegevens tussen de verschillende nameservers up-to-date te houden, en negeert deze velden.

A records

Met Adress records kan een subdomein aan een IP-adres gekoppeld worden. Wilt u het “www” subdomein aan een server met het IP-adres 1.2.3.4 koppelen dan ziet het record er als volgt uit:

www   IN  A  1.2.3.4

Wilt u het domein zelf (dus domein.nl, en niet www.domein.nl) aan het domein koppelen, dan vult u de naam van het domein gevolgd door een punt in:

domein.nl.  IN  A  1.2.3.4

Een “bijzonder geval” is “localhost” Om historische redenen dient elk domein een “localhost” record te hebben dat naar 127.0.0.1 wijst:

localhost  IN  A  127.0.0.1

CNAME records

Met een Canonical NAME record, kunt u een alias maken. Stel dat domein.nl, www.domein.nl en ftp.domein.nl allemaal naar dezelfde server met IP-adres 1.2.3.4 moeten verwijzen dan kunt u schrijven:

domein.nl.  IN A     1.2.3.4
www         IN CNAME domein.nl.
ftp         IN CNAME domein.nl.

Dit heeft het voordeel dat als de server ooit van IP-adres verandert, dit maar op 1 plaats aangepast hoeft te worden.

Er zitten een tweetal voorwaarden aan het gebruik van CNAME records:

domein.nl.  IN  CNAME hostname.domein.nl.

Wildcard records

Het is mogelijk alle subdomeinen zoals “www” en “ftp” apart te specificeren, maar als alle subdomeinen naar dezelfde server verwijzen is het ook mogelijk een wildcard record aan te maken:

*   IN   A  1.2.3.4

Dit zorgt ervoor dat alle SUBdomeinen aan de server met IP-adres 1.2.3.4 gekoppeld worden. Indien het domein zelf ook gekoppeld moet worden kan het volgende opgegeven worden:

domein.nl.   IN A     1.2.3.4
*            IN CNAME domein.nl.

NS records

je-eigen-domein.nl klanten: het is normaal gesproken NIET nodig om de gegevens in deze records aan te passen.

domein.nl.   IN  NS ns1.je-eigen-domein.nl.
domein.nl.   IN  NS ns2.je-eigen-domein.nl.
domein.nl.   IN  NS ns3.je-eigen-domein.nl.

Voor elk nameserver die verantwoordelijk is voor het domein dient een Name Server record aangemaakt te worden.

MX records

Met Mail eXchanger records kan ingesteld worden waar de e-mail voor het domein afgeleverd moet worden:

domein.nl.   IN  MX  0 mx1.je-eigen-domein.nl.
domein.nl.   IN  MX  100 mx2.je-eigen-domein.nl.

Het is mogelijk meerdere mailservers op te geven. Mailservers met een LAAG prioriteitsnummer dienen het EERST te worden geprobeert. Alleen als het niet lukt om verbinding te krijgen met de mailserver met het laagste nummer, dienen de andere servers te worden gebruikt. Is het prioriteitsnummer gelijk, dan worden de mailservers in willekeurige volgorde gebruikt.

Caching en TTL

Op het moment dat u DNS gegevens wijzigt kan het enige tijd duren voordat al de bezoekers van het domein de nieuwe gegevens gebruiken. De gegevens worden namenlijk op meerdere plaatsen gecached. Dit kan door de nameserver van de provider van de bezoeker gebeuren, maar ook het besturingssysteem van de computer van de bezoeker, zijn webbrowser en zelfs sommige ADSL routers slaan de gegevens enige tijd op.

De tijd dat dat records mogen worden opgeslagen, is de zogenaamde Time To Live. Deze waarde kunt u zelf instellen. Heeft u bijvoorbeeld het record:

www   3600   IN  A  1.2.3.4

Dan bedraagt de TTL 3600 seconden. De gegevens mogen dan 1 uur lang gecached worden. Na 1 uur dient de nameserver opnieuw geraadpleegt te worden om te vragen of de gegevens nog steeds juist zijn.

Houd er echter rekening mee dat niet elk systeem zich aan de opgegeven waarde houdt. Zo kan het voorkomen dat als u een IP-adres verandert, ook enkele dagen nadat de gegevens aangepast zijn, er nog steeds bezoekers zijn die bij het oude adres uitkomen. Hier valt helaas weinig aan te doen.

Ook als een record wordt opgevraagd dat (nog) niet bestaat, omdat u bijvoorbeeld vergeten bent een subdomein aan te maken, wordt het negatieve antwoord gecached. De tijd dat een negatief antwoord gecached mag worden kan in het SOA record ingesteld worden (minimum TTL).