"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.