Vietējās DNS kešatmiņas tīrīšana var novērst HTTP kļūdas un pasargāt jūs no DNS viltošanas. Lūk, kā to izdarīt operētājsistēmā Linux.

Kad piekļūstat vietnei, izmantojot tās domēna nosaukumu, jūsu sistēma nosūta DNS serverim pieprasījumu iegūt šī domēna IP adresi. Šis domēna-IP adrešu pāris tiek saglabāts DNS kešatmiņā vēlākai lietošanai, tāpēc jums nav katru reizi jāsūta pieprasījumi DNS serverim, lai izveidotu savienojumu.

Bet dažreiz vietējā DNS kešatmiņa tiek bojāta un izraisa HTTP kļūdas. Par laimi, DNS kešatmiņas izskalošana un atjaunošana Linux datorā ir vienkārša. Lūk, kā to izdarīt.

Kāpēc iztīrīt DNS kešatmiņu operētājsistēmā Linux?

Ir vairāki iemesli, kāpēc jūs varētu vēlēties atjaunot sistēmā saglabāto DNS kešatmiņu. Iespējams, jums ir novecojis vietnes DNS ieraksts un vēlaties to atkārtoti ienest no DNS servera. Vai arī, iespējams, jūsu sistēma ir apdraudēta un vēlaties pārliecināties, vai DNS kešatmiņa nav bojāta. pazīstams kā DNS viltošana.

Iztīrot DNS kešatmiņu, sistēmai vēlreiz ir jāpiesaista DNS serveris un jāsaņem no tā jaunais domēna IP adreses ieraksts, noņemot visus novecojušos vai apdraudētos datus.

Kā skatīt vietējo DNS kešatmiņu operētājsistēmā Linux

Pirms sistēmas izveides lielākajai daļai Linux izplatījumu nebija sistēmas mēroga DNS kešatmiņas, ja vien programma, piemēram, dnsmasq vai nscd, nebija iestatīta manuāli. systemd nāk ar systemd-resolved — pakalpojumu, kas domēna nosaukumus atdala IP adresēs un saglabā DNS ierakstus kešatmiņā.

Nākamajās sadaļās ir sniegti norādījumi par to, kā skatīt DNS kešatmiņas saturu, ko ģenerē systemd-resolved, nscd un dnsmasq, lai jūs varētu saprast kešatmiņā saglabātos datus, pirms izlemjat tos iztīrīt.

Skatiet sistēmas atrisināto DNS kešatmiņu

Lai skatītu sistēmiski atrisinātos kešatmiņas ierakstus, vispirms īslaicīgi jāiznīcina pakalpojums un pēc tam jāeksportē tā žurnāli failā.

Sāciet, nosūtot SIGUSR1 signālu, lai iznīcinātu sistēmas atrisināto pakalpojumu:

sudo killall -USR1 systemd-resolved

Izmantot komanda journalctl un standarta izvades operators, lai saglabātu izvadi teksta failā:

sudo journalctl -u systemd-resolved > ~/cache.txt

Pēc tam varat skatīt faila saturu, izmantojot teksta redaktoru, piemēram, Vim:

vim ~/cache.txt

Failā meklējiet "CACHE:", nospiežot Bēgt, ierakstot "/CACHE:", un sit Ievadiet. Visi zemāk uzskaitītie DNS ieraksti KEšatmiņa: ir daļa no vietējās DNS kešatmiņas. Nospiediet n lai pārietu uz nākamo DNS ierakstu kopu, ja izmantojat Vim.

Skatiet nscd lokālo DNS kešatmiņu

Lai skatītu nscd ģenerēto lokālo kešatmiņu, jums ir jāizlasa nscd hosts datu bāzes saturs, izmantojot komandu virknes.

Debian un Ubuntu distribūcijās šis fails atrodas vietnē /var/cache/nscd/hosts. Lai skatītu failu, izpildiet šo komandu:

sudo virknes /var/cache/nscd/hosts | unik

Lai skatītu vispārīgu statistiku par nscd DNS kešatmiņu, izmantojiet -g karogs:

sudo nscd -g

Parādiet dnsmasq ģenerēto DNS kešatmiņu

dnsmasq DNS kešatmiņu saglabā atmiņā, tāpēc nav viegli iegūt precīzus ierakstus. Bet jūs varat nosūtīt iznīcināšanas signālu uz dnsmasq un reģistrēt tā izvadi, lai iegūtu apstrādāto DNS vaicājumu skaitu.

Lai to izdarītu, vispirms pārliecinieties, vai dnsmasq ir izveidota un darbojas izmantojot komandu systemctl:

sudo systemctl statuss dnsmasq

Ja statuss parāda Aktīvs, palaidiet šo komandu, lai iznīcinātu pakalpojumu:

sudo pkill -USR1 dnsmasq

Izmantojot komandu journalctl, izņemiet dnsmasq žurnālus un saglabājiet tos teksta failā:

sudo journalctl -u dnsmasq > ~/cache.txt

Visbeidzot apskatiet faila saturu izmantojot failu skatīšanas utilītu kā kaķis vai mazāk:

kaķis ~/cache.txt

Kā iztīrīt DNS kešatmiņu operētājsistēmā Linux

DNS kešatmiņas izskalošana nozīmē kešatmiņā saglabāto DNS ierakstu noņemšanu no datora. Tas liek tai nosūtīt pieprasījumu DNS serverim, lai izgūtu jaunos DNS ierakstus.

Lūk, kā jūs varat iztukšot DNS kešatmiņu operētājsistēmā Linux:

Izmantojot systemd-resolved

Varat izmantot komandu solvectl, lai iztīrītu DNS kešatmiņu, ko glabā systemd-resolved:

sudo solvectl flush-caches

Ja izmantojat Ubuntu 17.04 vai 18.04, izmantojiet systemd-resolved komandu, lai iztīrītu kešatmiņu:

sudo systemd-resolved -- flush-caches

Iztīriet nscd DNS kešatmiņu operētājsistēmā Linux

Ērtākais veids, kā noņemt nscd DNS kešatmiņu, ir vienkārši restartēt pakalpojumu. To var izdarīt, palaižot:

sudo /etc/init.d/nscd restart

Ja tas nedarbojas, vispirms pārbaudiet, vai datorā saglabātā lokālā kešatmiņa ir noturīga. Jūs varat izmantot -g karodziņš, lai to pārbaudītu:

sudo nscd -g

Ja tas tā ir, izmantojiet -i atzīmējiet ar nscd komandu, lai notīrītu ierakstus (i apzīmē atzīt par nederīgu):

sudo nscd -i saimnieki

Noņemiet dnsmasq DNS kešatmiņu

dnsmasq ģenerētās DNS kešatmiņas izskalošana ir vienkārša. Tā kā kešatmiņa tiek saglabāta atmiņā, pakalpojuma restartēšana izdzēš visus saglabātos ierakstus.

Lai restartētu dnsmasq, palaidiet šo systemctl komandu:

sudo systemctl restartējiet dnsmasq

Vai arī izdodiet šādu komandu:

pakalpojuma dnsmasq restartēšana

Ievadiet administratora paroli, ja tas tiek prasīts. dnsmasq tagad tiks restartēts, un visi jūsu esošie DNS ieraksti tiks noņemti no kešatmiņas.

Pēc DNS kešatmiņas iztīrīšanas vislabāk ir skatīt vietējās kešatmiņas ierakstus un pārbaudīt, vai dati ir veiksmīgi noņemti. Varat izmantot dig, vienu no daudzas tīkla problēmu novēršanas Linux komandasun pārbaudiet vaicājuma laika vērtību izvadē. Ja tas ir vairāk nekā 0 ms, kešatmiņa tika veiksmīgi notīrīta (0 ms nozīmē, ka domēna ieraksts joprojām atrodas kešatmiņā).

izrakt google.com

Notīriet Google Chrome DNS kešatmiņu

Bieži izmantotā tīmekļa pārlūkprogramma arī kešatmiņā saglabā DNS ierakstus. Kad ievadāt URL, sistēma vietējā pārlūkprogrammas kešatmiņā meklē kešatmiņas ierakstu. Ja tas netiek atrasts, tas pārbauda ierakstus vietējā sistēmas kešatmiņā. Ir ļoti svarīgi notīrīt tīmekļa pārlūkprogrammas DNS kešatmiņu, jo tai ir augstāka prioritāte nekā visas sistēmas kešatmiņai.

Demonstrācijai izskalosim DNS kešatmiņu pārlūkprogrammā Google Chrome. Ir veidi, kā to izdarīt arī citās pārlūkprogrammās, tāpēc vislabāk ir meklēt Google, kā to izdarīt izmantotajai pārlūkprogrammai.

Lai sāktu, ierakstiet "chrome://net-internals/#dns" URL joslā un nospiediet Ievadiet:

Klikšķis Notīrīt saimniekdatora kešatmiņu lai notīrītu pārlūkprogrammā Google Chrome saglabātos DNS ierakstus.

Linux ir labākā OS, lai mācītos tīklu veidošanu

Sākumā Linux varētu šķist sarežģīts, taču, ja veltīsit laiku, lai uzzinātu, kā tas darbojas, jūs ātri sapratīsit, ka tas ir fantastisks un, iespējams, pat labāks par Windows vai macOS.

Lielākajā daļā tiešsaistes serveru darbojas Linux, un tas ir viens no iemesliem, kāpēc Linux ir ideāli piemērots, ja vēlaties apgūt tīklu veidošanu vai vispār vēlaties uzzināt, kā datori darbojas.