Cum să goliți memoria cache DNS pe Linux

Calculatoarele păstrează înregistrările fiecărui site web pe care îl vizitați într-un „cache DNS”. Scopul acestui cache este de a economisi timp atunci când utilizatorul încearcă să acceseze un domeniu; sistemul nu trebuie să-l caute de fiecare dată manual. În general, memorarea în cache DNS face utilizarea internetului mai rapidă și de aceea practic fiecare sistem de operare de la macOS, la Windows la Linux o face.

Totuși, pe cât de utilă este memorarea în cache DNS, uneori pot apărea probleme, cum ar fi vizualizarea unui site web vechi în loc de cel nou actualizat, nereușirea conectării la un server la distanță etc. O modalitate excelentă de a ocoli aceste tipuri de erori pe Linux computerele este să „șterge” cache-ul DNS pe Linux. Când goliți memoria cache DNS, aceasta va reîmprospăta baza de date DNS și va clarifica multe dintre problemele de rezolvare pe care le întâmpină mulți utilizatori.

Flush DNS – Systemd rezolvat

În acest moment, majoritatea utilizatorilor Linux rulează un sistem de operare care are încorporat sistemul Systemd init. În timp ce subiectul Systemd este dezbinat în comunitate, există un lucru pe care toată lumea îl știe: Systemd face ajustări profunde și complicate la nivel de sistem de operare și întreținere mult mai ușoare decât era în trecut. Acest fapt este valabil mai ales în cazul ștergerii cache-ului DNS.

Systemd gestionează cache-ul DNS în ceva cunoscut sub numele de „systemd rezolvat”. Este un utilitar standard care găsește că este o cale către majoritatea sistemelor de operare Linux. Pentru a determina dacă sistemul dvs. de operare folosește Systemd Resolved pentru a gestiona DNS și cache-ul DNS pe sistem, lansați o fereastră de terminal apăsând Ctrl + Alt + T sau Ctrl + Shift + T de pe tastatură. După aceea, executați comanda systemctl status pe fișierul systemd-resolved.service.

  Cum să ascundeți fișierele pe Linux și să le asigurați

systemctl status systemd-resolved.service

Uitați-vă prin tipărirea Systemd Resolved în fereastra terminalului și localizați secțiunea „Activ” după ce ați localizat secțiunea „Activ” și asigurați-vă că are „activ (în rulare)” lângă ea. Dacă o face, sistemul dumneavoastră Linux îl folosește pentru a-și gestiona DNS.

Pentru a șterge memoria cache DNS pentru Systemd Resolved, va trebui să utilizați una dintre caracteristicile încorporate ale Systemd Resolved. Mai exact, comanda de golire a cachelor. Va șterge instantaneu DNS-ul și vă va pune în funcțiune din nou!

sudo systemd-resolved --flush-caches

Sau, dacă nu puteți folosi sudo, faceți:

su -
systemd-resolved --flushcaches

Odată ce ați folosit comanda flushcaches, cache-urile DNS de pe sistem ar trebui să fie suficient de golite. Cu toate acestea, dacă după rularea acestei comenzi încă mai întâmpinați unele probleme, poate fi o idee bună să reporniți complet serviciul. Pentru a face acest lucru, utilizați comanda systemctl restart.

sudo systemctl restart systemd-resolved.service

Nu poți folosi sudo? Conectați-vă ca Root cu su înainte de a încerca să reporniți serviciul cu systemd.

su -
systemctl restart systemd-resolved.service

Când Systemd-Resolved termină repornirea, toate problemele DNS ar trebui rezolvate!

Flush DNS – DNS Masq

DNSMasq este o altă soluție DNS populară pentru platforma Linux pe care o folosesc multe sisteme de operare. La fel ca instrumentul Systemd-Resolved, utilizatorii pot interacționa cu acesta cu comanda systemctl. Pentru a determina dacă sistemul dvs. de operare utilizează instrumentul DNSMasq pentru a gestiona DNS, rulați comanda status.

systemctl status dnsmasq.service

Citiți imprimarea de stare pe care systemd o oferă pe ecran. Îndreptați-vă către secțiunea „Activ” a citirii. Scanați-l și căutați „activ (în rulare)” pentru a confirma că serviciul este activ. Dacă acesta este cazul, este posibil să ștergeți imediat memoria cache DNS pentru DNSMasq utilizând comanda systemctl restart. În terminal, introduceți următoarea comandă.

sudo systemctl restart dnsmasq.service

Sau, pentru cei care nu pot folosi comenzile systemd cu sudo, încercați să vă conectați ca Root înainte de a încerca să reporniți.

su -
systemctl restart dnsmasq.service

Flush DNS – NSCD

NSCD este sistemul de cache DNS preferat pentru majoritatea sistemelor de operare Linux bazate pe RedHat. Prin urmare, dacă utilizați OpenSUSE Linux, CentOS sau ceva asemănător, există șanse mari să fiți nevoit să vă agitați pentru a vă șterge memoria cache DNS.

  Last Light Redux pe Linux

Notă: deși Fedora Linux este bazat pe RedHat, în mod implicit nu stochează un cache DNS.

Pentru a determina dacă sistemul de operare Linux utilizează NSCD, va trebui să utilizați comanda status, deoarece este un serviciu systemd.

systemctl status nscd.service

Rularea comenzii de stare pe serviciul NSCD vă va oferi o mulțime de informații detaliate despre aceasta. Parcurgeți și găsiți secțiunea care spune „Activ”. Dacă sistemul dvs. îl folosește, veți vedea un text verde care spune „activ (în rulare).”

Golirea memoriei cache DNS cu NSCD funcționează aproape ca orice alt sistem de stocare în cache care funcționează cu systemd. Tot ceea ce trebuie să facă utilizatorul este să ruleze comanda systemctl restart. Acesta va reîncărca serviciul și va șterge automat memoria cache DNS, ceea ce va rezolva orice probleme DNS pe care le puteți întâmpina.

sudo systemctl restart nscd.service

În mod alternativ, dacă sistemul de operare Linux dezactivează rularea comenzilor systemctl cu sudo, puteți reporni serviciul conectându-vă mai întâi la contul Root folosind su.

su -

systemctl restart nscd.service