Mwongozo wa Mipangilio ya DNS ya Ubuntu (22.04/24.04): Kagua, Badilisha, na Rekebisha Utatuzi wa Majina

目次

1. Utangulizi

Unapotumia mtandao kwenye Ubuntu, unaweza ghafla kukutana na matatizo kama “tovuti hazipakii,” “apt update inashindwa,” au “majina ya mizunguko ya seva za ndani hayawezi kutatuliwa.”
Sababu moja ya kushangaza sana ni usanidi wa DNS (tatizo la majina).

Kwa maneno rahisi, DNS ni mfumo unaobadilisha jina la kikoa (kwa mfano, google.com) kuwa anwani ya IP.
Ikiwa DNS haifanyi kazi vizuri, bado unaweza kuwa umeunganishwa kwenye mtandao, lakini hutaweza kufikia tovuti au seva.

Katika makala hii, kufuata neno kuu “ubuntu dns settings”, tutapanga na kueleza wazi jinsi ya kuangalia na kubadilisha usanidi wa DNS kwenye Ubuntu kwa njia inayofaa wanaoanza.

1.1 Utakachagua Nini Katika Makala Hii

Kufikia mwisho wa makala hii, utaweza kufanya yafuatayo:

  • Kuangalia usanidi wako wa sasa wa DNS kwenye Ubuntu
  • Kubadilisha usanidi wa DNS kwenye Ubuntu Desktop (GUI)
  • Kuweka DNS kwa kudumu kwenye Ubuntu Server (CLI)
  • Kuelewa uhusiano kati ya systemd-resolved na /etc/resolv.conf
  • Kutatua matatizo ambapo mabadiliko ya DNS hayatumiki au tatizo la majina linashindwa

1.2 Makala Hii Ni Kwa Nani

Yaliyomo hapa yanafaa vizuri kwa watu kama hawa:

  • Uko mpya kwenye Ubuntu na neno “DNS” bado halijeleweka vizuri
  • Unaendesha Ubuntu Server kwenye VPS au seva ya nyumbani
  • Mtandao wako umeunganishwa, lakini wavuti na sasisho hazifanyi kazi
  • Unataka kushika DNS (tumia Google DNS / Cloudflare DNS, n.k.)

1.3 Usanidi wa DNS wa Ubuntu Unaweza Kuwa Uchangamfu: “Unapaswa Kubadilisha Wapi?”

Usanidi wa DNS wa Ubuntu mara nyingi huhisi kuwa mgumu kwa sababu hakuna mahali pamoja ambapo unaingiza “DNS.”

Kulingana na mazingira yako, Ubuntu inaweza kusimamia DNS kwa njia tofauti:

  • Ubuntu Desktop : Mara nyingi huwekwa kupitia GUI (Mipangilio ya Mtandao)
  • Ubuntu Server : Mara nyingi husimamiwa kupitia Netplan (faili za usanidi)
  • Sehemu ya kawaida : systemd-resolved inaweza kusimamia tatizo la majina nyuma ya pazia

Pia, /etc/resolv.conf—ambayo mara nyingi hutajwa katika miongozo ya mitandao—inaweza kuwa na tabia tofauti kulingana na usanidi wako wa Ubuntu, na katika baadhi ya hali kuibadilisha moja kwa moja hakutachukua athari.

Ikiwa hujui hili, unaweza kuishia kwa urahisi katika hali kama hizi:

  • Ulibadilisha mipangilio, lakini hakuna uboreshaji wowote
  • Ilifanya kazi—kisha ikarudi nyuma baada ya kuwasha upya
  • Hujui maagizo ya makala gani ya kuamini

Katika makala hii, ili kuepuka uchangamfu huo, tutapanga usanidi wa DNS wa Ubuntu kwa utaratibu na kueleza wazi.

1.4 Matoleo Yanayoungwa Mkono ya Ubuntu

Makala hii haswa inachukulia matoleo haya ya kawaida ya Ubuntu:

  • Ubuntu 22.04 LTS
  • Ubuntu 24.04 LTS

Hata hivyo, dhana za msingi za DNS na njia za kuthibitisha ni sawa kwa kiasi kikubwa katika matoleo mengine.
Ni maelezo madogo tu (kama majina ya faili za Netplan) yanayoweza kutofautiana.

2. Msingi wa DNS (Maneno Muhimu)

Ili kuweka DNS vizuri kwenye Ubuntu, inasaidia kuelewa—kwenye kiwango cha juu—DNS inafanya nini na inasimamiwa wapi.
Hapa, tutaiweka rahisi kwa wanaoanza na kuzingatia muhimu tu.

2.1 DNS Ni Nini? (Maelezo Mafupi Yanatosha)

DNS (Domain Name System) ni mfumo unaobadilisha majina ya kikoa kuwa anwani za IP.

Kwa mfano, unaweza kufikia yafuatayo kwenye kivinjari chako:

  • https://www.google.com

Lakini kompyuta mara nyingi huwasiliana kwa kutumia anwani za IP.

  • Anwani ya nambari kama 142.250.xxx.xxx

Kwa hivyo DNS inafanya kazi nyuma ya pazia ili kufanya ubadilishaji kama huu:

  • www.google.com142.250.xxx.xxx

Ubadilishaji huu unaitwa tatizo la majina, na unaruhusu mfumo wako kuunganishwa na seva sahihi.

Kwa maneno mengine, DNS ni kama “simu ya mtandao” au “kitabu cha anwani.”

2.2 Wakati Usanidi wa DNS Unahitajika

Usanidi wa DNS unakuwa muhimu haswa kwenye Ubuntu katika hali kama hizi:

  • Tovuti hazita pakia (lakini Wi‑Fi/LAN imeunganishwa)
  • apt update au masasisho ya snap yanashindwa
  • Utatuzi wa majina unashindwa katika mazingira ya Docker au Kubernetes
  • Majina ya mwenyeji ya ndani (kwa mfano intra-server.local) hayawezi kutatuliwa
  • Ni wakati tu wa miunganisho ya VPN, vikoa fulani haviwezi kutatuliwa
  • Unataka kutumia DNS ya kuzuia matangazo au DNS ya haraka

Kwa kuwa DNS iko karibu na “kiini” cha kama mtandao unafanya kazi, inaonekana mara kwa mara katika utatuzi wa matatizo.

2.3 DNS Server ni Nini? (Unamwuliza Wapi?)

Ubadilishaji wa DNS si kitu ambacho PC yako inahesabu mwenyewe.
Kawaida, inafanya ulizo kwa seva ya DNS na kupokea matokeo.

Wakati Ubuntu inafanya utatuzi wa majina, kwa ujumla hufuata mtiririko huu:

  1. Ubuntu inafanya ulizo kwa seva ya DNS
  2. Seva ya DNS inajibu: “Kikoa hiki kinahusishwa na IP hii”
  3. Ubuntu inaunganisha kwa IP hiyo

Seva za DNS kwa kawaida hutoka sehemu kama:

  • Router yako (router ya nyumbani ya Wi‑Fi hutoa DNS)
  • Seva za DNS za kampuni/ndani
  • DNS ya umma (Google DNS / Cloudflare DNS, n.k.)

Hapa kuna chaguzi maarufu za DNS ya umma:

  • Google Public DNS : 8.8.8.8 / 8.8.4.4
  • Cloudflare DNS : 1.1.1.1 / 1.0.0.1

Hakuna chaguo “sahihi” moja—kilicho muhimu ni kuchagua kinachofaa mazingira yako na malengo yako.

2.4 Kwa Nini Mipangilio ya DNS Inakuwa Ngumu Kidogo kwenye Ubuntu

Kwenye Windows na baadhi ya mifumo mingine ya uendeshaji, sehemu ya kubadilisha DNS ni rahisi kwa kiasi.
Hata hivyo, kwenye Ubuntu, usanidi unaweza kutofautiana, kama vile:

  • Inasimamiwa kupitia GUI (NetworkManager)
  • Inasimamiwa kupitia Netplan
  • systemd-resolved inasimamia usindikaji wa DNS katikati
  • /etc/resolv.conf inaweza kuwa kiungo badala ya faili “halisi”

Kwa sababu hiyo, unapojisoma mwongozo mtandaoni, unaweza kuona ushauri unaokinzana kama:

  • “Hariri tu /etc/resolv.conf
  • “Hapana—lazima useti Netplan”
  • “Unapaswa kubadilisha mipangilio ya systemd-resolved

Ni rahisi kuchanganyikiwa.

Lakini usijali.
Sio kwamba “kila kitu kimekosewa”—ni kwamba utaratibu sahihi unategemea usanidi wako wa Ubuntu.

Makala hii pia itafafanua jinsi ya kutambua ni njia ipi inayofaa kwa usanidi wako.

2.5 Faili Muhimu na Vipengele Utakavyokutana navyo katika Usimamizi wa DNS wa Ubuntu

Hebu tuchapishe haraka maneno yanayotumika mara kwa mara katika mwongozo wa usanidi wa DNS.

2.5.1 /etc/resolv.conf ni Nini?

/etc/resolv.conf ni faili la usanidi wa DNS la jadi linalotumika katika Linux kwa muda mrefu.

Maudhui yake kwa kawaida yanaonekana kama haya:

nameserver 8.8.8.8
nameserver 1.1.1.1

Hata hivyo, kwenye Ubuntu, faili hii si mara zote hutumika moja kwa moja.

Kwenye Ubuntu ya kisasa, /etc/resolv.conf mara nyingi ni kiungo cha ishara kinachoelekeza kwenye faili lingine, kama vile:

  • Faili linalojitengeneza moja kwa moja na systemd-resolved
  • Faili linalojitengeneza na NetworkManager

Ndiyo sababu mabadiliko ya moja kwa moja yanaweza kuandikwa tena.

2.5.2 systemd-resolved ni Nini?

systemd-resolved ni huduma inayosimamia utatuzi wa majina ya DNS kwenye Ubuntu.

Sifa kuu ni pamoja na:

  • Inarahisisha kuweka usanidi wa DNS katikati
  • Inatoa uhifadhi wa DNS (caching)
  • Inaweza kushughulikia kiolesura nyingi (Wi‑Fi na VPN, n.k.)

Kulingana na mazingira yako, hii inaweza kuwa “katikati” halisi ya usanidi wa DNS.

2.5.3 Netplan ni Nini?

Netplan ni mfumo wa usanidi wa mtandao unaotumika sana kwenye Ubuntu Server.
Unafafanua mipangilio ya mtandao kwa kutumia faili za YAML.

DNS pia inaweza kujumuishwa katika usanidi wa Netplan, pamoja na:

  • Anuani ya IP
  • Lango (gateway)
  • Seva za DNS

Kwa kuwa unaweza kusimamia kila kitu pamoja, ni njia ya kawaida kwa matumizi ya seva.

2.6 Jambo Muhimu Zaidi Wakati wa Kubadilisha DNS: Udhumu

Wakati wa kuweka DNS kwenye Ubuntu, jambo muhimu zaidi—hasa kwenye seva—ni:

  • Je, usanidi utaendelea baada ya kuanzisha upya? (Udhumu)

Unaweza wakati mwingine kubadilisha DNS kwa muda, lakini inaweza kurudi nyuma wakati:

  • Umeanzisha upya
  • Umeunganisha upya mtandao
  • DHCP inafanyia upya
  • VPN imekatika

Katika makala hii, hatutaangalia “ufumbuzi wa haraka,” bali jinsi ya kudumisha mipangilio ya DNS kwa usahihi kulingana na lengo lako.

3. Jinsi ya Kuthibitisha Mipangilio ya DNS ya Sasa kwenye Ubuntu

Kabla ya kubadilisha mipangilio ya DNS, unapaswa kwanza kuthibitisha Ubuntu inatumia nini kwa sasa.
Ukikosa hatua hii, unaweza kubadilisha sehemu isiyo sahihi na hakuna kitu kitakachoboreka.

Katika sehemu hii, tutapitia njia za kuaminika za kukagua mipangilio ya DNS kwenye Ubuntu, ikijumuisha mazingira ya Desktop na Server.

3.1 Kagua DNS kwa kutumia resolvectl (Inashauriwa)

Kama Ubuntu yako inatumia systemd-resolved, njia sahihi zaidi ya kukagua DNS ni resolvectl.

Endesha amri hii:

resolvectl status

Utaona taarifa kama:

  • Vifaa vya DNS vinavyotumika kwa sasa
  • Kiolesura (Wi‑Fi / Ethernet / VPN) kinachotoa DNS
  • Vikoa vya utafutaji (ikiwa vimewekwa)

Kama matokeo yanaonyesha seva ya DNS ambayo hukutarajia (kama IP ya router yako), hilo linaweza kuelezea utulivu au kutokuwepo kwa utatuzi wa majina.

3.2 Kagua /etc/resolv.conf (Lakini Kuwa Makini)

Miongozo mingi inataja kukagua /etc/resolv.conf kwa sababu kwa historia ina mipangilio ya DNS.

Unaweza kukagua kwa:

cat /etc/resolv.conf

Matokeo ya kawaida yanaweza kuonekana kama:

nameserver 127.0.0.53
options edns0 trust-ad
search example.local

Kama unaona 127.0.0.53, kawaida ina maana Ubuntu inatumia systemd-resolved na /etc/resolv.conf inaelekeza kwa resolver ndogo ya ndani.

Katika hali hiyo, seva za DNS “halisi” zinapendekezwa kuthibitishwa kwa kutumia resolvectl status.

3.3 Thibitisha Ikiwa /etc/resolv.conf Ni Kiungo (Symlink)

Kwenye Ubuntu, /etc/resolv.conf mara nyingi ni kiungo cha ishara (symlink).
Kama ni hivyo, mabadiliko ya moja kwa moja huenda yasidumu.

Kukagua kwa kutumia:

ls -l /etc/resolv.conf

Kama unaona kitu kama hiki, ni kiungo:

/etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf

Hii ni kawaida kwenye Ubuntu ya kisasa, na ina maana DNS inasimamiwa kupitia huduma za mfumo badala ya kuhariri faili hii moja kwa moja.

3.4 Kagua DNS kupitia NetworkManager (Watumiaji wa Desktop)

Kama unatumia Ubuntu Desktop, DNS mara nyingi inasimamiwa na NetworkManager.
Unaweza kukagua mipangilio ya muunganisho wako unaotumika kwa amri hii:

nmcli dev show

Tafuta mistari kama:

  • IP4.DNS[1]
  • IP4.DNS[2]

Hii inaonyesha seva za DNS ambazo NetworkManager inatumia kwa muunganisho wako kwa sasa.

3.5 Jaribio la Haraka la Kazi ya DNS (Je, Utatuzi wa Majina Unafanya?)

Hata kama seva zako za DNS zimewekwa, utatuzi wa majina unaweza bado kushindwa kutokana na matatizo ya mtandao au ukuta wa moto.
Kwa hivyo ni msaada kufanya jaribio rahisi.

Jaribu hii:

ping -c 1 google.com

Kama inatatua na kupiga ping kwa mafanikio, DNS inaonekana kufanya kazi.

Kama upata kosa kama:

ping: google.com: Temporary failure in name resolution

Hilo linaashiria kwa nguvu kwamba DNS inashindwa.

Ili kuthibitisha mtandao wenyewe unafanya kazi, unaweza pia kupiga ping kwa anwani ya IP ya umma moja kwa moja:

ping -c 1 1.1.1.1

Kama ping ya IP inafanya kazi lakini majina ya kikoa yanashindwa, tatizo linawezekana kuwa la DNS.

4. Jinsi ya Kubadilisha Mipangilio ya DNS kwenye Ubuntu Desktop (Njia ya GUI)

Kama unatumia Ubuntu Desktop, njia rahisi na salama zaidi ya kubadilisha mipangilio ya DNS ni kupitia mipangilio ya mtandao ya GUI.
Njia hii ni rafiki kwa wanaoanza na mipangilio inabaki baada ya kuwasha upya.

4.1 Badilisha DNS kwenye Ubuntu Desktop (Wi‑Fi)

Fuata hatua hizi kubadili DNS kwa muunganisho wa Wi‑Fi:

  1. Fungua Settings
  2. Nenda kwenye Network (au Wi‑Fi )
  3. Chagua mtandao wako wa Wi‑Fi uliounganishwa
  4. Bofya icon ya gear (mipangilio ya muunganisho)
  5. Fungua kichupo cha IPv4
  6. Pata DNS na badilisha kutoka Automatic hadi Manual
  7. Ingiza seva zako za DNS unazopendelea
  8. Hifadhi mipangilio

Mfano wa seva za DNS unazoweza kuingiza:

  • Cloudflare: 1.1.1.1, 1.0.0.1
  • Google: 8.8.8.8, 8.8.4.4

Baada ya kuhifadhi, kata muunganisho na uunganishe tena kwa Wi‑Fi, au zima na washa Wi‑Fi, ili kuhakikisha mabadiliko yanatumika.

4.2 Badilisha DNS kwenye Ubuntu Desktop (Wired Ethernet)

  1. Fungua Settings
  2. Nenda kwa Network
  3. Chini ya Wired, bonyeza gear icon
  4. Fungua kichupo cha IPv4
  5. Badilisha DNS kutoka Automatic hadi Manual
  6. Ingiza seva za DNS
  7. Hifadhi

Hii ni njia thabiti kwa kompyuta za mezani, hasa unapohitaji tabia ya DNS thabiti kwa kazi za maendeleo au upatikanaji wa mbali.

4.3 Mipangilio ya DNS ya IPv6 (Hiari)

Kama mazingira yako yanatumia IPv6, unaweza pia kutaka kusanidi DNS chini ya kichupo cha IPv6.

Mfano wa seva za DNS za IPv6:

  • Cloudflare IPv6: 2606:4700:4700::1111 / 2606:4700:4700::1001
  • Google IPv6: 2001:4860:4860::8888 / 2001:4860:4860::8844

Kama hutumii IPv6 au huna uhakika, ni sawa kuacha DNS ya IPv6 iwe kiotomatiki.

4.4 Thibitisha Mabadiliko Yamefanya Kazi

Baada ya kubadilisha DNS kupitia GUI, thibitisha kwa kutumia:

resolvectl status

Au ikiwa unapendelea matokeo ya NetworkManager:

nmcli dev show | grep DNS

Halafu jaribu utatuzi wa majina tena:

ping -c 1 google.com

Kama inafanya kazi, mipangilio yako ya DNS imewekwa kwa mafanikio.

4.5 Hitilafu ya Kawaida: “Bado Inatumia DNS ya Router”

Wakati mwingine, hata baada ya kuweka DNS kwa mkono, unaweza bado kuona IP ya router yako kama seva ya DNS.

Hii inaweza kutokea ikiwa:

  • Muunganisho haujarudi kuunganishwa vizuri
  • Profaili nyingine ya mtandao iko hai
  • VPN inabadili mipangilio ya DNS

Katika hali hizo, jaribu kukata muunganisho na kuunganisha tena, au kuzima VPN kwa muda, kisha angalia tena kwa kutumia resolvectl status.

5. Jinsi ya Kubadilisha Mipangilio ya DNS kwenye Ubuntu Server (Njia ya Netplan)

Kwenye Ubuntu Server, usanidi wa DNS kawaida husimamiwa kupitia Netplan.
Njia hii ni tofauti na Ubuntu Desktop, kwa sababu kawaida unahariri faili ya YAML na kutekeleza usanidi.

Katika sehemu hii, utajifunza jinsi ya kusasisha mipangilio ya DNS kwa usalama kwa kutumia Netplan, ikijumuisha jinsi ya kuepuka makosa ya kawaida ya YAML.

5.1 Thibitisha Jina la Kiungo cha Mtandao

Kwa awali, thibitisha jina la kiungo chako cha mtandao.
Kwenye seva, majina ya kiungo mara nyingi yanaonekana kama ens3, ens160, enp0s3, n.k.

Tumia amri hii:

ip link

Tafuta kiungo ambacho kiko “UP” na kinachotumika kwa muunganisho wako unaofanya kazi.

5.2 Pata Faili Lako la Usanidi wa Netplan

Faili za usanidi wa Netplan kawaida hupatikana chini ya /etc/netplan/.

Orodhesha kwa kutumia:

ls /etc/netplan/

Unaweza kuona faili kama:

00-installer-config.yaml
01-netcfg.yaml

Kawaida kuna faili moja kuu ya YAML. Hiyo ndiyo utakayohariri.

5.3 Hariri YAML ya Netplan ili Kuweka Seva za DNS

Fungua faili kwa mhariri kama nano:

sudo nano /etc/netplan/00-installer-config.yaml

Hapa chini ni mfano wa kawaida kwa seva inayotumia DHCP, ambapo tunaseti seva za DNS kwa mkono:

network:
  version: 2
  ethernets:
    ens3:
      dhcp4: true
      nameservers:
        addresses:
          - 1.1.1.1
          - 1.0.0.1

Vidokezo muhimu:

  • nameservers lazima iwe imepangwa sahihi (uhifadhi wa nafasi katika YAML ni muhimu).
  • addresses ni orodha, hivyo tumia - kwa kila seva ya DNS.

Kama seva yako inatumia IP ya kudumu, usanidi wa DNS utawekwa sambamba na usanidi wa anwani ya kudumu. Mfano:

network:
  version: 2
  ethernets:
    ens3:
      dhcp4: false
      addresses:
        - 192.168.1.50/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4

Mipangilio hii ni ya kawaida kwa seva zinazohitaji mtandao unaotabirika.

5.4 Tumia Mabadiliko ya Netplan kwa Usalama

Baada ya kuhariri YAML, tumia usanidi.

Njia iliyo salama zaidi inashauriwa:

sudo netplan try

netplan try inatumia mabadiliko kwa muda na kuomba uthibitisho.
Kama utapoteza muunganisho wa mtandao (mfano, SSH inakatika), mabadiliko yatarejeshwa kiotomatiki baada ya muda wa kusubiri.

Kama kila kitu kiko sawa, unaweza kutekeleza kwa kudumu:

sudo netplan apply

5.5 Thibitisha Mipangilio ya DNS kwenye Seva

Angalia DNS ya sasa kwa:

resolvectl status

Kisha thibitisha utatuzi wa majina unafanya kazi:

ping -c 1 google.com

Ikiwa inatatua kwa mafanikio, usanidi wa DNS unafanya kazi.

5.6 Makosa ya Kawaida ya Netplan na Jinsi ya Kuziepuka

Netplan YAML ni mkali. Matatizo mengi hutokea kutokana na makosa ya kuingiza au makosa ya syntax.

Makosa ya Kuingiza

YAML hutumia nafasi, si tab. Kuingiza kiwango kimoja kisicho sahihi kunaweza kuvunja kila kitu.

Jina Lisilo Sahihi la Interface

Ikiwa utaweka ens3 lakini interface yako halisi ni ens160, mabadiliko yako ya DNS hayatatumika.

Umesahau Kutumia Usanidi

Ikiwa utahariri faili lakini usiendeshe netplan apply, hakuna mabadiliko.

6. Watoa Huduma wa DNS wa Umma Waliopendekezwa (Unapaswa Kuchagua Nani?)

Kuchagua mtoa huduma wa DNS kunaathiri kasi, uthabiti, faragha, na uaminifu.
Hapa kuna huduma za kawaida za DNS za umma ambazo watu wengi hutumia kwenye Ubuntu.

6.1 Cloudflare DNS (Haraka na Maarufu)

Cloudflare DNS inajulikana kwa kasi na miundombinu yenye nguvu ya kimataifa.

  • IPv4: 1.1.1.1 / 1.0.0.1
  • IPv6: 2606:4700:4700::1111 / 2606:4700:4700::1001

6.2 Google Public DNS (Thabiti na Inatumika Sana)

Google DNS inajulikana sana na ina mwelekeo wa kuwa thabiti, hasa kwa utatuzi wa matatizo.

  • IPv4: 8.8.8.8 / 8.8.4.4
  • IPv6: 2001:4860:4860::8888 / 2001:4860:4860::8844

6.3 Quad9 (Inazingatia Usalama)

Quad9 mara nyingi huchaguliwa na watumiaji wanaotaka kuzuia programu hasidi na utatuzi wa DNS unaozingatia usalama.

  • IPv4: 9.9.9.9 / 149.112.112.112
  • IPv6: 2620:fe::fe / 2620:fe::9

6.4 Unapaswa Kuchagua DNS Gani?

Hakuna chaguo bora moja kwa kila mtu, lakini hapa kuna mwongozo rahisi:

  • Kasi-kwanza: Cloudflare
  • Uthabiti/utatuzi wa matatizo: Google DNS
  • Inazingatia usalama: Quad9

Ikiwa haujui, anza na Cloudflare au Google DNS na uone kama kuvinjari kwako na sasisho kuwa thabiti zaidi.

7. Utatuzi wa Matatizo: Mabadiliko ya DNS Hayatumiki au Utatuzi wa Jina Bado Unashindwa

Uligeuza mipangilio ya DNS ya Ubuntu, lakini bado haifanyi kazi.
Hali hii ni ya kawaida, na sababu mara nyingi ni kitu rahisi kama cache, mipangilio inayopingana, au ubadilishaji wa VPN.

Katika sehemu hii, tutapitia hatua za vitendo za utatuzi wa matatizo zinazofanya kazi vizuri kwenye Ubuntu 22.04/24.04.

7.1 Angalia Kwanza: Je, Unaweza Kupinga Anwani ya IP?

Kabla ya kuzingatia DNS pekee, thibitisha kama mtandao wenyewe unafanya kazi.

Jaribu kupinga IP ya umma:

ping -c 1 1.1.1.1

Ikiwa hii inafanya kazi, muunganisho wako wa mtandao uko sawa.

Kisha, jaribu jina la kikoa:

ping -c 1 google.com

Ikiwa kupinga IP inafanya kazi lakini kikoa kinashindwa, inaonyesha kwa nguvu tatizo la DNS.

7.2 Angalia DNS Gani Inatumika Kwa Hakika

Mara nyingi unaweka DNS, lakini Ubuntu bado inatumia seva tofauti ya DNS kutokana na DHCP, VPN, au interface nyingine.

Angalia seva za DNS zinazotumika na:

resolvectl status

Tafuta:

  • Interface gani ni “Current DNS Server”
  • Kama seva za DNS zinapatana na ulizoweka

Ikiwa bado unaona IP ya router yako (kwa mfano 192.168.1.1), DNS yako ya mkono inaweza haijatumika vizuri.

7.3 Futa Cache ya DNS (systemd-resolved)

Ubuntu inaweza kuhifadhi matokeo ya DNS. Hata baada ya kubadilisha DNS, matokeo ya zamani yaliyohifadhiwa yanaweza kubaki.

Futa cache na:

sudo resolvectl flush-caches

Kisha jaribu tena:

ping -c 1 google.com

7.4 Anzisha Upya Huduma za Utatuzi wa Jina

Ikiwa kufuta cache hakutoshi, kuanzisha upya huduma ya utatuzi kunaweza kusaidia.

Anzisha upya systemd-resolved:

sudo systemctl restart systemd-resolved

Ikiwa uko kwenye Ubuntu Desktop, unaweza pia kuanzisha upya NetworkManager:

sudo systemctl restart NetworkManager

Kisha angalia DNS tena kwa kutumia:

resolvectl status

7.5 DNS Imefutwa na DHCP (Mipangilio ya Router)

Katika mitandao mingi ya nyumbani, DHCP kutoka kwa router inatenga mipangilio ya DNS kiotomatiki.

Hata kama unaweka DNS kwa mkono, inaweza kufutwa ikiwa muunganisho wako bado umepangwa kama “Automatic.”

Ili kurekebisha hii:

  • Kwenye Desktop: hakikisha DNS imewekwa Manual katika GUI
  • Kwenye Server: hakikisha DNS imefafanuliwa chini ya nameservers katika Netplan

7.6 VPN au Mtandao wa Shirika Unabadili DNS

Programu ya VPN mara nyingi hubadilisha DNS kiotomatiki ili kuelekeza utatuzi wa majina kupitia tuneli ya VPN.

Dalili za kawaida ni:

  • Majina ya ndani pekee yanatatuliwa wakati VPN imeunganishwa
  • Tovuti za umma hushindwa kufanya kazi baada ya kuunganisha VPN
  • Vihosti wa DNS hubadilika wakati VPN imewezeshwa

Ili kuthibitisha, linganisha DNS kabla na baada ya kuunganisha VPN:

resolvectl status

Kama DNS inabadilika bila kutarajiwa, VPN huenda ikibadilisha.

Katika hali kama hizi, unaweza kuhitaji kusanidi mipangilio ya DNS ndani ya mteja wa VPN, au kurekebisha mipangilio ya split‑DNS kulingana na usanidi wako wa VPN.

7.7 Jaribu DNS Moja kwa Moja kwa kutumia dig au nslookup

Wakati mwingine ping haitoshi. Ni muhimu kuuliza DNS moja kwa moja.

Kama dig inapatikana:

dig google.com

Kama dig haijapakiwa, unaweza kuisakinisha kwa:

sudo apt update
sudo apt install -y dnsutils

Unaweza pia kutumia nslookup:

nslookup google.com

Kama swali la DNS lina muda wa kusubiri (timeout), kawaida ina maana kuwa seva yako ya DNS iliyosanidiwa haipatikani au imezuiwa.

7.8 Ukuta wa Moto au Vizuizi vya Mtandao Vinavyokuzuia DNS

DNS kawaida hutumia bandari 53 (UDP na wakati mwingine TCP).
Baadhi ya mitandao huzui DNS ya nje ili kukulazimisha kutumia seva yao ya DNS.

Katika hali hiyo, kutumia DNS ya umma kama 1.1.1.1 huenda isifanye kazi, na unaweza kuhitaji kutumia DNS inayotolewa na mtandao.

Hii ni ya kawaida hasa kwenye:

  • Wi‑Fi ya kampuni
  • Mitandao ya hoteli
  • Mitandao ya umma

8. Ya Juu: Kuelewa /etc/resolv.conf na systemd‑resolved

Ukitafuta “ubuntu dns settings,” mara nyingi utaona /etc/resolv.conf ikitajwa.
Hata hivyo, kwenye Ubuntu ya kisasa, faili hii inaweza isiwe na tabia kama mafunzo ya zamani ya Linux yanavyodumu.

Hapa kuna wazo kuu:

  • /etc/resolv.conf mara nyingi hutengenezwa kiotomatiki
  • Ubuntu mara nyingi hutumia systemd‑resolved kusimamia DNS

8.1 Kwa Nini Kuhariri /etc/resolv.conf Moja kwa Moja Mara Nyingi Hushindwa

Katika mifumo mingi ya Ubuntu, /etc/resolv.conf ni kiungo cha faili kinachosimamiwa na huduma za mfumo.

Thibitisha kiungo hicho:

ls -l /etc/resolv.conf

Kama utaona kitu kama:

/etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf

Basi mabadiliko ya mkono hayatahifadhiwi, kwa sababu faili hiyo inatengenezwa upya kiotomatiki.

8.2 Maana ya 127.0.0.53

Kama /etc/resolv.conf yako ina:

nameserver 127.0.0.53

Hii haimaanishi “seva yako ya DNS imevunjika.”

Kawaida ina maana:

  • Ubuntu inatumia resolver ndogo ya ndani
  • systemd‑resolved inashughulikia maswali ya DNS ndani ya mfumo

Seva halisi za DNS za juu zinapangiwa mahali pengine na zinaweza kukaguliwa kwa kutumia:

resolvectl status

8.3 Wakati Unaweza Kuhitaji Kusanidi systemd‑resolved Moja kwa Moja

Katika hali nyingi, huna haja ya kuhariri usanidi wa systemd‑resolved kwa mkono.
Watumiaji wa Desktop wanapaswa kutumia mipangilio ya GUI, na watumiaji wa server wanapaswa kutumia Netplan.

Hata hivyo, katika hali maalum unaweza kuzingatia, kama vile:

  • Unataka DNS ya fallback kwa mfumo mzima bila kujali DHCP
  • Unataka kusanidi tabia ya DNS kwa kiolesura nyingi
  • Unashughulikia matatizo magumu ya split‑DNS ya VPN

Katika sehemu ijayo, tutaonyesha jinsi ya kuweka DNS ya fallback kwa kutumia systemd‑resolved kwa njia salama.

9. Hiari: Weka DNS ya Fallback kwa systemd‑resolved (Ya Juu)

Sehemu hii ni hiari na imeelekezwa kwa watumiaji wanaotaka udhibiti wa kina juu ya tabia ya DNS kwenye Ubuntu.

Katika hali nyingi, unapaswa kusanidi DNS kupitia:

  • Ubuntu Desktop: GUI (Mipangilio ya Mtandao)
  • Ubuntu Server: Netplan YAML

Hata hivyo, kuna hali ambapo unaweza kutaka kufafanua Fallback DNS ili Ubuntu iendelee kutatua majina hata kama DNS ya msingi haipatikani.

9.1 Je, Nini ni “Fallback DNS”?

Fallback DNS ni seva ya DNS ya akiba ambayo Ubuntu inaweza kutumia ikiwa usanidi wa DNS wa sasa unashindwa.

Kwa mfano, ikiwa seva yako ya DNS inayotolewa na mtandao (router au DNS ya kampuni) inakuwa isiyotulika, DNS ya fallback inaweza kuzuia kushindwa kabisa kwa utatuzi wa majina.

9.2 Angalia Mipangilio ya sasa ya systemd-resolved

Kwanza, angalia ikiwa systemd-resolved iko hai:

systemctl status systemd-resolved

Ikiwa inaendesha, unaweza kuendelea.

9.3 Hariri /etc/systemd/resolved.conf

Faili kuu la usanidi ni:

/etc/systemd/resolved.conf

Fungua kwa nano:

sudo nano /etc/systemd/resolved.conf

Ndani, unaweza kuona mistari iliyokomwa kama hii:

#DNS=
#FallbackDNS=

Ili kuweka DNS ya fallback, ongeza au badilisha mistari kama ifuatavyo:

[Resolve]
FallbackDNS=1.1.1.1 1.0.0.1
DNS=

Vidokezo:

  • FallbackDNS inaweza kujumuisha seva nyingi zilizotenganishwa na nafasi.
  • Unaweza kuacha DNS= tupu ikiwa unataka tabia ya fallback pekee.
  • Ikiwa unaweka DNS= , inaweza kubatilisha DNS ya kila kiolesura katika baadhi ya usanidi, kwa hivyo kuwa mwangalifu.

9.4 Anzisha upya systemd-resolved

Baada ya kuhariri faili, anzisha upya huduma:

sudo systemctl restart systemd-resolved

9.5 Thibitisha DNS ya fallback Imekubaliwa

Angalia hali ya sasa ya resolver:

resolvectl status

Ikiwa imewekwa kwa usahihi, unapaswa kuona DNS ya fallback imeorodheshwa katika matokeo.

10. Maswali Yanayoulizwa Mara kwa Mara (FAQ)

10.1 Je, Ni Salama Kutumia Google DNS au Cloudflare DNS kwenye Ubuntu?

Ndiyo, kwa ujumla ni salama, na watumiaji wengi wanavitumia kwa kasi na uthabiti.

Hata hivyo, DNS ni sehemu ya faragha yako ya mtandao na tabia ya uelekezaji, hivyo chaguo “bora” inategemea mapendeleo yako na mazingira.

10.2 Kwa Nini Mpangilio Wangu wa DNS Unarejea Baada ya Kureboot?

Hii kwa kawaida hutokea wakati DNS imebadilishwa kwa muda (kwa mfano, kuhariri /etc/resolv.conf moja kwa moja) badala ya kutumia njia sahihi ya kudumu.

Kwa usanidi wa DNS wa kudumu:

  • Ubuntu Desktop: sanidi DNS katika mipangilio ya GUI
  • Ubuntu Server: sanidi DNS katika Netplan YAML

10.3 Kwa Nini /etc/resolv.conf Inaonyesha 127.0.0.53?

Hii ni kawaida kwenye Ubuntu ya kisasa na ina maana Ubuntu inatumia resolver ndogo ya ndani kupitia systemd-resolved.

Ili kuona seva halisi za DNS za juu, tumia:

resolvectl status

10.4 DNS Yangu Inafanya Kazi kwenye Kivinjari lakini apt update Inashindwa. Kwa Nini?

Hii inaweza kutokea kutokana na mipangilio ya proksi, sheria za firewall, au matatizo ya muda ya utatuzi wa DNS yanayoathiri vikoa maalum.

Jaribu kujaribu utatuzi wa DNS kwa hazina za Ubuntu:

nslookup archive.ubuntu.com

Ikiwa utatuzi wa majina unashindwa kwa vikoa vya hazina, kurekebisha seva za DNS kunaweza kusaidia.

10.5 Je, Ni Lazima Nizime IPv6 Ikiwa DNS Inahisi Kutokuwa Imara?

Sio lazima. IPv6 inatumika sana na mara nyingi inafanya kazi vizuri.

Hata hivyo, ikiwa mtandao wako una usaidizi wa IPv6 wa sehemu, inaweza kusababisha ucheleweshaji.
Njia salama zaidi ni kuweka DNS ya IPv4 kwa usahihi na kuthibitisha utendaji kwanza.

11. Muhtasari

Mipangilio ya DNS ya Ubuntu inaweza kuonekana kuchanganyikiwa kwa sababu mifumo kadhaa inaweza kuhusika, kama Netplan, NetworkManager, na systemd-resolved.

Lakini mara tu unapofahamu mtiririko sahihi wa kazi, utatuzi wa matatizo unakuwa rahisi zaidi.

11.1 Orodha ya Haraka

  • Angalia DNS kwa resolvectl status
  • Watumiaji wa Desktop: badilisha DNS kupitia mipangilio ya mtandao ya GUI
  • Watumiaji wa Server: weka DNS kupitia Netplan YAML na tumia mabadiliko
  • Usitegemee kuhariri /etc/resolv.conf moja kwa moja
  • Safisha caches na anzisha upya huduma ikiwa mabadiliko hayaoniwi

Ukifuata hatua hizi, utaweza kutatua matatizo mengi ya “Ubuntu haiwezi kufungua tovuti” au “DNS haifanyi kazi” haraka.

Masuala ya DNS yanaweza kuwa ya kukatisha tamaa, lakini faida ni kwamba kwa kawaida yanaweza kutatuliwa kwa mchakato wa utatuzi wa matatizo unaoendelea.