DNS vertaalt namen naar adressen. Werkt het niet, dan lijkt het alsof "internet stuk is", terwijl de verbinding prima staat. De configurator zet de router standaard in als DNS-server voor je netwerk: alle apparaten vragen het aan hem, hij vraagt het door naar boven en onthoudt het antwoord.
Waar het staat
Het onderdeel DNS staat standaard aan. In de wizard zie je twee vragen (upstream en DNS over HTTPS), in geavanceerd de rest.
Waarom de router ertussen
Een cache op de router scheelt tijd bij elk verzoek dat al eens gesteld is, en het geeft je één plek om iets te regelen: een naam voor je NAS, een geblokkeerde domeinlijst, een filter. In LAN en DHCP staat DNS-server voor clients daarom standaard op "de router zelf", en per VLAN kan dat ook. Wil je dat clients rechtstreeks naar buiten praten, dan zet je daar andere servers neer.
Upstream kiezen
- Quad9 (standaard) filtert bekende malwaredomeinen weg.
- Cloudflare en Google zijn snel en filteren niets.
- Van de provider gebruikt wat er via DHCP of PPPoE binnenkomt. Dan moet minstens één WAN-verbinding wel DNS van provider gebruiken aan hebben staan; de tool waarschuwt als dat niet zo is.
- Aangepast voor je eigen servers, bijvoorbeeld een domeincontroller of een Pi-hole: vul de adressen gescheiden door komma's in.
Er is geen technisch juiste keuze. De provider ziet toch al welke adressen je benadert; een andere resolver verplaatst wie je vragen ziet, hij laat ze niet verdwijnen. Kies bewust en weet wat je verplaatst.
DNS over HTTPS
Met DoH aan gaan je vragen versleuteld naar de gekozen upstream, zodat ze onderweg niet leesbaar zijn. De tool schrijft use-doh-server met de URL die bij je keuze hoort, en bij een eigen resolver vul je de URL zelf in. Certificaat verifiëren staat aan en zet de ingebouwde trust store van RouterOS aan; los importeren van een CA-bundel is op RouterOS 7 niet nodig.
Er zit een kip-en-eiprobleem in: om de DoH-server te bereiken moet zijn naam eerst opgezocht worden, en dat kan nog niet via DoH. De configurator lost dat op door statische records voor die hostname mee te geven die naar de gewone adressen van diezelfde aanbieder wijzen. Je ziet ze in het script staan met de opmerking bootstrap DoH.
Statische records
Onderin zet je namen die alleen binnen je eigen netwerk bestaan: nas.lan.example.nl naar 192.168.10.20. Types die je kunt kiezen zijn A, AAAA, CNAME en regexp. Bij CNAME vul je in de adreskolom de naam in waar hij naartoe wijst. Met regexp matcht het patroon op namen in plaats van op één naam; dat is de manier om een heel domein naar een adres te sturen of dood te laten lopen.
Statische records zijn ook het nette antwoord op hairpin NAT: laat de naam binnen naar het interne adres wijzen, dan hoeft verkeer niet via je publieke adres om de bocht. Zie Een poort openzetten.
Clients dwingen
De schakelaar LAN-clients dwingen de router te gebruiken zet een redirect op poort 53: elke DNS-vraag vanaf het LAN naar een andere server komt toch bij de router uit. Handig tegen apparaten met een hardgecodeerde 8.8.8.8, vooral camera's en smart-tv's. Het houdt DoH in browsers niet tegen, want dat gaat over poort 443 en is van buiten niet van gewoon webverkeer te onderscheiden.
Niet als open resolver eindigen
Om de router voor je netwerk te laten resolven moet allow-remote-requests=yes aan, en dat betekent letterlijk: hij beantwoordt vragen van buiten. Een open resolver wordt binnen dagen misbruikt om aanvallen mee te versterken. Daarom staat in het onderdeel Firewall de schakelaar DNS-verzoeken vanaf WAN expliciet droppen standaard aan: twee regels in de input-chain voor udp en tcp 53 met in-interface-list=WAN.
Met de standaardregels erbij wordt WAN-verkeer naar de router sowieso al gedropt door de slotregel. De expliciete regels staan er omdat ze zichtbaar zijn en blijven staan als iemand later aan de rest sleutelt. Laat ze staan.
Adlist
Vanaf RouterOS 7.15 kan de router een hosts-lijst inlezen en die domeinen laten doodlopen. De schakelaar Adlist voegt de StevenBlack-lijst toe. Kies je een oudere doelversie, dan laat de tool het weg en zegt erbij waarom. Reken op wat geheugengebruik en op af en toe een site die stukgaat; dan haal je hem er weer af.
Wat je kunt controleren
/ip dns printtoont de servers, de cache en of remote requests aanstaan./ip dns cache printlaat zien wat er onthouden is./ip dns static printvoor je eigen records en de DoH-bootstrap.- Werkt een adres wel en een naam niet, dan zit het probleem hier en niet bij je verbinding.
- Zet je router als DNS-server voor het LAN uit terwijl IPv6 de router wel als DNS adverteert, dan waarschuwt de tool: clients krijgen dan een resolver die niet antwoordt.
Verder lezen: Firewall en NAT, LAN en DHCP en IPv6.