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.
Leave A Comment?