Jinsi ya Kuweka Majina ya Kudumu ya DNS katika Ubuntu na Debian


/etc/resolv.conf ndio faili kuu ya usanidi kwa maktaba ya kisuluhishi cha jina la DNS. Kitatuzi ni seti ya vitendakazi katika maktaba ya C ambayo hutoa ufikiaji wa Mfumo wa Jina la Kikoa cha Mtandao (DNS). Vitendaji vinasanidiwa ili kuangalia maingizo katika /etc/hosts faili, au seva kadhaa za majina ya DNS, au kutumia hifadhidata ya seva pangishi ya Huduma ya Taarifa ya Mtandao (NIS).

Kwenye mifumo ya kisasa ya Linux inayotumia systemd (kidhibiti cha mfumo na huduma), DNS au huduma za utatuzi wa jina hutolewa kwa programu za ndani kupitia huduma iliyotatuliwa kwa mfumo. Kwa chaguo-msingi, huduma hii ina njia nne tofauti za kushughulikia azimio la jina la Kikoa na hutumia faili ya mfumo wa DNS stub (/run/systemd/resolve/stub-resolv.conf) katika hali chaguomsingi ya utendakazi.

Faili ya DNS stub ina stub ya ndani 127.0.0.53 kama seva pekee ya DNS, na inaelekezwa kwenye faili ya /etc/resolv.conf ambayo ilitumika kuongeza seva za jina zinazotumiwa na mfumo.

Ukiendesha ls amri ifuatayo kwenye /etc/resolv.conf, utaona kwamba faili hii ni ulinganifu kwa /run/systemd/resolve/stub-resolv.conf faili.

$ ls -l /etc/resolv.conf

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

Kwa bahati mbaya, kwa sababu /etc/resolv.conf inadhibitiwa kwa njia isiyo ya moja kwa moja na huduma iliyotatuliwa kwa mfumo, na katika hali zingine na huduma ya mtandao (kwa kutumia maandishi au NetworkManager), mabadiliko yoyote yanayofanywa na mtumiaji mwenyewe hayawezi kuhifadhiwa kabisa au tu. kudumu kwa muda.

Katika makala hii, tutaonyesha jinsi ya kusakinisha na kutumia programu ya resolvconf kuweka seva za kudumu za jina la DNS katika faili /etc/resolv.conf chini ya usambazaji wa Debian na Ubuntu Linux.

Kwa nini Ungependa Kuhariri /etc/resolv.conf Faili?

Sababu kuu inaweza kuwa kwa sababu mipangilio ya DNS ya mfumo haijasanidiwa vibaya au unapendelea kutumia seva za majina maalum au yako mwenyewe. Amri ifuatayo ya paka inaonyesha seva ya jina chaguo-msingi katika /etc/resolv.conf faili kwenye mfumo wangu wa Ubuntu.

$ cat /etc/resolv.conf

Katika hali hii, wakati programu za ndani kama vile kidhibiti kifurushi cha APT kinapojaribu kufikia FQDN (Majina ya Vikoa Yanayohitimu Kamili) kwenye mtandao wa ndani, matokeo ni hitilafu ya \Kushindwa kwa muda katika utatuzi wa jina kama inavyoonyeshwa kwenye picha ya skrini inayofuata.

Vile vile hufanyika unapoendesha amri ya ping.

$ ping google.com

Kwa hivyo wakati mtumiaji anajaribu kuweka seva za majina kwa mikono, mabadiliko hayadumu kwa muda mrefu au hubatilishwa baada ya kuwasha tena. Ili kutatua hili, unaweza kusakinisha na kutumia matumizi ya reolvconf ili kufanya mabadiliko kuwa ya kudumu.

Ili kusakinisha kifurushi cha resolvconf kama inavyoonyeshwa katika sehemu ifuatayo, unahitaji kwanza kuweka mwenyewe seva za majina zifuatazo kwenye faili ya /etc/resolv.conf, ili uweze kufikia FQDM za seva hazina za Ubuntu kwenye mtandao.

nameserver 8.8.4.4
nameserver 8.8.8.8

Kufunga resolvconf katika Ubuntu na Debian

Kwanza, sasisha vifurushi vya programu ya mfumo na kisha usakinishe resolvconf kutoka kwa hazina rasmi kwa kuendesha amri zifuatazo.

$ sudo apt update
$ sudo apt install resolvconf

Baada ya usakinishaji wa resolvconf kukamilika, systemd itaanzisha resolvconf.service kuanzishwa na kuwashwa kiotomatiki. Kuangalia ikiwa iko na inaendesha masuala amri ifuatayo.

$ sudo systemctl status resolvconf.service

Ikiwa huduma haijaanzishwa na kuwezeshwa kiatomati kwa sababu yoyote, unaweza kuanza na kuiwezesha kama ifuatavyo.

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

Ifuatayo, fungua /etc/resolvconf/resolv.conf.d/head faili ya usanidi.

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

na ongeza mistari ifuatayo ndani yake:

nameserver 8.8.8.8 
nameserver 8.8.4.4

Hifadhi mabadiliko na uanze upya resolvconf.service na systemd-resolved au anzisha upya mfumo.

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

Sasa unapoangalia faili /etc/resolv.conf, maingizo ya seva ya jina yanapaswa kuhifadhiwa hapo kabisa. Kuanzia sasa, hutakabiliana na masuala yoyote kuhusu utatuzi wa jina kwenye mfumo wako.

Natumai nakala hii ya haraka ilikusaidia katika kuweka seva za majina za DNS katika mifumo yako ya Ubuntu na Debian. Ikiwa una maswali au mapendekezo, shiriki nasi katika sehemu ya maoni hapa chini.