Handleiding

Hoe DNS werkt

Computers routeren op getallen en mensen onthouden namen. DNS is de balie ertussen.

Op internet wordt niets op naam bezorgd. Routers verplaatsen pakketten naar adressen, en een adres is een getal. Jij gaat daarentegen nooit 142.250.179.174 intypen. DNS is het systeem dat het een in het ander omzet, miljoenen keren per seconde, en het is onzichtbaar tot het stukgaat.

De vraag die je computer stelt

Je opent een pagina, en voordat er een byte van die pagina beweegt stelt je computer een vraag: wat is het adres van deze naam. Die vraag gaat naar een resolver, er komt een adres terug, en pas daarna wordt de echte verbinding gemaakt.

De resolver is de balie waar je het vraagt. Meestal is dat je router, soms een dienst als Quad9 of Cloudflare, soms een server van je bedrijf. Zijn taak is niet het antwoord weten, maar het voor jou uitzoeken.

Wie wat beantwoordt

Geen enkele machine heeft de lijst met alle namen. Die lijst is opgeknipt bij de punten, gelezen van rechts naar links, en verschillende organisaties zijn verantwoordelijk voor de delen.

Neem www.voorbeeld.nl. Weet de resolver nog helemaal niets, dan vraagt hij het in drie stappen.

  1. Een rootserver: wie gaat er over .nl? Antwoord: deze machines.
  2. Die machines: wie gaat er over voorbeeld.nl? Antwoord: deze twee naamservers.
  3. Die naamservers: wat is het adres van www.voorbeeld.nl? Antwoord: het adres.

De laatste in die keten zijn de autoritatieve servers. Die zoeken niets op. Zij houden de echte gegevens van dat domein vast, gezet door degene die het domein bezit. Alles daarboven wijst alleen maar verder naar beneden.

Daarom is een wijziging aan een domein nooit direct zichtbaar, en daarom werkt een nieuw domein soms wel bij je collega en niet bij jou. Jullie vragen het aan verschillende balies, en die balies zijn verschillend ver met het leren van het antwoord.

Caching, en waarom dat het hele ontwerp is

Drie vragen per naam zou onbetaalbaar zijn, dus iedereen onthoudt. De resolver bewaart elk antwoord een tijdje, en de volgende die het vraagt krijgt het rechtstreeks uit het geheugen. Je computer cachet ook, en je browser ook.

Elk gegeven draagt een time to live, een aantal seconden dat zegt hoe lang het bewaard mag worden. Vijf minuten, een uur, een dag. Dat getal is de afspraak tussen de eigenaar van de naam en de rest van de wereld: lang betekent snel en traag te wijzigen, kort betekent het omgekeerde.

Het is ook de reden voor het standaardadvies voor een verhuizing: zet de time to live een dag van tevoren omlaag, doe de wijziging, zet hem terug. En de reden dat "hij wijst nog naar de oude server" meestal geen fout is maar een cache die nog niet is verlopen.

Waarom slechte DNS op een dood internet lijkt

Als de resolver niet antwoordt, gebeurt er niets. De browser blijft hangen. De mail loopt in een time-out. Nergens staat een melding waar DNS in voorkomt. Voor iedereen in huis is internet stuk.

Ondertussen is de verbinding zelf in orde. De aanwijzing is dat adressen het nog doen terwijl namen het niet doen: een apparaat op 192.168.10.20 antwoordt, een ping naar een getal op internet komt terug, en zodra je een naam typt stopt het. Zie je dat, kijk dan naar DNS en niet naar je provider.

De oorzaken zijn saai. De resolver staat uit of is onbereikbaar. Clients hebben een DNS-adres gekregen dat niet meer bestaat, wat gebeurt als je een router vervangt en de uitgedeelde instellingen vergeet. Of de resolver is bereikbaar maar zijn eigen bovenliggende server niet, en hij wacht op een antwoord dat niet komt. Zie Als er iets misgaat.

Wat een resolver op je eigen router oplevert

Je kunt elk apparaat rechtstreeks aan een publieke dienst laten vragen. Je eigen router ertussen zetten levert je vier dingen op.

  • Snelheid. Elke naam die iemand in huis kortgeleden heeft opgevraagd, wordt in een milliseconde door de router beantwoord, zonder het gebouw te verlaten.
  • Namen voor je eigen spullen. Je kunt gegevens verzinnen die alleen binnen je netwerk bestaan: nas, printer, camera-schuur. Internet heeft er nooit van gehoord en hoeft dat ook niet.
  • Een plek om iets te wijzigen. Je wisselt van bovenliggende server, zet er een filter op, blokkeert een lijst met domeinen, en elk apparaat volgt, ook de apparaten die nauwelijks instellingen hebben.
  • Iets om naar te kijken. Als je ziet wat er gevraagd wordt, zie je ook het apparaat dat elke dertig seconden naar huis belt.

Er hangt een prijs aan, en het is eerlijk om die te noemen. Die router is nu een enkel punt waar alles op stukgaat wat op heel internet lijkt. En een resolver die vragen van jouw netwerk beantwoordt, moet geen vragen vanaf internet beantwoorden, want dan wordt hij binnen dagen misbruikt om aanvallen op iemand anders te versterken. Dat tweede is niet optioneel, en daarom blokkeert de standaardconfiguratie DNS dat van buiten binnenkomt.

Wie je vragen ziet

Wie voor jou resolvet, ziet elke naam die je opvraagt. Standaard is dat je provider, en zodra je zelf kiest is het een andere partij. De vragen versleutelen, wat DNS over HTTPS doet, verbergt ze voor iedereen onderweg maar niet voor de resolver aan het eind. Een resolver kiezen is kiezen wie mag meekijken, niet kiezen dat niemand meekijkt.

Waar de tool dit oppakt

De configurator maakt de router standaard de resolver voor je netwerk, met een cache en een bovenliggende server die jij kiest, en die keuze staat uitgelegd bij DNS. Welke server je apparaten krijgen doorgegeven hoort bij LAN en DHCP.

Meteen proberen? Open de configurator