Hvis Linux ser ud til at have en fungerende internetforbindelse, men websites ikke kan åbnes, eller hvis adgang via IP-adresse virker, men ikke via domænenavn, skyldes problemet ofte DNS-opløsning. DNS har til opgave at oversætte domænenavne som example.com til reelle IP-adresser. Hvis denne proces fejler, kan netværket stadig se aktivt ud, men normal brug af internettet bliver stærkt begrænset.
Typiske symptomer
- Browseren viser, at serveren ikke kan findes
ping 8.8.8.8virker, menping google.comfejler- Pakkestyringsværktøjer som
apt,dnf,yumogpacmanvirker ikke korrekt - Fejlmeddelelsen
Temporary failure in name resolutionvises
Hvad bør du kontrollere først
Først skal du afgøre, om problemet påvirker hele netværket eller kun DNS.
ping -c 4 8.8.8.8
ping -c 4 google.com
ip addr
ip route
Hvis 8.8.8.8 svarer, men google.com ikke gør, peger det stærkt på et DNS-problem. Hvis selv IP-adresser ikke kan nås, ligger årsagen sandsynligvis i Wi-Fi, netværkskortet, gatewayen eller routing.
Vigtigste årsager
1. Forkert konfiguration i /etc/resolv.conf
På mange Linux-systemer gemmes oplysninger om DNS-servere i /etc/resolv.conf. Hvis der ikke står en gyldig nameserver her, vil domænenavne ikke kunne oversættes.
cat /etc/resolv.conf
Eksempel:
nameserver 8.8.8.8
nameserver 1.1.1.1
Hvis filen er tom eller peger på en forkert lokal DNS, opstår problemet. På moderne Linux-systemer bliver denne fil dog ofte automatisk genereret af NetworkManager eller systemd-resolved, så manuelle ændringer kan blive overskrevet.
2. Problem med systemd-resolved
På systemer som Ubuntu håndterer systemd-resolved ofte DNS-opløsning og bruger 127.0.0.53 som lokal resolver. Hvis denne tjeneste stopper, kan DNS holde op med at virke.
systemctl status systemd-resolved
resolvectl status
Hvis der er et problem, kan du genstarte tjenesten:
sudo systemctl restart systemd-resolved
3. NetworkManager anvender ikke DNS korrekt
På Linux-desktops henter NetworkManager ofte DNS-oplysninger via DHCP. Hvis netværksprofilen er beskadiget, eller hvis genforbindelsen mislykkes, bliver de rigtige DNS-servere måske ikke brugt.
nmcli dev show | grep DNS
nmcli connection show
Genstart det om nødvendigt:
sudo systemctl restart NetworkManager
4. Påvirkning fra VPN, proxy eller firewall
En VPN kan sende DNS-forespørgsler ad en forkert rute, og en firewall kan blokere port 53. I sådanne tilfælde ser netværket ud til at fungere, men domænenavne kan ikke opløses.
5. Ødelagt eller forældet DNS-cache
Hvis den lokale cache er beskadiget eller for gammel, kan visse domæner holde op med at virke. På systemer med systemd-resolved eller nscd kan det hjælpe at rydde cachen.
sudo resolvectl flush-caches
Praktiske trin til fejlfinding
Trin 1: Test direkte mod en offentlig DNS
nslookup google.com 8.8.8.8
dig google.com @8.8.8.8
Hvis dette virker, er den eksterne DNS sandsynligvis i orden, og problemet ligger mere lokalt.
Trin 2: Indstil midlertidigt en offentlig DNS
sudo sh -c 'printf "nameserver 8.8.8.8\nnameserver 1.1.1.1\n" > /etc/resolv.conf'
Dette er kun en midlertidig løsning. Efter genstart eller genforbindelse kan filen blive ændret igen. For en permanent løsning skal konfigurationen i NetworkManager, netplan eller systemd-resolved rettes.
Trin 3: Kontroller netplan på Ubuntu
sudo nano /etc/netplan/*.yaml
Eksempel:
nameservers:
addresses: [8.8.8.8,1.1.1.1]
Anvend derefter ændringen:
sudo netplan apply
Trin 4: Hent DHCP-oplysninger igen
sudo dhclient -r
sudo dhclient
Hvis DHCP-serveren har leveret forkerte DNS-oplysninger, kan dette hjælpe.
Nyttige kommandoer til kontrol
ping -c 4 8.8.8.8
ping -c 4 google.com
cat /etc/resolv.conf
systemctl status systemd-resolved
resolvectl status
nmcli dev show | grep DNS
nslookup google.com
dig google.com
journalctl -u systemd-resolved --no-pager | tail -n 50
Sådan undgår du, at problemet kommer igen
- Nøjes ikke kun med at redigere
/etc/resolv.confmanuelt - Forstå, om DNS styres af DHCP, NetworkManager eller systemd-resolved
- Kontrollér DNS-indstillinger efter opsætning af VPN
- På servere er det bedst tydeligt at angive faste DNS-servere
Konklusion
Når Linux ikke kan opløse DNS-navne, er det vigtigste første skridt at kontrollere, om forbindelsen via IP-adresse stadig virker. Det gør det nemt at afgøre, om problemet kun ligger i DNS eller i hele netværket. Derefter bør /etc/resolv.conf, systemd-resolved, NetworkManager, DHCP og VPN-indstillinger kontrolleres systematisk. Målet er ikke kun en midlertidig løsning, men også at forstå, hvilken komponent der faktisk styrer DNS på systemet.