Si të pastroni DNS në Linux
Përmbledhje: Ju mund të pastroni cache-in DNS në një kompjuter Linux të bazuar në sistem me komandën resolvectl flush-caches. Nëse përdorni dnsmasq, mund të pastroni DNS-në duke përdorur sudo killall -HUP dnsmasq në vend të kësaj.
A është e ngadaltë përvoja juaj e shfletimit në internet në pajisjen tuaj Linux, apo faqet e internetit që po vizitoni janë të vjetruara ose janë faqet e internetit të gabuara krejtësisht? Le të diskutojmë shpëlarjen e cache-it të DNS në Linux dhe si të dini nëse keni vërtet nevojë.
Çfarë janë cache DNS?
Shërbimi i emrave të domenit është një pjesë magjike që i konverton emrat në numra. Ai merr emrat e rrjeteve të pajisjeve dhe emrat e faqeve të internetit dhe kërkon adresat e tyre IP. Rrjeti më pas mund të përdorë adresën IP për të drejtuar saktë trafikun në ato pajisje ose sajte.
Këto kërkime, të njohura si kërkesa, nuk ndodhin menjëherë. Përfshihet një periudhë e vogël, e fundme. Kërkesat DNS të internetit mund të kërkojnë serverë DNS pararendës, serverë të emrave rrënjë, serverë të nivelit të lartë të domenit dhe serverë autoritativ të emrave. Kërkesat DNS janë të shpejta, por për t'i bërë akoma më të shpejta, përgjigjet e kërkesave të fundit DNS ruhen në serverët pararendës DNS.
Nëse përgjigja e një kërkese DNS gjendet në cache-in e serverit pararendës, nuk ka nevojë të kontaktohet me serverë të tjerë. Përgjigja dërgohet nga cache e serverit pararendës. Në mënyrë të ngjashme, një cache e vogël mbahet nga ruteri juaj me brez të gjerë në shtëpi. Nëse kërkoni një pajisje të rrjetit lokal duke përdorur emrin e pajisjes së saj të rrjetit, ruteri juaj ofron adresën IP. Ai gjithashtu mund të fshehë përgjigjet që ka marrë nga serverë të jashtëm DNS.
Zakonisht, rrjetet dhe kompjuterët Linux janë konfiguruar për të përdorur shërbime të jashtme DNS, ose të ofruara nga Ofruesi juaj i Shërbimit të Internetit ose nga një shërbim falas si OpenDNS ose Google DNS. Ka arsye të mira pse disa njerëz drejtojnë serverin e tyre DNS, por shumica prej nesh jo. Sidoqoftë, kompjuteri juaj Linux - edhe nëse nuk ka një server DNS - mund të ruajë në mënyrë opsionale rezultatet e kërkesës DNS.
Problemi me përdorimin e të dhënave të memories së fshehtë është se e gjithë gjëja bazohet në supozimin se asnjë nga detajet e ruajtura në memorie nuk ka ndryshuar që kur janë ruajtur. Nëse detajet kanë ndryshuar, informacioni që merrni do të jetë i vjetëruar.
Nëse një hyrje në cache ose e gjithë memoria e kujtesës korruptohet, do të merrni performancë të dobët në rastin më të mirë dhe dobësi të sigurisë në rastin më të keq. Kjo është kur do të dëshironi të shikoni për shpërlarjen ose pastrimin e memories së DNS.
A po përdor kompjuteri juaj një memorie lokale DNS?
Disa nga kompjuterët tanë të testimit kishin memoriet lokale të DNS-ve të aktivizuara dhe të tjerë e kishin të fikur. Ishte i fikur në kompjuterin tonë Manjaro 21, por ishte aktivizuar si parazgjedhje në Fedora 37 dhe Ubuntu 22.10.
Për të përcaktuar nëse kompjuteri juaj Linux po ruan kërkesat DNS, përdorni opsionin is-active
të komandës systemctl
. Daemon që menaxhon cache-në DNS është menaxheri i zgjidhjes së emrit të rrjetit systemd, i njohur si systemd-resolved
.
systemctl is-active systemd-resolved
Nëse përgjigja është aktive, po ndodh memoria e DNS. Nëse përgjigja është joaktive, nuk është. Në këtë kompjuter të veçantë, ai është aktiv. Mund të përdorim komandën resolvectl
me opsionin e statistikave për të parë se sa regjistrime janë në cache.
resolvectl statistics
Mund të shohim se ka 330 hyrje në cache DNS të këtij kompjuteri.
Rishikimi i memories tuaj DNS
Rishikimi i hyrjeve të memories së DNS nuk është një parakusht për të fshirë memorien specifike, dhe nëse nuk keni interes për ta bërë këtë, mund ta kaloni të gjithë këtë hap. Megjithatë, ndonjëherë mund të jetë informues. Mund të shihni hyrje të gërvishtura që tregojnë korrupsion, ose mund të shihni mesazhe gabimi që lidhen me problemet e adresimit të pajisjes në rrjetin tuaj.
Tani, nuk ka një mënyrë të drejtpërdrejtë për të parë këto hyrje. Mund ta bëjmë, por duhet të jemi pak kreativ. USR1
, ose sinjali numër një i përcaktuar nga përdoruesi, është një sinjal që mund të dërgohet nga vrasja
dhe killall
komandat. Ky sinjal nuk ka asnjë kuptim të paracaktuar. Aplikacionet janë të lira të injorojnë këtë sinjal ose të reagojnë në çfarëdo mënyre që kanë zbatuar zhvilluesit.
Daemon i zgjidhur nga sistemi
reagon ndaj USR1
duke shkruar cache-in e tij në regjistrat e sistemit. Më pas mund të përdorim komandën journalctl
për të filtruar hyrjet DNS.
Ne do të përdorim komandën killall
me USR1
për të dërguar sinjalin te demonit systemd-resolved
. Vini re se megjithëse po përdorim komandën killall
, demoni systemd-resolved
vazhdon të funksionojë. Ky nuk është një sinjal përfundimi që po dërgojmë.
sudo killall -USR1 systemd-resolved
Tani do të përdorim komandën journalctl
me opsionin -u
(filtro sipas njësisë systemd
) për të nxjerrë shënimet e regjistrit që janë krijuar nga zgjidhur në sistem
. Ne do ta ridrejtojmë atë dalje në një skedar teksti të quajtur dns.txt.
sudo journalctl -u systemd-resolved > dns.txt
Ne do të përdorim shikuesin e skedarit më pak
për të parë përmbajtjen e skedarit.
less dns.txt
Do të mund të gjesh hartëzimin e ruajtur në memorie midis emrave të domeneve dhe adresave IP duke lëvizur dhe kërkuar nëpër tekst.
Mund të shohim një hyrje për Google që ka një adresë IP prej 216.58.212.196. Ju mund ta kontrolloni këtë duke vendosur adresën IP në një shfletues uebi. Ju duhet të shihni faqen kryesore të kërkimit në Google.
Si të pastroni cache DNS në Linux
Shpëlarja e cache-it heq të gjitha hyrjet dhe fillon procesin e mbledhjes edhe një herë. Nëse ka ndonjë, kjo heq me forcë hyrjet e pasakta dhe të korruptuara nga cache.
Komanda është e thjeshtë; ne përdorim resolvectl
me opsionin flush-caches
.
resolvectl flush-caches
Ne jemi kthyer në heshtje në vijën e komandës. Për të konfirmuar se diçka ka ndodhur në të vërtetë, ne do të kontrollojmë përsëri statistikat e cache-it të DNS.
resolvectl statistics
Mund të shohim se madhësia e cache-it është ulur në zero. Ai do të rritet me kalimin e kohës ndërsa grumbullon hyrje të reja.
Si të pastroni cache dnsmasq në Linux
Aplikacioni dnsmasq
ofron një memorie të fshehtë DNS dhe një server DHCP. Është popullor me përdoruesit që duan të ekzekutojnë serverin e tyre DNS, veçanërisht në instalimet jo të sistemit.
Shpëlarja e cache-it të dnsmasq
DNS është e lehtë. Duhet të dërgojmë sinjalin SIGHUP
, i cili i thotë demonit dnsmasq
të rifillojë në mënyrë efektive. Duke vepruar kështu, pastron cache-in e tij DNS. Për të dërguar sinjalin ne përdorim komandën killall
me flamurin -HUP
dhe emrin e aplikacionit.
sudo killall -HUP dnsmasq
I skuqur, me sukses
Sigurisht, nëse kompjuteri juaj nuk po ruan fare, nuk ka asgjë që duhet të kontrolloni.
Nëse po ruan kërkesat DNS, por gjithçka po funksionon mirë, mund ta injoroni gjithashtu. Por nëse jeni duke përjetuar përditësime të ngadalta ose sporadike të faqeve të internetit kur jeni duke shfletuar ueb, ose duke parë faqet e gabuara të internetit, ndoshta është një kohë e mirë për të pastruar cache-in tuaj DNS.
Linux Commands | ||
Files | tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · join · jq · fold · uniq · journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · strings · type · rename · zip · unzip · mount · umount · install · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · convert · rclone · shred · srm · scp · gzip · chattr · cut · find · umask · wc | |
Processes | alias · screen · top · nice · renice · progress · strace · systemd · tmux · chsh · history · at · batch · free · which · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · timeout · wall · yes · kill · sleep · sudo · su · time · groupadd · usermod · groups · lshw · shutdown · reboot · halt · poweroff · passwd · lscpu · crontab · date · bg · fg · pidof · nohup · pmap | |
Networking | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw · arping · firewalld |
RELATED: Best Linux Laptops for Developers and Enthusiasts