Het internet draait op code. Het is een wilde, chaotische plek die bij elkaar wordt gehouden door normen die we nauwelijks opmerken. Centraal in dit alles staat DNS.

Mensen zeggen vaak ‘Domeinnaamserver’. Dat is verkeerd. Het staat voor Domain Name System. Het is een protocol binnen de TCP/IP-suite. Zijn taak is eenvoudig maar enorm. Het converteert voor mensen leesbare namen zoals ‘howstuffworks.com’ naar Internet Protocol (IP)-adressen. Computers lezen geen woorden. Ze lezen cijfers. 70.42.251.42 is hoe een machine zijn vriend op het netwerk vindt.

Beschouw DNS als het telefoonboek voor internet. Zonder dit zou u reeksen getallen moeten onthouden om een ​​site te bezoeken. Je zou uit het hoofd door virtuele vlaktes en dichte datasteden navigeren. Er bestaan ​​nu honderden miljoenen domeinen. Veel succes met het onthouden ervan.

Zonder DNS-servers wordt het internet afgesloten. Maar hoe weet uw apparaat welke server het moet vragen? Wanneer u verbinding maakt met Wi-Fi of uw ISP, overhandigt uw router of modem u configuratiegegevens. Dit omvat de DNS-servers die uw apparaat voor vertaling moet gebruiken.

We hebben de basis besproken. Nu komen we in de mechanica. In het bijzonder hoe IP-adressen zijn gestructureerd en waarom dat van belang is voor de naamomzetting.

IP-adresstructuren en resolutie begrijpen

Een DNS-server vertaalt een domeinnaam naar een IP-adres. Klinkt gemakkelijk. Dat is het niet.

  • Miljarden IP-adressen zijn in gebruik.
  • De meeste machines hebben voor mensen leesbare namen.
  • DNS-servers verwerken miljarden zoekopdrachten tegelijkertijd.
  • Miljoenen domeinen veranderen elke dag.

Om deze last aan te kunnen, vertrouwt DNS op strikte efficiëntie. De Internet Assigned Numbers Authority (IANA) beheert de standaarden. Elke machine heeft een uniek adres nodig in IPv4 of IPv6.

Zo kun je ze herkennen:

  • IPv4 : vier cijfers gescheiden door punten. Voorbeeld: 70.74.251.42.
  • IPv6 : Acht hexadecimale groepen gescheiden door dubbele punten. Voorbeeld: 2001:0cb8:85a3:0000:0000:8a2e:0370:7334.

IPv6 is nieuwer. We houden het voorlopig bij het gebruikelijke IPv4.

Elk getal in een IPv4-adres is een octet. Het vertegenwoordigt een binair getal van 8 bits. Neem het getal 42. In binair getal is dat 00101010. Elk cijfer komt overeen met een macht van twee. Tel de waarden op voor de bits die aan staan. 2 + 8 + 32 = 42.

Er zijn slechts 256 mogelijkheden voor elk octet. Nul tot en met 255.

Sommige adressen zijn gereserveerd. IANA wijst ze aan voor specifieke taken. 127.0.0.1 is het loopback-adres. Het identificeert de computer die u gebruikt. Praten met 127.0.0.1 is gewoon tegen jezelf praten.

Webservers hebben consistentie nodig. Ze gebruiken statische IP-adressen. Aan de netwerkinterface van dat systeem wordt altijd hetzelfde adres toegewezen. Om dit te garanderen, koppelt IP het adres aan het Media Access Control (MAC)-adres. Het MAC-adres wordt door de fabrikant in de hardware gebrand. Het is uniek. Elke bekabelde of draadloze interface heeft er één.

Laten we nu eens naar de andere kant van de vergelijking kijken. Domeinnamen. Maar eerst: waar verbergt u uw eigen IP-adres?

Hoe u uw IP-adres op elk apparaat kunt vinden

Uw adres verandert periodiek, tenzij u een statisch IP-adres instelt. Dat is zeldzaam voor thuisgebruikers. Hier leest u hoe u het nu kunt vinden.

  • Windows : Open de opdrachtprompt. Typ ‘ipconfig’. Druk op Enter. Zoek naar het IPv4-adres.
  • Mac : ga naar Systeemvoorkeuren. Klik op Netwerk. Selecteer uw actieve verbinding (groene stip). Klik op Geavanceerd. Ga naar het tabblad TCP/IP.
  • Linux of UNIX : Open een terminal zoals XTERM of iTerm. Typ ‘ifconfig’. Zoek naar ‘inet addr’.
  • Smartphones : controleer uw netwerkinstellingen in het besturingssysteem. Het verschilt per telefoon en versie.

Als u zich op een thuisnetwerk bevindt, ziet u waarschijnlijk 192.168.x.x, 172.16.x.x of 10.x.x.x. De x is een getal tussen 0 en 255. Dit zijn gereserveerde privéadressen. Uw router gebruikt ze om u met het bredere internet te verbinden.

Dat is de lokale kant. De volgende stap is het begrijpen van de domeinnamen zelf.

Hoe domeinnamen eigenlijk werken

Het onthouden van IP-adressen is een verloren strijd. Je brein is niet bedraad om willekeurige reeksen cijfers vast te houden, maar houdt wel van woorden. Dat is het hele punt van domeinnamen. Je hebt er al honderden in je hoofd opgeslagen.

  • google.com — de reus die iedereen gebruikt
  • mit.edu — beperkt tot onderwijs
  • bbc.co.uk — een geneste landcodestructuur

Je ziet de puntjes. Je kent het patroon. Het laatste deel van dat adres is het topniveaudomein (TLD). IANA beheert deze in de Root Zone Database. Er zijn er nu meer dan 1.000. De meeste zijn wijd open. Sommigen zijn opgesloten.

  • COM, NET, ORG — iedereen kan deze pakken. Oorspronkelijk bedoeld voor commercieel, netwerk- en non-profitgebruik. Nu? Gewoon etiketten.
  • EDU, MIL, GOV — beperkt. Je kunt niet zomaar een .edu-adres kopen, tenzij je daadwerkelijk een school bent.
  • .UK, .US, .RU — landcodes. Beheerd door lokale autoriteiten.

Door woorden toe te voegen vóór de TLD ontstaat hiërarchie. Elke stip scheidt een niveau. “howstuffworks” bevindt zich als een domein op het tweede niveau onder .com. Die structuur verwijst naar specifieke servers.

Neem bbc.co.uk. Het is niet zomaar een domein. Het is een subdomein onder .co, dat zelf onder .uk staat. Het is een genest archiefsysteem voor internet.

Het woord uiterst links? Dat is de hostnaam. Meestal www of mail. Het vertelt het systeem precies welke machine u wilt. Eén domein kan miljoenen unieke hostnamen hosten. Zolang ze niet botsen, zit je goed.

Dan is er het voorvoegsel. HTTP. Protocol voor hypertekstoverdracht. Het is de handdruk tussen uw browser en de server. Maar je zult het zelden meer zien. Je ziet HTTPS. De ‘S’ betekent veilig. Encryptie staat aan. Uw creditcardnummer blijft privé. Als u geen HTTPS gebruikt, schreeuwt u uw gegevens via een open kanaal.

Wanneer u een domein registreert, moet u het ergens naartoe verwijzen. Concreet heeft u naamservers nodig. Deze DNS-servers hebben de autoriteit voor uw domein. Ze weten waar www.uwsite.com zich bevindt. Meestal regelt uw hostingprovider dit. Ze hebben de DNS-infrastructuur gereed voor gebruik.

Hoe DNS-servers verkeer routeren

Hier gebeurt de magie. Of de hoofdpijn, als die breekt.

DNS is niet één grote computer. Het is een gedistribueerd systeem. Een hiërarchie van servers die samenwerken. Als er één faalt, pakken de anderen de achterstand op. Het is ontworpen om veerkrachtig te zijn. Maar het is ook complex.

Wanneer u een URL typt, raadt uw computer niet alleen het IP-adres. Het vraagt.

Eerst controleert het zijn eigen cache. Heeft hij die site gisteren bezocht? Geweldig. Het kent het IP al. Het is niet nodig om iemand anders lastig te vallen. Snelheid is belangrijk. Latency doodt de gebruikerservaring.

Als de cache leeg is, wordt er aan de resolver gevraagd. Dit wordt meestal geleverd door uw ISP of een openbare dienst zoals Cloudflare of Google. De solver doet het zware werk. Het heeft het antwoord nog niet, maar het weet waar het moet zoeken.

Het begint bovenaan. De rootservers. Er zijn 13 logische clusters, verspreid over de hele wereld. Ze kennen het IP-adres van uw site niet. Ze weten wie .com beheert. Ze verwijzen de solver naar de .com TLD-servers.

De TLD-servers weten wie de eigenaar is van uw specifieke domein. Ze verwijzen de solver naar uw gezaghebbende naamservers. Dit zijn de domeinen die u heeft geconfigureerd toen u het domein registreerde. Zij zijn houder van het daadwerkelijke record. Het A-record. Het IP-adres.

De oplosser pakt dat IP-adres. Het stuurt het terug naar uw computer. Uw browser maakt verbinding. De pagina wordt geladen.

Dit alles gebeurt in milliseconden. Je ziet de handdrukken niet. Je ziet de zoekopdrachten niet heen en weer springen tussen root-, TLD- en gezaghebbende servers. Je ziet gewoon een pagina.

Maar als een stap mislukt? Je krijgt een foutmelding. “DNS_PROBE_FINISHED_NO_INTERNET”. Frustrerend. Omdat het probleem niet uw verbinding is. Het is het adresboek.

Deze gedistribueerde aard zorgt ervoor dat het internet niet instort. Geen enkel punt van mislukking. Maar het betekent ook dat een verkeerde configuratie eenvoudig is. Eén typefout in uw DNS-instellingen en uw site verdwijnt. Niet offline. Gewoon onvindbaar.

Het systeem vertrouwt op nauwkeurigheid. En redundantie. Als uw gezaghebbende server uitvalt, maar u heeft secundaire servers ingesteld, blijft het verkeer stromen. Als je dat niet doet? Stilte.

Het begrijpen van deze stroom helpt als er iets kapot gaat. Het is geen magie. Het is een opzoektabel. Een hele grote, echt gedistribueerde opzoektabel.

Wat een DNS-server feitelijk doet op uw netwerk

De schaal is onthutsend. DNS-servers verwerken meer zoekopdrachten dan welke andere database ter wereld dan ook. Ze verwerken miljarden zoekopdrachten en absorberen tegelijkertijd elke dag updates van miljoenen mensen. Maar ondanks dat het over miljoenen machines verspreid is en door talloze verschillende teams wordt beheerd, gedraagt ​​het systeem zich als één verenigd brein.

Het is een wonder van gedistribueerde engineering.

De meeste mensen behandelen DNS als een zwarte doos. Je overhandigt de sleutels van IT en hoopt er het beste van. Maar u hoeft geen netwerkingenieur te zijn om dit effectief te kunnen beheren. Je hoeft alleen maar de functiebeschrijving te begrijpen.

Niet elke DNS-server doet hetzelfde. In feite zijn er twee hoofdrollen. Als u weet welke van toepassing is op uw installatie, verandert de manier waarop u problemen oplost en dingen configureert.

De caching-oplosser

Deze server bevindt zich op uw lokale netwerk. Het is niet zijn belangrijkste taak om alles te weten. Het is om te onthouden wat het vaak opzoekt. Het houdt een kleine, lokale database bij van de domeinnamen en IP-adressen die uw netwerk het vaakst gebruikt.

Voor iets anders? Het delegeert. Het vraagt ​​andere DNS-servers op internet om het antwoord. Dit versnelt het browsen voor iedereen op dat netwerk. U vraagt ​​niet voor elk tabblad dat u opent een rootserver op een ander continent op. Je raakt een lokale cache.

De gezaghebbende naamserver

Deze server bevat het hoofdrecord. Het koppelt IP-adressen aan elke host en subdomein waarover het autoriteit heeft.

Er is hier geen delegatie voor de eigen zones. Als u eigenaar bent van het domein, is deze server de bron van de waarheid. Het vertelt de rest van het internet precies waar uw website, mailserver of API-eindpunt zich bevindt.

Eén fungeert als een snelkoppeling. De ander fungeert als bron.

Het verwarren van deze twee is waar de meeste hoofdpijn begint. U kunt geen records in de cache opslaan waarvoor u geen bevoegdheid heeft, en u kunt niet gezaghebbend zijn voor een domein waarover u geen controle heeft.

Waarom is dit onderscheid van belang? Omdat beveiligings- en prestatieaanpassingen volledig afhankelijk zijn van de rol die uw server speelt. Een oplosser heeft een robuust cachingbeleid nodig. Een gezaghebbende server heeft strikt zonebestandsbeheer nodig.

Dus, welke gebruik je? Of rijd je beide? Het is gebruikelijk dat één enkele machine beide taken uitvoert in kleinere opstellingen. Dat is prima. Houd er rekening mee dat het logisch gescheiden functies zijn.

Als u deze splitsing begrijpt, voelt de rest van het DNS-beheer minder als magie en meer als logica.

Hoe uw ISP DNS-lookups afhandelt

Uw internetprovider vormt de eerste verdedigingslinie. Of belediging. Afhankelijk van hoe je hun knijpgedrag bekijkt. Wanneer u verbinding maakt, geeft DHCP u automatisch het DNS-serveradres. Je vraagt ​​er niet om. Het gebeurt gewoon.

De ISP-server werkt als een luie bibliothecaris.

  • Het controleert zijn eigen schappen. Als het het IP-adres voor dat domein heeft, geeft het het aan u. Klaar.
  • Als de plank leeg is, belt hij een andere server. Het kan drie of vier op rij zijn.
  • Het onthoudt het antwoord. Caching houdt toekomstige verzoeken snel.
  • Als het het na het zoeken niet kan vinden, geeft het een foutmelding. “Domein niet gevonden.”

Eenvoudig genoeg. Maar dat is slechts de kant van de aanvrager.

Wie daadwerkelijk eigenaar is van de domeingegevens

De tweede groep servers is belangrijker als je iets publiceert. Dit zijn degenen die zijn gekoppeld aan uw webhost of e-mailprovider. U hoeft geen serverbeheerder te zijn om ze te gebruiken. Hostingpanelen zorgen ervoor dat het klik-en-klaar is.

De specifieke server die de waarheid voor uw domein bevat, wordt de start of Authority (SOA) genoemd. Het is de baas. Wanneer de SOA een record bijwerkt, komt die verandering tot uiting. Het verspreidt zich naar andere DNS-servers, die het doorgeven aan anderen, en verspreidt zich als een gerucht over het internet.

De SOA is de enige bron van waarheid. Al het overige is slechts een kopie.

De rootservers en de hiërarchie

Bovenaan bevinden zich de root-naamservers. Zij beheren de topniveaudomeinen zoals .com of .org. Er zijn er honderden. Je praat zelden rechtstreeks met ze. Uw ISP stopt meestal op het TLD-niveau.

Maar als de ketting breekt? Als de ISP het opgeeft? Het systeem kan terugvallen naar de wortel. Het is een laatste redmiddel. Een veiligheidsnet. Het helpt bij het opsporen van de juiste SOA als het pad verloren gaat.

Uw domeinautoriteit configureren

Nu zie je het web. Hoe het met elkaar samenhangt. Waarom het snel is. Waarom het soms niet lukt.

De volgende stap is jezelf opwerpen als autoriteit. Je leest niet alleen meer de kaart. Je tekent het.

Uw domeinrecords configureren

Je hebt een naam gevonden. Het is beschikbaar. Jij hebt het geregistreerd. Wat nu?

Je moet het internet vertellen waar die naam eigenlijk voorkomt. Als uw registrar anders is dan uw hostingprovider, moet u de kloof overbruggen. Verwijs het domein naar het juiste IP-adres of de juiste hostnaam. Dit gebeurt via DNS-records.

Beschouw DNS-records als instructies. Ieder doet iets specifieks. Ze leven in een zonebestand op de DNS-server. Als u uw eigen server gebruikt, bewerkt u dat bestand waarschijnlijk handmatig in een teksteditor. De meeste registrars bieden je tegenwoordig een webinterface. Het is gemakkelijker. U klikt gewoon op knoppen in plaats van code te typen.

Dit zijn de recordtypen die u daadwerkelijk gaat gebruiken.

Host (A)-records
Dit is het absolute minimum. Een A-record wijst een hostnaam toe aan een IP-adres. Nee Een record betekent geen website. Het is de essentiële link tussen ‘uwdomein.com’ en het servernummer ‘192.0.2.1’.

Canonieke naamrecords (CNAME)
Een alias. Een bijnaam. Een CNAME verwijst de ene naam naar een andere naam. Als u de alias typt, wordt deze automatisch omgeleid naar de server die is gedefinieerd in het A-record. Wilt u dat www naar uw hoofddomein verwijst? Gebruik een CNAME.

Mail Exchanger (MX)-records
Dit regelt de e-mail. Het vertelt de wereld welke server e-mail accepteert voor uw domein. U hoeft niet uw eigen mailserver te hosten. De meeste mensen gebruiken Google of Microsoft. U maakt een MX-record die verwijst naar ghs.google.com of iets dergelijks. Uw domein behoudt zijn identiteit, maar Gmail doet het zware werk.

Naamserver (NS)-records
Deze verklaren autoriteit. NS-records bevatten de naamservers die verantwoordelijk zijn voor uw zone. Wanneer andere DNS-servers uw domein opzoeken, controleren zij eerst deze NS-records. Ze vertellen het wereldwijde netwerk wie het laatste woord heeft over de gegevens van uw domein.

Start van autoriteit (SOA)
Het masterrecord. Het staat bovenaan elk zonebestand. Het vermeldt de primaire naamserver en andere administratieve details. Als u de DNS van een registrar gebruikt, raakt u hier niets aan. Als u zelf host, moet u dit begrijpen.

Het SOA-record is de enige bron van waarheid voor de DNS-zone van uw domein.

Hier ziet u hoe een onbewerkt zonebestand eruit ziet voor mensen die rechtstreeks tekst bewerken. De middelste kolom toont het recordtype. Het @ -symbool betekent “dit geldt voor het hoofddomein, tenzij anders aangegeven.”

De meeste gebruikers geven alleen om MX- en CNAME-records. Gebruik MX om e-mail naar Google Workspace te laten verwijzen. Gebruik CNAME om subdomeinen te parkeren. Misschien heb je een gameserver op een apart IP-adres. Wijs ‘games.example.com’ ernaar met een CNAME. Eenvoudig.

Hoe DNS-beveiliging verandert

DNS is niet statisch. Het beweegt.

Eind 2018 introduceerde ICANN nieuwe beveiligingsfuncties. Ze hebben de cryptografische sleutels voor DNSSEC bijgewerkt. Met name de sleutelondertekeningssleutel voor de hoofdzone (KSK). Techneuten kennen dit als een groot evenement.

Waarom? Het internet bloeit. Het Internet of Things voegt elke dag miljoenen nieuwe apparaten toe. Meer apparaten betekenen meer aanvalsoppervlakken. Hackers zijn dol op DNS. Ze kapen het om gegevens te stelen of services te laten crashen.

DNS-vergiftiging en denial-of-service-aanvallen zijn reële bedreigingen. Om je ertegen te verdedigen, moet je op de hoogte blijven. Als u DNS beheert, kunt u deze updates niet negeren. De sleutels zijn om een ​​reden veranderd. Beveiliging is niet optioneel wanneer het telefoonboek van internet kan worden herschreven door een kwaadwillende actor.

Veelgestelde DNS-vragen

Wat is DNS?
Het is het domeinnaamsysteem. Het telefoonboek van internet. Het verbindt voor mensen leesbare URL’s met machineleesbare IP-adressen.

Wat doet DNS?
Het koppelt een URL aan het IP-adres van een specifieke website. Zonder dit zou u voor elke site die u bezoekt een reeks getallen moeten onthouden.

Kan ik 8.8.8.8 gebruiken?
Ja. Dat is de openbare DNS van Google. Google houdt het bij. Iedereen kan het gebruiken. Het is vaak sneller dan de standaardinstelling van uw internetprovider.

Is het overstappen naar DNS veilig?
Ja. Overstappen naar OpenDNS of Google DNS is veilig. Het is omkeerbaar. Het zal uw pc of netwerk niet kapot maken. U wijzigt alleen in welke map u adressen opvraagt.

Wat betekent DNS op mijn telefoon?
Elke internetverbinding maakt gebruik van DNS. Je telefoon is geen uitzondering. U kunt een privé-DNS instellen op Android. Ga naar Instellingen > Netwerk en internet > Geavanceerd > Privé-DNS. Voer de hostnaam van uw favoriete DNS-service in. Klik op opslaan. Het stuurt uw vragen via die provider in plaats van via de standaardprovider van uw provider.

Meer bronnen

Er valt altijd meer te leren. DNS gaat dieper dan alleen het verwijzen naar een domein. Als je je in de architectuur wilt verdiepen, zoek dan naar handleidingen over zonebestandsstructuur of DNSSEC-implementatie. De basisprincipes om uw site online te krijgen. De details houden het veilig.