"Tilapäinen virhe nimenratkaisussa" -ongelman ratkaiseminen
Joskus kun yrität pingata verkkosivustoa, päivittää järjestelmää tai suorittaa mitä tahansa tehtävää, joka vaatii aktiivista Internet-yhteyttä, saatat saada päätelaitteeseesi virheilmoituksen tilapäinen virhe nimenratkaisussa.
Kun esimerkiksi yrität pingata verkkosivustoa, saatat törmätä seuraavaan virheeseen:
tecmint@ubuntu:~$ ping google.com
ping: linux-console.net: Temporary failure in name resolution
Tämä on yleensä nimenselvitysvirhe ja osoittaa, että DNS-palvelimesi ei pysty ratkaisemaan toimialuenimiä vastaaviksi IP-osoitteiksi. Tämä voi olla vakava haaste, koska et voi päivittää, päivittää tai edes asentaa ohjelmistopaketteja Linux-järjestelmääsi.
Tässä artikkelissa tarkastellaan joitain tilapäisen epäonnistumisen nimenratkaisussa -virheen syitä ja ratkaisuja tähän ongelmaan.
1. Puuttuva tai väärin määritetty resolv.conf-tiedosto
/etc/resolv.conf
-tiedosto on Linux-järjestelmien määritystiedosto. Se sisältää DNS-merkinnät, jotka auttavat Linux-järjestelmääsi ratkaisemaan verkkotunnuksia IP-osoitteiksi.
Jos tätä tiedostoa ei ole tai se on olemassa, mutta nimenselvitysvirhe esiintyy edelleen, luo tai avaa /etc/resolv.conf
-tiedosto tekstieditorissa pääkäyttäjän oikeuksin.
sudo nano /etc/resolv.conf
OR
sudo vim /etc/resolv.conf
Lisää seuraavaksi Googlen julkiset DNS-palvelimet nimipalvelimen avainsanalla ja sen jälkeen DNS-palvelimen IP-osoitteella.
nameserver 8.8.8.8
nameserver 8.8.4.4
Tallenna muutokset ja käynnistä systemd-resolved-palvelu uudelleen kuvan mukaisesti.
sudo systemctl restart systemd-resolved.service
On myös järkevää tarkistaa ratkaisejan tila ja varmistaa, että se on aktiivinen ja toimii odotetulla tavalla:
sudo systemctl status systemd-resolved.service
Yritä sitten pingata mitä tahansa verkkosivustoa, niin ongelman pitäisi olla ratkaistu.
ping google.com
Kun olet vahvistanut verkkoyhteyden, muista muokata /etc/resolv.conf
-tiedostoa, jotta verkon hallintatyökalut eivät korvaa sitä.
Voit tehdä tämän luomalla symbolisen linkin osoitteeseen /dev/null:
sudo ln -sf /dev/null /etc/resolv.conf
Huomaa: jotkin Linux-jakelut, erityisesti NetworkManageria käyttävät, voivat hallita /etc/resolv.conf
-tiedostoa automaattisesti. Jos näin on, tiedoston manuaalisella muokkaamisella ei ehkä ole pysyvää vaikutusta.
Sen sijaan saatat joutua määrittämään DNS-asetukset sopivan verkonhallintatyökalun tai määritystiedostojen avulla. Muista katsoa jakelusi dokumentaatiosta tai tukiresursseista suositeltu DNS-määritystapa tällaisissa tapauksissa.
2. Palomuurin rajoitukset
Jos ensimmäinen ratkaisu ei toiminut sinulle, palomuurirajoitukset voivat estää sinua suorittamasta DNS-kyselyitä onnistuneesti. Tarkista palomuurisi ja varmista, että portti 53 (käytetään DNS:lle – Domain Name Resolution ) ja portti 43 (käytetään whois-hakuun) ovat auki. Jos portit ovat tukossa, avaa ne seuraavasti:
Avaa DNS-portit UFW-palomuurissa
Debian-pohjaisissa jakeluissa sinun on avattava portit 53 ja 43 UFW-palomuurissa suorittamalla alla olevat komennot:
sudo ufw allow 53/tcp
sudo ufw allow 43/tcp
sudo ufw reload
Avaa DNS-portit FirewallD-palomuurissa
RHEL-pohjaisissa jakeluissa sinun on avattava Firewalld-palomuurin portit 53 ja 43 suorittamalla alla olevat komennot.
sudo firewall-cmd --add-port=53/tcp --permanent
sudo firewall-cmd --add-port=43/tcp --permanent
sudo firewall-cmd --reload
Toivomme, että sinulla on nyt käsitys 'tilapäisestä nimenselvittelyvirheestä' -virheestä ja kuinka voit korjata sen muutamalla yksinkertaisella vaiheella. Kuten aina, palautettasi arvostetaan suuresti.