Pysyvien DNS-nimipalvelimien asettaminen Ubuntuun ja Debianiin


/etc/resolv.conf on DNS-nimenratkaisukirjaston päämääritystiedosto. Ratkaisija on joukko C-kirjaston toimintoja, jotka tarjoavat pääsyn Internet Domain Name Systemiin (DNS). Toiminnot on määritetty tarkistamaan merkinnät /etc/hosts-tiedostossa tai useissa DNS-nimipalvelimissa tai käyttämään isäntäkoneen Network Information Service -tietokantaa (NIS ).

Nykyaikaisissa Linux-järjestelmissä, jotka käyttävät systemd- (järjestelmä- ja palveluhallintaa), DNS- tai nimenratkaisu-palvelut tarjotaan paikallisille sovelluksille >järjestelmällä ratkaistu palvelu. Tässä palvelussa on oletusarvoisesti neljä erilaista tilaa toimialueen nimen selvittämiseen, ja se käyttää systemd DNS-kantatiedostoa (/run/systemd/resolve/stub-resolv.conf) oletustoimintatilassa.

DNS-kantatiedosto sisältää paikallisen stub 127.0.0.53 -tiedoston ainoana DNS-palvelimena, ja se ohjataan /etc/resolv.conf-tiedostoon, jota käytettiin järjestelmän käyttämät nimipalvelimet.

Jos suoritat seuraavan ls-komennon tiedostossa /etc/resolv.conf, näet, että tämä tiedosto on symbolilinkki tiedostoon /run/systemd/resolve/stub-resolv.conf<. tiedosto.

ls -l /etc/resolv.conf

lrwxrwxrwx 1 root root 39 Feb 15  2019 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf

Valitettavasti, koska tiedostoa /etc/resolv.conf hallitsee epäsuorasti systemd-resolved-palvelu ja joissain tapauksissa verkkopalvelu (käyttäen initscripts< tai NetworkManager), käyttäjän manuaalisesti tekemiä muutoksia ei voida tallentaa pysyvästi tai ne kestävät vain hetken.

Tässä artikkelissa näytämme, kuinka resolvconf-ohjelma asennetaan ja käytetään pysyvien DNS-nimipalvelimien asettamiseen /etc/resolv.conf-tiedostossa Debianissa. ja Ubuntu Linux-jakeluissa.

Miksi haluat muokata /etc/resolv.conf-tiedostoa?

Pääsyynä voi olla se, että järjestelmän DNS-asetukset on määritetty väärin tai haluat käyttää tiettyjä nimipalvelimia tai omia nimipalvelimia. Seuraava cat-komento näyttää oletusnimipalvelimen /etc/resolv.conf-tiedostossa Ubuntu-järjestelmässäni.

cat /etc/resolv.conf

Tässä tapauksessa, kun paikalliset sovellukset, kuten APT-paketinhallinta, yrittävät käyttää FQDN:itä (Fully Qualified Domain Names) paikallisessa verkossa, tuloksena on " Väliaikainen virhe nimenselvityksessä” -virhe, kuten seuraavassa kuvakaappauksessa näkyy.

Sama tapahtuu, kun suoritat ping-komennon.

ping google.com

Joten kun käyttäjä yrittää asettaa nimipalvelimet manuaalisesti, muutokset eivät kestä kauan tai ne peruutetaan uudelleenkäynnistyksen jälkeen. Voit ratkaista tämän asentamalla reolvconf-apuohjelman ja tekemään muutokset pysyviksi.

Jos haluat asentaa resolvconf-paketin seuraavassa osiossa kuvatulla tavalla, sinun on ensin asetettava manuaalisesti seuraavat nimipalvelimet /etc/resolv.conf-tiedostoon, jotta pääset Ubuntu-arkistopalvelimien FQDM:t Internetissä.

nameserver 8.8.4.4
nameserver 8.8.8.8

Lue myös: Paikallisen DNS:n määrittäminen /etc/hosts-tiedoston avulla Linuxissa

Resolvconfin asentaminen Ubuntuun ja Debianiin

Päivitä ensin järjestelmäohjelmistopaketit ja asenna sitten resolvconf virallisista tietovarastoista suorittamalla seuraavat komennot.

sudo apt update
sudo apt install resolvconf

Kun resolvconf-asennus on valmis, systemd käynnistää resolvconf.service -palvelun, joka käynnistyy ja otetaan käyttöön automaattisesti. Jos haluat tarkistaa, onko se käynnissä, antaa seuraavan komennon.

sudo systemctl status resolvconf.service

Jos palvelu ei jostain syystä käynnisty ja ota käyttöön automaattisesti, voit käynnistää ja ottaa sen käyttöön seuraavasti.

sudo systemctl start resolvconf.service
sudo systemctl enable resolvconf.service
sudo systemctl status resolvconf.service

Aseta pysyvät DNS-nimipalvelimet Ubuntuun ja Debianiin

Avaa seuraavaksi /etc/resolvconf/resolv.conf.d/head-määritystiedosto.

sudo nano /etc/resolvconf/resolv.conf.d/head

ja lisää siihen seuraavat rivit:

nameserver 8.8.8.8 
nameserver 8.8.4.4

Tallenna muutokset ja käynnistä resolvconf.service ja systemd-resolved uudelleen tai käynnistä järjestelmä uudelleen.

sudo systemctl restart resolvconf.service
sudo systemctl restart systemd-resolved.service

Nyt kun tarkistat tiedoston /etc/resolv.conf, nimipalvelinmerkinnät pitäisi tallentaa sinne pysyvästi. Tästä eteenpäin et kohtaa mitään ongelmia, jotka liittyvät nimenratkaisuun järjestelmässäsi.

Toivon, että tämä nopea artikkeli auttoi sinua määrittämään pysyviä DNS-nimipalvelimia Ubuntu- ja Debian-järjestelmissäsi. Jos sinulla on kysyttävää tai ehdotuksia, jaa ne kanssamme alla olevassa kommenttiosassa.