Het nauwkeurig controleren en configureren van DNS-servers op een Linux-systeem is uiterst belangrijk voor het behouden van de stabiliteit en efficiëntie van uw netwerk. Dit artikel biedt een uitgebreide gids voor zowel beginners als gevorderde gebruikers over hoe DNS-servers op Linux te controleren en in te stellen. Beginnend met basisconcepten, behandelt het het gebruik van specifieke commandoregelhulpmiddelen, het bewerken van configuratiebestanden, probleemoplossing en omvat het grondig praktische kennis. Als gevolg hiervan zal uw Linux-systeem efficiënter worden in het toegang krijgen tot bronnen op het internet.
Wat is DNS: Een basisconceptuitleg
Het Domain Name System (DNS) is een systeem dat internetdomeinnamen omzet in IP-adressen en vice versa. Het speelt een cruciale rol in het mogelijk maken van internetzoekopdrachten en website-toegang door memorabele domeinnamen (bijv. www.example.com) te vertalen naar numerieke IP-adressen (bijv. 192.0.2.1) die computers kunnen begrijpen. Dit proces, bekend als “naamresolutie”, vergemakkelijkt het ophalen van informatie op het internet.
DNS heeft een hiërarchische structuur met de “Root DNS Servers” aan de top, die het laatste deel van domeinnamen beheren (bijv. .com, .org). Deze worden gevolgd door “Top-Level Domain (TLD) Servers”, vervolgens “Authoritatieve DNS Servers”, en ten slotte, “Lokale DNS Servers” beantwoorden gebruikersvragen in deze gestructureerde opzet.
Wanneer een gebruiker een domeinnaam invoert in een webbrowser, zoekt de lokale DNS-server naar het overeenkomende IP-adres. Als de lokale DNS-server de informatie niet heeft, wordt het verzoek doorgegeven aan hogere DNS-servers totdat de benodigde informatie wordt opgehaald. Dit proces wordt doorgaans binnen milliseconden voltooid, waardoor de gebruiker de webpagina kan openen.
Het DNS-systeem is onmisbaar voor de infrastructuur van het internet, en de efficiënte werking ervan heeft een aanzienlijke invloed op de webprestaties en toegankelijkheid. Daarom is het correct configureren en beheren van DNS-servers op Linux-systemen een cruciale vaardigheid voor systeembeheerders.
Hoe DNS-servers te controleren: Gebruikmakend van commandoregelhulpmiddelen
Er zijn verschillende manieren om de instellingen van DNS-servers op Linux-systemen te controleren, maar de meest directe en gangbare methode is het gebruik van commandoregelhulpmiddelen. Hier introduceren we twee veelgebruikte hulpmiddelen: het cat
commando en het nmcli
commando.
/etc/resolv.conf controleren met het `cat` Commando
De meest basale methode is het weergeven van het /etc/resolv.conf
bestand. Dit bestand bevat de adressen van DNS-servers die door het systeem worden gebruikt voor DNS-resolutie. U kunt de inhoud ervan controleren door het volgende commando uit te voeren:
cat /etc/resolv.conf
De uitvoer kan er als volgt uitzien:
# Generated by NetworkManager
search example.com
nameserver 192.168.1.1
nameserver 8.8.8.8
In dit voorbeeld geven de regels met nameserver
de IP-adressen van de DNS-servers aan, met 192.168.1.1
en het openbare DNS-adres van Google 8.8.8.8
ingesteld.
DNS-servers controleren met het `nmcli` Commando
Op systemen die NetworkManager
gebruiken, kunt u het nmcli
commando gebruiken om de DNS-instellingen van de huidige netwerkverbinding te controleren. Het volgende commando haalt informatie over DNS-servers op:
nmcli device show | grep IP4.DNS
Dit commando extraheert en toont de DNS-serverinstellingen (IPv4) uit de huidige netwerkapparaatinformatie. De uitvoer kan er als volgt uitzien:
IP4.DNS[1]: 192.168.1.1
IP4.DNS[2]: 8.8.8.8
Deze methoden stellen u in staat om eenvoudig de DNS-serverinformatie die op uw Linux-systeem is ingesteld te controleren, wat nuttig kan zijn voor het diagnosticeren van netwerkverbindingsproblemen of het overwegen van wijzigingen aan een specifieke DNS-server.
Hoe DNS-servers in te stellen: /etc/resolv.conf bewerken
Een van de basismethoden om DNS-servers op een Linux-systeem in te stellen, is door het /etc/resolv.conf
bestand rechtstreeks te bewerken. Dit bestand bevat een lijst van DNS-servers waarnaar het systeem verwijst voor DNS-resolutie. Hier leggen we uit hoe u dit bestand veilig kunt bewerken.
Het /etc/resolv.conf Bestand Bewerken
- Eerst, maak een back-up van de huidige instellingen. Het is belangrijk om het originele bestand te kunnen herstellen in geval van problemen. Gebruik het volgende commando om een back-up te maken:
sudo cp /etc/resolv.conf /etc/resolv.conf.backup
- Vervolgens, gebruik een teksteditor om het
/etc/resolv.conf
bestand te bewerken. Hier gebruiken we denano
editor, maar u kunt uw voorkeurseditor zoalsvi
ofemacs
gebruiken:
sudo nano /etc/resolv.conf
- Zodra het bestand is geopend, voeg of bewerk de regels die beginnen met
nameserver
om DNS-serveradressen te specificeren. Bijvoorbeeld, om Google’s openbare DNS-adressen te gebruiken, zou u schrijven:
nameserver 8.8.8.8
nameserver 8.8.4.4
- Na het aanbrengen van de wijzigingen, sla het bestand op en sluit de editor. Als u
nano
gebruikt, druk opCtrl + O
om op te slaan enCtrl + X
om te sluiten.
De Nieuwe Instellingen Activeren
Na het bewerken van het /etc/resolv.conf
bestand, moet u meestal de netwerkdienst herstarten om de wijzigingen toe te passen. Dit kan gedaan worden met het volgende commando:
sudo systemctl restart network.service
Of, als u NetworkManager
gebruikt, kunt u de netwerkverbinding herstarten met dit commando:
sudo systemctl restart NetworkManager
Hiermee past u de nieuwe DNS-instellingen toe op uw systeem. Om te zorgen dat de instellingen correct werken, wordt aanbevolen om te testen door websites te bezoeken of commando’s zoals ping
te gebruiken om domeinnamen op te lossen.
Handmatige DNS-serverconfiguratie is effectief voor het aanpassen van DNS-resolutiestrategieën volgens systeem- of netwerkvereisten. Deze methode is echter mogelijk niet geschikt voor langetermijnoplossingen, aangezien het /etc/resolv.conf
bestand automatisch kan worden overschreven door andere processen. Daarom is het overwegen waard om hulpmiddelen zoals resolvconf
, systemd-resolved
, of NetworkManager
te gebruiken voor het beheren van DNS-instellingen.
DNS-instellingen controleren en wijzigen met commandoregelhulpmiddelen
Linux biedt verschillende methoden voor het controleren en wijzigen van DNS-instellingen met de commandoregel, zonder te vertrouwen op GUI-hulpmiddelen. Deze methoden zijn bijzonder nuttig voor serveromgevingen of het beheren van externe systemen. Hier leggen we methoden uit met behulp van de systemd-resolve
en nmcli
commando’s.
DNS-instellingen controleren met het `systemd-resolve` Commando
Op systemen die systemd
gebruiken, kan het systemd-resolve
commando worden gebruikt om de huidige DNS-instellingen te controleren. Dit commando is gerelateerd aan de systemd-resolved
dienst en biedt naamresolutieconfiguratie en statistieken.
Om DNS-instellingen te controleren, voer het volgende commando uit:
systemd-resolve --status
Dit commando biedt gedetailleerde uitvoer inclusief de gebruikte DNS-servers, zoekdomeinen en andere netwerkgerelateerde informatie. De uitvoer is verdeeld per netwerkinterface, met elke sectie die instellingen voor die interface weergeeft.
DNS-instellingen wijzigen met het `nmcli` Commando
Op systemen die NetworkManager gebruiken, kan het nmcli
commando worden gebruikt om DNS-instellingen te wijzigen. nmcli
is een commandoregelhulpmiddel voor het instellen en beheren van netwerkverbindingen.
Bijvoorbeeld, om DNS-servers in te stellen voor een specifieke verbinding, gebruikt u het volgende commando:
nmcli connection modify <connection name> ipv4.dns "8.8.8.8 8.8.4.4"
nmcli connection modify <connection name> ipv4.ignore-auto-dns yes
nmcli connection up <connection name>
In dit commando worden Google’s DNS-servers (8.8.8.8
en 8.8.4.4
) ingesteld voor de verbinding met de naam <connection name>
. De optie ipv4.ignore-auto-dns yes
wordt gebruikt om automatisch verkregen DNS-instellingen te negeren en in plaats daarvan de handmatig opgegeven DNS te gebruiken. Ten slotte wordt het commando nmcli connection up
gebruikt om de verbinding opnieuw te starten en de nieuwe instellingen toe te passen.
Deze commandoregelhulpmiddelen bieden flexibiliteit voor het controleren en wijzigen van DNS-instellingen op Linux-systemen. Ze zijn bijzonder nuttig voor extern systeembeheer en automatisering via scripts.
DNS-instellingen met systemd-resolved
systemd-resolved
is een moderne DNS-resolver geïntegreerd in de systemd-systeem- en servicemanager. Het biedt verschillende functies zoals DNS-caching, DNSSEC-validatie en recordrouting, waardoor het DNS-resolutieproces wordt gestroomlijnd. Hier leggen we uit hoe DNS-instellingen te beheren met systemd-resolved
.
Overzicht van systemd-resolved
systemd-resolved
behandelt DNS-resolutieverzoeken van lokale applicaties, cachingresponsen van externe DNS-servers om de naamresolutiesnelheid en betrouwbaarheid te verbeteren. Het beheert ook het /etc/resolv.conf
bestand en biedt een systeembrede DNS-resolutiestrategie.
systemd-resolved Inschakelen en Configureren
De meeste moderne Linux-distributies hebben systemd-resolved
standaard ingeschakeld. Als het echter niet ingeschakeld is, kunt u de dienst starten en inschakelen met het volgende commando:
sudo systemctl enable --now systemd-resolved.service
Eenmaal ingeschakeld, kunt u het /etc/systemd/resolved.conf
bestand bewerken om aangepaste DNS-serveradressen in te stellen. Het wordt aanbevolen om het bestand te back-uppen voordat u het bewerkt.
sudo nano /etc/systemd/resolved.conf
Bijvoorbeeld, om Google’s openbare DNS-servers te gebruiken, zou u het volgende instellen:
[Resolve]
DNS=8.8.8.8 8.8.4.4
FallbackDNS=1.1.1.1 9.9.9.9
De optie DNS
specificeert de IP-adressen van de primaire DNS-servers die gebruikt moeten worden, gescheiden door spaties. FallbackDNS
vermeldt DNS-servers die gebruikt moeten worden als de primaire servers niet beschikbaar zijn.
Na het wijzigen van instellingen, herstart de systemd-resolved
dienst om de wijzigingen toe te passen:
sudo systemctl restart systemd-resolved
De Relatie Tussen systemd-resolved en /etc/resolv.conf
Op systemen die systemd-resolved
gebruiken, wordt aanbevolen om het /etc/resolv.conf
bestand te koppelen aan /run/systemd/resolve/stub-resolv.conf
. Dit maakt gebruik van de lokale DNS-cache en doorstuurfuncties die door systemd-resolved
worden geboden mogelijk. Om de symbolische link in te stellen, gebruikt u het volgende commando:
sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
Hiermee kan systemd-resolved
het DNS-resolutieproces van het systeem beheren, wat zorgt voor een snellere en veiligere internetverbinding.
DNS Beheren met Network Manager
In Linux-systemen is Network Manager (NetworkManager) het meest gebruikte hulpmiddel voor netwerkconfiguratie en -beheer. Het vergemakkelijkt het beheer van verschillende netwerkinterfaces, inclusief draadloze netwerken, bekabelde netwerken, mobiel breedband en VPN-verbindingen. DNS-instellingen kunnen ook via dit hulpmiddel worden beheerd. Hier bespreken we hoe DNS in te stellen met Network Manager.
DNS-instellingen wijzigen met Network Manager
Met Network Manager kunt u DNS-instellingen wijzigen met behulp van zowel de grafische gebruikersinterface (GUI) als de commandoregelinterface (CLI). Voor de CLI is het nmcli
commando erg nuttig.
Om de DNS-instellingen voor een specifieke netwerkverbinding te wijzigen, identificeer eerst de naam van de verbinding. U kunt alle beschikbare netwerkverbindingen weergeven met het volgende commando:
nmcli connection show
Gebruik vervolgens de naam van de verbinding om de DNS-servers in te stellen. Het volgende commando stelt de DNS-serveradressen in voor de verbinding met de naam “connection name”:
nmcli connection modify "connection name" ipv4.dns "8.8.8.8 8.8.4.4"
nmcli connection modify "connection name" ipv4.ignore-auto-dns yes
nmcli connection up "connection name"
Dit commando stelt Google’s DNS-servers (8.8.8.8
en 8.8.4.4
) in voor een specifieke verbinding, waarbij automatisch verkregen DNS-instellingen worden genegeerd. Ten slotte wordt de verbinding opnieuw gestart met nmcli connection up
om de instellingen toe te passen.
Wereldwijde DNS-instellingen wijzigen
U kunt ook Network Manager gebruiken om de systeembrede DNS-instellingen te wijzigen. Hiervoor bewerkt u het /etc/NetworkManager/NetworkManager.conf
bestand en voegt u de optie dns
toe onder de sectie [main]
:
[main]
dns=dnsmasq
Deze instelling stelt Network Manager in staat om dnsmasq
te gebruiken voor het verwerken van DNS-vragen. dnsmasq
is een lichtgewicht DNS-cache en DHCP-server die lokale DNS-queryresolutie en caching biedt, waardoor de DNS-resolutiesnelheid wordt verbeterd.
Na het wijzigen van de instellingen moet u Network Manager herstarten:
sudo systemctl restart NetworkManager
DNS beheren via Network Manager verbetert aanzienlijk de flexibiliteit en het gemak van netwerkconfiguratie. Het stelt gebruikers in staat om DNS-instellingen gemakkelijk aan te passen, waardoor netwerkprestaties en beveiliging worden geoptimaliseerd.
Probleemoplossing: Veelvoorkomende problemen en hun oplossingen
DNS-gerelateerde problemen kunnen zich op verschillende manieren manifesteren, zoals internetverbindingsproblemen, moeilijkheden bij het openen van websites en vertragingen. Hier bespreken we veelvoorkomende DNS-gerelateerde problemen die u op Linux kunt tegenkomen en benaderingen om ze op te lossen.
Trage DNS-resolutie
Als de DNS-resolutie traag is, kan de DNS-server die u gebruikt de oorzaak van de vertraging zijn. Overschakelen naar een andere DNS-server kan het probleem oplossen. Google Public DNS (8.8.8.8 en 8.8.4.4) en Cloudflare DNS (1.1.1.1) zijn snelle en betrouwbare opties.
DNS-resolutiefout
Als de DNS-resolutie faalt, controleer dan eerst of uw systeem naar de juiste DNS-servers wijst. U kunt dit verifiëren met het /etc/resolv.conf
bestand of het systemd-resolve --status
commando. Als de juiste DNS-servers zijn ingesteld en het probleem aanhoudt, kan het wissen van de DNS-cache helpen. Als u systemd-resolved
gebruikt, kunt u de cache wissen met het volgende commando:
sudo systemd-resolve --flush-caches
Niet in staat om specifieke websites te bereiken
Als u problemen heeft met het bereiken van specifieke websites, kunnen er problemen zijn met de DNS-records van die sites, of uw lokale DNS-cache kan verouderde informatie bevatten. Het wissen van de DNS-cache kan het probleem oplossen. Controleer ook of het /etc/hosts
bestand geen handmatig toegevoegde vermeldingen voor die websites bevat.
DNS-server reageert niet
Als de DNS-server die u gebruikt niet reageert, controleer dan eerst of de DNS-server niet werkt of of er problemen zijn met uw netwerkverbinding. U kunt testen of u de DNS-server kunt bereiken met het ping
commando. Als de DNS-server niet reageert, overweeg dan om over te schakelen naar een andere DNS-server.
Door deze algemene probleemoplossingsstappen te proberen, zou u veel DNS-gerelateerde problemen moeten kunnen oplossen. Als het probleem echter aanhoudt, kan verder onderzoek naar netwerkinstellingen of configuratie nodig zijn. In sommige gevallen kan contact opnemen met uw internetdienstaanbieder (ISP) of netwerkbeheerder de juiste koers van actie zijn.
Beveiligingsoverwegingen: Dingen om in gedachten te houden bij het instellen van DNS
Bij het instellen van DNS-configuraties is het belangrijk om beveiligingsimplicaties te overwegen. Onjuiste DNS-instellingen kunnen de kwetsbaarheid voor cyberaanvallen vergroten. Hier introduceren we enkele belangrijke beveiligingsoverwegingen om in gedachten te houden bij het configureren van DNS.
Betrouwbaarheid en beveiliging van DNS-servers
De DNS-server die u kiest, moet betrouwbaar zijn en beveiligingsmaatregelen hebben. Als u een openbare DNS-dienst gebruikt, controleer dan de beveiligingsfuncties die door de dienstverlener worden geboden, zoals ondersteuning voor DNSSEC en het blokkeren van kwaadaardige sites.
Mitigeren van DNS-cachevergiftiging
DNS-cachevergiftiging is een aanval waarbij een aanvaller valse DNS-informatie in de cache injecteert, waardoor gebruikers naar kwaadaardige sites worden geleid, zoals phishing-sites. Het gebruik van DNS-servers die DNSSEC (DNS Security Extensions) ondersteunen, kan bescherming bieden tegen dergelijke aanvallen.
Beveiligen van lokale DNS-serverconfiguratie
Als u uw eigen DNS-server uitvoert, houd dan software-updates actueel, schakel onnodige diensten uit en zorg voor een veilige configuratie. Ook is het correct configureren van de firewall cruciaal om ongeautoriseerde toegang van buitenaf te voorkomen.
Beschermen van privacy
DNS-vragen kunnen het internetgebruikgeschiedenis van gebruikers onthullen. Overweeg het gebruik van DNS-servers die versleutelde DNS-vragen ondersteunen, zoals DNS over HTTPS (DoH) of DNS over TLS (DoT).
Conclusie
Het begrijpen van hoe DNS-servers op Linux te controleren en te configureren en ze op de juiste manier te beheren is cruciaal voor het behouden van netwerkefficiëntie en beveiliging. Dit artikel behandelde DNS-basics, hoe DNS-servers te controleren en in te stellen, DNS beheren met systemd-resolved en Network Manager, probleemoplossing en beveiligingsoverwegingen. Deze kennis toepassen zal een effectievere en veiligere DNS-configuratie op Linux-systemen mogelijk maken.