How to view and Flush DNS Cache on Linux

Configurare noua (How To)

Situatie

Când accesați un site web folosind numele său de domeniu, sistemul dvs. trimite o solicitare către un server DNS pentru a obține adresa IP pentru acel domeniu. Această pereche domeniu-adresă IP este salvată în memoria cache DNS pentru o utilizare ulterioară, astfel încât nu trebuie să trimiteți solicitări către serverul DNS de fiecare dată pentru a realiza o conexiune. Dar uneori, memoria cache DNS locală este coruptă și provoacă erori HTTP. Din fericire, “flushing-ul” și “rebuilding-ul” cache-ului DNS pe un computer Linux este simplă. Iată cum să o faci.

Solutie

Pasi de urmat

Vizualizați cache DNS pentru rezolvarea sistemului

Pentru a vizualiza înregistrările cache rezolvate de sistem, trebuie mai întâi să omorâți temporar serviciul, apoi să exportați jurnalele acestuia într-un fișier. Începeți prin a trimite un semnal SIGUSR1 pentru a opri serviciul rezolvat de sistem:

sudo killall -USR1 systemd-resolved

Utilizați comanda journalctl și operatorul de ieșire standard pentru a salva rezultatul într-un fișier text:

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

Apoi puteți vizualiza conținutul fișierului folosind un editor de text precum Vim:

vim ~/cache.txt

În fișier, căutați „CACHE:” apăsând Escape, tastând „/CACHE:” și apăsând Enter. Toate înregistrările DNS listate sub CACHE: fac parte din memoria cache DNS locală. Apăsați n pentru a trece la următorul set de intrări DNS dacă utilizați Vim.

View the Local DNS Cache for nscd

Pentru a vizualiza memoria cache locală generată de nscd, trebuie să citiți conținutul bazei de date nscd hosts folosind comanda strings. Pe distribuțiile bazate pe Debian și Ubuntu, acest fișier se află la /var/cache/nscd/hosts.

Rulați următoarea comandă pentru a vizualiza fișierul:

sudo strings /var/cache/nscd/hosts | uniq

Pentru a vedea statistici generale despre memoria cache DNS nscd, utilizați marcajul -g:

sudo nscd -g

Display the DNS Cache Generated by dnsmasq

dnsmasq stochează memoria cache DNS în memorie, așa că nu este ușor să obțineți înregistrările exacte. Dar puteți trimite un semnal de ucidere către dnsmasq și puteți înregistra ieșirea acestuia pentru a obține numărul de interogări DNS procesate. Pentru a face acest lucru, mai întâi, asigurați-vă că dnsmasq este activ și rulează folosind comanda systemctl:

sudo systemctl status dnsmasq

Dacă starea arată Activ, rulați următoarea comandă pentru a opri serviciul:

sudo pkill -USR1 dnsmasq

Folosind comanda journalctl, extrageți jurnalele dnsmasq și salvați-le într-un fișier text:

sudo journalctl -u dnsmasq > ~/cache.txt

În cele din urmă, vizualizați conținutul fișierului folosind un utilitar de vizualizare a fișierelor, cum ar fi cat sau mai puțin

cat ~/cache.txt

How to Flush DNS Cache on Linux

Golirea memoriei cache DNS înseamnă eliminarea înregistrărilor DNS din cache de pe computer. Acest lucru îl forțează să trimită o solicitare către serverul DNS pentru a prelua noile intrări DNS. Iată cum puteți șterge memoria cache DNS pe Linux: Folosind systemd-resolved Puteți folosi comanda resolvectl pentru a goli memoria cache DNS stocată de systemd-resolved:

sudo resolvectl flush-caches

Flush the nscd DNS Cache on Linux

Cea mai convenabilă modalitate de a elimina memoria cache DNS pentru nscd este prin simpla repornire a serviciului. Puteți face acest lucru rulând:

sudo /etc/init.d/nscd restart

Dacă acest lucru nu funcționează, mai întâi, verificați dacă memoria cache locală stocată pe computer este persistentă. Puteți folosi indicatorul -g pentru a-l verifica:

sudo nscd -g

Dacă acesta este cazul, utilizați indicatorul -i cu comanda nscd pentru a șterge înregistrările (i înseamnă invalidate):

sudo nscd -i hosts

Remove the dnsmasq DNS Cache

Golirea memoriei cache DNS generată de dnsmasq este simplă. Deoarece memoria cache este stocată în memorie, repornirea serviciului șterge toate intrările stocate. Pentru a reporni dnsmasq, rulați următoarea comandă systemctl:

sudo systemctl restart dnsmasq

Sau, lansați următoarea comandă:

service dnsmasq restart

Introduceți parola de administrator dacă vi se solicită. dnsmasq va reporni acum și toate intrările DNS existente vor fi eliminate din cache.

Tip solutie

Permanent

Voteaza

(6 din 11 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?