Naar hoofdinhoud springen

Handleidingen / Monitoringbegrippen uitgelegd

Wat is een DNS-resolver, en welke gebruikt u?

Een DNS-resolver is de dienst die uw apparaat als eerste vraagt wanneer het een IP-adres voor een naam nodig heeft, en één opzoeking doorloopt meestal drie verschillende rollen: een stub resolver op uw eigen machine, een recursieve resolver die het daadwerkelijke zoekwerk doet, en de autoritatieve servers die het echte antwoord bewaren. De meeste mensen configureren alleen de eerste en zien de andere twee nooit rechtstreeks.

Wat gebeurt er als uw apparaat een naam opzoekt?

Uw besturingssysteem doorzoekt het internet niet zelf naar een naam. Het geeft het verzoek door aan een klein stukje software dat een stub resolver heet, wat helemaal geen nameserver is. RFC 8499 definieert het als een resolver "die niet alle resolutie zelf kan uitvoeren" en die afhankelijk is van een recursieve resolver om het daadwerkelijke werk te doen. De taak van de stub resolver is uw query te sturen naar welke server ook in uw netwerkinstellingen is geconfigureerd, en het antwoord terug te geven, of een gecachte kopie van een recent antwoord.

Stub resolver, recursieve resolver, autoritatieve server: wat is het verschil?

Drie rollen komen voor in elke opzoeking, en dezelfde fysieke server kan er meer dan een van vervullen:

  • Stub resolver. Draait op uw apparaat, stuurt queries door, houdt een kleine cache bij, en kan een naam niet zelf resolven.
  • Recursieve resolver. Volgens RFC 8499 "een resolver die in recursieve modus opereert", wat betekent dat hij het volledige werk doet van een antwoord najagen via hoeveel servers dat ook kost, en het resultaat dan cachet en teruggeeft. Dit is de rol die uw provider of een openbare DNS-dienst vervult.
  • Autoritatieve server. RFC 8499 definieert het als een server die "de inhoud van een DNS-zone kent uit lokale kennis, en dus queries over die zone kan beantwoorden zonder andere servers te hoeven bevragen". Dit is de server die de eigen DNS-provider van het domein draait, en zijn antwoord is degene die niemand anders overneemt.

Een server die antwoordt met een verwijzing in plaats van een volledig antwoord, handelt iteratief; een die blijft doorwerken tot hij een definitief antwoord of een definitieve fout heeft, handelt recursief, wat is wat "recursieve resolver" in zijn naam betekent.

Het pad van één opzoeking: root, TLD en autoritatieve sprongen

Een koude opzoeking, eentje waarbij nergens iets gecachet is, doorloopt een vaste hiërarchie. De recursieve resolver begint bij een rootserver, een van de dertien benoemde rootserveridentiteiten die IANA opsomt van a.root-servers.net tot en met m.root-servers.net, en vraagt die om example.com. De rootserver kent het antwoord niet; hij geeft een verwijzing terug naar de servers die verantwoordelijk zijn voor het topleveldomein .com. De resolver vraagt een van die servers en krijgt een tweede verwijzing, deze keer naar de autoritatieve nameservers voor example.com zelf, de servers die de eigenaar van het domein heeft geconfigureerd. Alleen die laatste server geeft een echt antwoord in plaats van een verwijzing naar ergens anders. De recursieve resolver cachet het en geeft het terug aan uw stub resolver, die het aan uw browser doorgeeft.

Elke sprong na de eerste wordt overgeslagen zodra een cache onderweg het antwoord al heeft, waarom de overgrote meerderheid van alledaagse opzoekingen nooit een rootserver raakt.

Resolver van de provider versus openbare resolver: wat verandert er echt?

De resolver die uw apparaat standaard gebruikt, komt meestal van DHCP, uitgedeeld door uw router of uw provider, en het is vrijwel altijd een recursieve resolver die volledige opzoekingen namens u doet. Wat hij met uw queries doet, hoe groot zijn cache is, en vanaf hoeveel locaties hij draait, wordt bepaald door wie hem beheert en is niet iets wat u vanaf uw kant kunt zien.

Openbare resolvers bestaan als een alternatief waar u uw apparaat naar kunt wijzen: Google Public DNS draait op 8.8.8.8, Cloudflare op 1.1.1.1, en Quad9 op 9.9.9.9. Elk publiceert zijn eigen beleid over wat hij logt en hoe lang hij het bewaart, elk draait zijn eigen anycast-netwerk zodat hetzelfde adres antwoordt vanaf welke locatie ook het dichtst bij u ligt, en Quad9 blokkeert ook standaard bekende kwaadaardige domeinen op resolverniveau, iets wat een resolver van een provider doorgaans niet doet. Niets daarvan verandert wat DNS zelf kan doen: een resolver bepaalt alleen hoe een opzoeking wordt uitgevoerd, niet wat de records van een domein zeggen.

Welke resolver gebruikt uw machine op dit moment?

De resolver die u daadwerkelijk gebruikt, is een instelling, geen gok, en elk OS heeft één commando dat hem toont:

  • Windows: ipconfig /all toont "DNS Servers" onder elke netwerkadapter, in de volgorde waarin ze worden bevraagd.
  • macOS: scutil --dns rapporteert de huidige DNS-configuratie, inclusief de van kracht zijnde nameservers voor elke netwerkdienst.
  • Linux met systemd-resolved: resolvectl status toont, volgens de eigen handleiding, "de algemene en per-link geldende DNS-instellingen", zowel de terugvalresolver als wat een specifieke verbinding zoals wifi of een vpn heeft overschreven.

Een vpn, een bedrijfsnetwerk of de eigen secure-DNS-instelling van een browser kan elk een andere resolver vervangen zonder te veranderen wat het OS-commando rapporteert, dus als het antwoord van het commando niet overeenkomt met wat u verwacht, is dat de eerste plek om te kijken.

Welke resolver een query beantwoordt, kan het resultaat dat u ziet veranderen, niet alleen de snelheid waarmee u het krijgt: een resolver met een verouderde cache, een regionale storing, of een eigen filterbeleid kan iets anders teruggeven dan wat de autoritatieve servers rechtstreeks zouden zeggen. Voer een opzoeking uit met de DNS-querytool om te vergelijken, of als de resolver traag antwoordt in plaats van anders, behandelt hoe u een trage DNS-opzoeking oplost het meten en veranderen ervan. Als hij helemaal niet antwoordt, begin dan bij DNS-server reageert niet. Voor het cachegedrag achter dit alles, zie wat een DNS-cache is. HostTracker monitort al sinds 2004 websites, houdt inmiddels 500.000+ sites in de gaten vanaf 300+ controlepunten in 158 steden, en kan per e-mail, sms, spraakoproep, Slack, Telegram en meer waarschuwen zodra een controle die een specifiek IP-adres verwacht een ander adres ziet.

Veelgestelde vragen

Is mijn router een DNS-resolver?

Vaak alleen in beperkte zin. Veel thuisrouters draaien een kleine DNS-forwarder: hij antwoordt vanuit een piepkleine cache, maar voor alles wat nog niet gecachet is, stuurt hij de query rechtstreeks door naar de resolver van de provider in plaats van zelf volledig te resolven. RFC 2308 omschrijft deze rol als een forwarder, "een nameserver die wordt gebruikt om queries op te lossen in plaats van rechtstreeks de autoritatieve nameserverketen te gebruiken".

Maakt het gebruik van een openbare resolver mijn browsen sneller?

Soms wel, soms niet. Een resolver dicht bij u met een warme cache antwoordt binnen enkele milliseconden, ongeacht wie hem beheert. De belangrijkste variabelen zijn hoe dichtbij de dichtstbijzijnde locatie van de resolver is en hoe warm zijn cache al is, niet de merknaam.

Wat is het verschil tussen recursie en forwarding?

Een resolver die recursie doet, bevraagt zelf de root, de TLD en de autoritatieve servers, stap voor stap, en cachet het eindresultaat. Een resolver die doorstuurt, stuurt in plaats daarvan de hele vraag naar een andere resolver en wacht op een volledig antwoord, waarbij hij het werk, en het zicht op wat u heeft opgezocht, ruilt voor wat die stroomopwaartse resolver al gecachet heeft.

Draaien alle 13 rootservers op 13 machines?

Nee. Er zijn dertien benoemde rootserveridentiteiten, maar elk daarvan wordt bediend vanaf veel fysieke machines wereldwijd, zodat een query naar een nabije kopie routeert in plaats van elke keer een oceaan over te steken.

Kunnen twee apparaten op hetzelfde netwerk verschillende resolvers gebruiken?

Ja. De router deelt een standaard uit via DHCP, maar elk apparaat kan dat in zijn eigen netwerkinstellingen overschrijven, en een vpn of de secure-DNS-instelling van een browser kan dat daarbovenop nog eens overschrijven. De commando's hierboven tonen altijd wat dat specifieke apparaat op dat moment gebruikt, niet wat het netwerk bedoelt.

Nu controleren

Voer de gratis check uit op je eigen site, zonder account.

Dns query

Dit permanent monitoren

Ontvang een melding zodra er iets misgaat: HostTracker controleert vanaf meer dan 300 locaties en waarschuwt je via e-mail, sms, Slack, Telegram en meer.

HostTracker-functies

Meer in dit onderdeel: Monitoringbegrippen uitgelegd