Slik løser du "Midlertidig feil i navneløsning"-problemet
Noen ganger når du prøver å pinge et nettsted, oppdatere et system eller utføre en oppgave som krever en aktiv internettforbindelse, kan du få feilmeldingen «midlertidig feil i navneoppløsning» på terminalen din.
For eksempel, når du prøver å pinge et nettsted, kan du støte på feilen som vises:
tecmint@ubuntu:~$ ping google.com
ping: linux-console.net: Temporary failure in name resolution
Dette er vanligvis en navneoppløsningsfeil og viser at DNS-serveren din ikke kan løse domenenavnene til deres respektive IP-adresser. Dette kan by på en alvorlig utfordring siden du ikke vil være i stand til å oppdatere, oppgradere eller installere noen programvarepakker på Linux-systemet ditt.
I denne artikkelen vil vi se på noen av årsakene til «midlertidig feil i navneløsning»-feilen og løsninger på dette problemet.
1. Manglende eller feilkonfigurert resolv.conf-fil
/etc/resolv.conf
-filen er resolver-konfigurasjonsfilen i Linux-systemer. Den inneholder DNS-oppføringene som hjelper Linux-systemet med å løse domenenavn til IP-adresser.
Hvis denne filen ikke er til stede eller er der, men du fortsatt har navneoppløsningsfeilen, oppretter eller åpner du filen /etc/resolv.conf
i et tekstredigeringsprogram med root-privilegier.
sudo nano /etc/resolv.conf
OR
sudo vim /etc/resolv.conf
Deretter legger du til Googles offentlige DNS-servere med navneservernøkkelordet etterfulgt av IP-adressen til DNS-serveren.
nameserver 8.8.8.8
nameserver 8.8.4.4
Lagre endringene og start systemd-løst-tjenesten på nytt som vist.
sudo systemctl restart systemd-resolved.service
Det er også klokt å sjekke statusen til løseren og sikre at den er aktiv og kjører som forventet:
sudo systemctl status systemd-resolved.service
Prøv deretter å pinge et hvilket som helst nettsted, og problemet skal være løst.
ping google.com
Etter å ha bekreftet nettverkstilkoblingen, sørg for å redigere /etc/resolv.conf
-filen for å forhindre at den blir overskrevet av nettverksadministrasjonsverktøy.
For å gjøre dette kan du opprette en symbolsk lenke til /dev/null:
sudo ln -sf /dev/null /etc/resolv.conf
Merk: Noen Linux-distribusjoner, spesielt de som bruker NetworkManager, kan automatisk administrere /etc/resolv.conf
-filen. Hvis det er tilfelle, kan det hende at manuell redigering av filen ikke har en varig effekt.
I stedet kan det hende du må konfigurere DNS-innstillinger gjennom riktig nettverksadministrasjonsverktøy eller konfigurasjonsfiler for din spesifikke distribusjon. Sørg for å konsultere distribusjonens dokumentasjon eller støtteressurser for den anbefalte metoden for å konfigurere DNS i slike tilfeller.
2. Brannmurrestriksjoner
Hvis den første løsningen ikke fungerte for deg, kan brannmurrestriksjoner hindre deg i å utføre DNS-spørringer. Sjekk brannmuren din og bekreft om port 53 (brukes for DNS – Domain Name Resolution ) og port 43 (brukes for whois-oppslag) er åpne. Hvis portene er blokkert, åpner du dem på følgende måte:
Åpne DNS-porter på UFW-brannmur
På Debian-baserte distribusjoner må du åpne portene 53 og 43 på UFW-brannmuren ved å kjøre kommandoene nedenfor:
sudo ufw allow 53/tcp
sudo ufw allow 43/tcp
sudo ufw reload
Åpne DNS-porter på FirewallD Firewall
På RHEL-baserte distribusjoner må du åpne portene 53 og 43 på brannmuren ved å kjøre kommandoene nedenfor.
sudo firewall-cmd --add-port=53/tcp --permanent
sudo firewall-cmd --add-port=43/tcp --permanent
sudo firewall-cmd --reload
Det er vårt håp at du nå har en idé om «midlertidig svikt i navneløsning»-feilen og hvordan du kan gå frem for å fikse den i noen få enkle trinn. Som alltid setter vi stor pris på tilbakemeldingen din.