Ubuntu Server DNS instellen: Netplan & systemd-resolved (2026)

DNS server reageert niet

Geupdate op:

DNS

Wil je de DNS-servers instellen op je Ubuntu Server? Sinds Ubuntu 18.04, en dus ook in de actuele versies zoals Ubuntu 24.04 LTS en 26.04, pas je DNS niet meer rechtstreeks aan via /etc/resolv.conf. In plaats daarvan gebruik je Netplan. Door een YAML-bestand in de map /etc/netplan/ te bewerken, voeg je betrouwbare nameservers (zoals 1.1.1.1 of 8.8.8.8) toe aan je netwerkinterface. Zodra je de configuratie toepast, neemt systemd-resolved de daadwerkelijke resolutie over. In dit artikel leggen we exact uit hoe je in 2026 je DNS-instellingen op een Ubuntu Server permanent, veilig en correct configureert, zonder dat je instellingen na een herstart verdwijnen.

Waarom /etc/resolv.conf bewerken niet meer werkt in 2026

Als je oudere Linux-distributies of eerdere versies van Ubuntu gewend was, was de standaardprocedure simpel: je opende /etc/resolv.conf, voegde nameserver 8.8.8.8 toe, en je was klaar. Op moderne Ubuntu Server-installaties (vanaf 20.04 tot en met 26.04) is dit bestand echter een symbolische link (symlink) naar /run/systemd/resolve/stub-resolv.conf. Dit bestand wordt dynamisch beheerd door de Ubuntu netwerkstack.

Wanneer je handmatig wijzigingen aanbrengt in dit bestand, zal systemd-resolved deze bij de volgende herstart (of netwerk-refresh) genadeloos overschrijven. Het resultaat is de bekende en frustrerende foutmelding: “Temporary failure in name resolution”. Om dit te voorkomen, moet je de configuratie aan de bron aanpassen. Voor [INTERNAL:ubuntu-server-netwerk] omgevingen is die bron Netplan met networkd als renderer.

Hoe werkt de DNS-stack op Ubuntu Server?

Voordat we de configuratie induiken, is het nuttig om te begrijpen hoe een DNS-verzoek op een moderne Ubuntu Server verloopt. In 2026 ziet de keten er als volgt uit:

  1. Applicatie: Een programma (zoals ping of curl) vraagt om een IP-adres voor een domeinnaam.
  2. /etc/hosts: Het systeem controleert eerst dit lokale bestand voor hardcoded IP-koppelingen.
  3. systemd-resolved (127.0.0.53): Als de naam niet in het hosts-bestand staat, wordt de query naar de lokale stub-resolver gestuurd op poort 53.
  4. Netplan configuratie: systemd-resolved kijkt naar de upstream DNS-servers die via Netplan zijn doorgegeven aan je netwerkinterface (bijvoorbeeld eth0 of enp3s0).
  5. Externe DNS-server: Het verzoek gaat naar buiten (bijv. naar Cloudflare 1.1.1.1), en het resultaat komt via dezelfde weg terug.

Stap-voor-stap: DNS instellen op Ubuntu Server via Netplan

Het permanent instellen van je DNS-servers vereist dat we het juiste YAML-bestand van Netplan vinden, bewerken en toepassen. Volg deze stappen nauwkeurig, aangezien YAML erg gevoelig is voor correcte inspringing (spaties).

Stap 1: Identificeer je netwerkinterface

Je moet weten aan welke netwerkkaart je de DNS-servers wilt toewijzen. Voer het volgende commando uit om je interfaces te bekijken:

ip a

Zoek naar de actieve interface (meestal begint deze met en of eth, bijvoorbeeld enp3s0 of eth0). Negeer de lo (loopback) interface.

Stap 2: Zoek het Netplan-configuratiebestand

Navigeer naar de Netplan-map om te zien welke configuratiebestanden aanwezig zijn:

ls /etc/netplan/

Je ziet hier waarschijnlijk een bestand zoals 00-installer-config.yaml, 50-cloud-init.yaml, of 01-netcfg.yaml. Als je systeem is geïnstalleerd via cloud-init, is het raadzaam om een nieuw bestand aan te maken met een hoger nummer (bijv. 99-custom-dns.yaml) zodat deze de lagere bestanden overschrijft, of je bewerkt het bestaande bestand direct als je de enige beheerder bent.

Stap 3: Bewerk het YAML-bestand

Open het bestand met een teksteditor, bijvoorbeeld nano:

sudo nano /etc/netplan/50-cloud-init.yaml

Zoek de sectie voor jouw netwerkinterface en voeg de nameservers configuratie toe. Een typische configuratie met een statisch IP-adres en aangepaste DNS ziet er in 2026 zo uit:

network:
 version: 2
 renderer: networkd
 ethernets:
 enp3s0:
 dhcp4: false
 addresses:
 - 192.168.1.100/24
 routes:
 - to: default
 via: 192.168.1.1
 nameservers:
 addresses: [1.1.1.1, 8.8.8.8]
 search: [mijndomein.local]

Belangrijke YAML-regels:

  • Gebruik nooit tabs, alleen spaties (meestal 2 spaties per inspringingsniveau).
  • Zorg dat nameservers op hetzelfde niveau staat als addresses en routes (of gateway4 in oudere syntax, hoewel routes tegenwoordig de standaard is).
  • De search parameter is optioneel en wordt gebruikt om een standaard domeinachtervoegsel toe te voegen aan hostnames.

Stap 4: Test en pas de configuratie toe

Voordat je de instellingen definitief maakt, is het slim om Netplan de syntax te laten controleren. Je kunt de wijzigingen eerst proberen toe te passen met een automatische terugrol-functie als je de verbinding verliest:

sudo netplan try

Als alles correct is en je de SSH-verbinding niet kwijtraakt, druk je op ENTER om te bevestigen. Als je zeker bent van je zaak, kun je ook direct toepassen:

sudo netplan apply

Tijdelijke DNS instellen met resolvectl (zonder reboot)

Soms wil je tijdens het troubleshooten snel een DNS-server testen zonder de Netplan configuratie aan te raken. Omdat we in 2026 werken met systemd-resolved, gebruik je hiervoor het resolvectl commando (de moderne opvolger van systemd-resolve).

Om tijdelijk Cloudflare (1.1.1.1) in te stellen op interface enp3s0, gebruik je:

sudo resolvectl dns enp3s0 1.1.1.1 1.0.0.1

Controleer direct of de wijziging actief is:

resolvectl status enp3s0

Let op: zodra je de server herstart of netplan apply uitvoert, worden deze tijdelijke [INTERNAL:dns-cache-flushen] instellingen weer overschreven door de waarden in je YAML-bestand.

Snelste publieke DNS-servers voor Ubuntu (2026 Tabel)

Het kiezen van de juiste DNS-provider heeft directe impact op de snelheid waarmee je server externe API’s en pakketbronnen kan bereiken. Hieronder vind je een overzicht van de meest betrouwbare en actuele publieke DNS-servers in 2026, ideaal voor Ubuntu Server-omgevingen.

Provider IPv4 Primair IPv4 Secundair Kenmerk / Focus
Cloudflare 1.1.1.1 1.0.0.1 Hoogste snelheid, privacy-gericht, geen logging.
Google Public DNS 8.8.8.8 8.8.4.4 Wereldwijd zeer stabiel, hoge uptime.
Quad9 9.9.9.9 149.112.112.112 Ingebouwde malware- en phishing-blokkade.
OpenDNS (Cisco) 208.67.222.222 208.67.220.220 Robuust, aanpasbare filtering voor bedrijfsnetwerken.
Control D 76.76.2.0 76.76.10.0 Geavanceerde filtering en lage latency in 2026.

Geavanceerd: DNS over TLS (DoT) inschakelen op Ubuntu

Voor servers die gevoelige data verwerken, is het in 2026 sterk aanbevolen om DNS-verkeer te versleutelen. Standaard DNS-verkeer gaat onversleuteld over poort 53, waardoor je ISP of datacenter-provider kan zien welke domeinen je server benadert. Met systemd-resolved kun je eenvoudig DNS over TLS (DoT) inschakelen.

Open het configuratiebestand van systemd-resolved:

sudo nano /etc/systemd/resolved.conf

Pas de [Resolve] sectie aan (of haal de hekjes # weg):

[Resolve]
DNS=1.1.1.1 1.0.0.1
DNSOverTLS=yes
DNSSEC=allow-downgrade

Herstart vervolgens de service om de versleuteling te activeren:

sudo systemctl restart systemd-resolved

Troubleshooting: DNS-problemen op Ubuntu Server oplossen

Lukt het je server niet om updates op te halen (bijv. sudo apt update faalt) en krijg je de melding Temporary failure in name resolution? Loop dan deze checklist langs.

1. Controleer de actuele status van systemd-resolved

Controleer of de service überhaupt draait en welke servers hij momenteel gebruikt:

resolvectl status

Kijk onderaan de output bij Global en bij jouw specifieke interface (bijv. Link 2 (enp3s0)). Staan hier de juiste IP-adressen vermeld?

2. Test directe IP-connectiviteit

Voordat je de schuld aan DNS geeft, moet je zeker weten dat je server überhaupt het internet op kan. Ping een extern IP-adres direct:

ping 8.8.8.8

Als dit mislukt, ligt het probleem bij je routing (de routes sectie in Netplan) of je firewall, niet bij DNS. Als de ping wel lukt, maar ping google.com faalt, is het definitief een DNS-probleem.

3. Controleer de Netplan syntax

Een veelgemaakte fout is een spatie te veel of te weinig in het YAML-bestand. Gebruik een online YAML-validator of kijk goed naar de output van sudo netplan generate --debug. Dit commando toont precies waar de parser over struikelt.

4. Check je UFW Firewall

Als je Uncomplicated Firewall (UFW) hebt draaien op een zeer strikt profiel, kan het zijn dat uitgaand verkeer op poort 53 (of 853 voor DoT) geblokkeerd wordt. Hoewel UFW standaard uitgaand verkeer toestaat, is het goed om dit te verifiëren via sudo ufw status verbose.

Veelgestelde vragen

Hoe check ik welke DNS-server mijn Ubuntu Server momenteel gebruikt?

In moderne Ubuntu-versies (vanaf 20.04 tot 26.04) gebruik je het commando resolvectl status. Dit toont een overzicht van je netwerkinterfaces en de bijbehorende DNS-servers die actief worden gebruikt door systemd-resolved.

Waarom worden mijn wijzigingen in /etc/resolv.conf steeds overschreven?

Op Ubuntu Server wordt /etc/resolv.conf dynamisch gegenereerd door systemd-resolved. Het is een symlink. Elke keer als de netwerkservice herstart of een DHCP-lease vernieuwt, overschrijft het systeem handmatige wijzigingen. Je moet DNS instellen via Netplan.

Kan ik DHCP gebruiken maar toch handmatig DNS instellen?

Ja, dat kan. In je Netplan YAML-bestand kun je dhcp4: true laten staan, maar de DHCP DNS-servers overrulen door dhcp4-overrides: { use-dns: false } toe te voegen. Vervolgens specificeer je je eigen nameservers in dezelfde interface-configuratie.

Wat is het verschil tussen networkd en NetworkManager in Netplan?

Op Ubuntu Server is de standaard renderer networkd (systemd-networkd). Dit is een lichtgewicht daemon ontworpen voor serveromgevingen. NetworkManager wordt voornamelijk gebruikt op Ubuntu Desktop-installaties omdat het beter omgaat met wisselende verbindingen zoals Wi-Fi en VPN’s.

Hoe stel ik IPv6 DNS in op Ubuntu Server?

Je voegt de IPv6-adressen simpelweg toe aan dezelfde lijst in je Netplan-configuratie. Bijvoorbeeld: addresses: [1.1.1.1, "2606:4700:4700::1111"]. Zorg ervoor dat je de IPv6-adressen tussen aanhalingstekens plaatst als je YAML-parser daar om vraagt, en dat dhcp6: false is ingesteld als je statisch werkt.

Wat betekent ‘Temporary failure in name resolution’?

Deze foutmelding betekent dat je server geen verbinding kan maken met een werkende DNS-server. Dit wordt meestal veroorzaakt door een fout in je Netplan-configuratie, een ontbrekende default gateway (route), of omdat systemd-resolved is vastgelopen.

Plaats een reactie