Experiența dvs. de navigare pe internet este lentă pe dispozitivul dvs. Linux sau site -urile web pe care le vizitați pe site -ul depășit sau pe site -ul greșit? Să discutăm despre curățarea cache -ului DNS pe Linux și cum să știți dacă aveți nevoie cu adevărat.
Ce sunt cache -urile DNS?
Calculatorul dvs. folosește un cache DNS local?
Revizuirea cache -ului DNS
Cum se șterge cache -ul DNS pe Linux
Cum să spălați cache -ul DNSMASQ pe Linux
Înroșit, cu succes
Ce sunt cache -urile DNS?
Serviciu de nume de domeniu este un pic de magie care transformă numele în numere. Este nevoie de nume de rețea de dispozitive și de numele site -urilor și își caută adresele IP. Rețeaua poate utiliza apoi adresa IP pentru a direcționa corect traficul către acele dispozitive sau site -uri.
Aceste căutări, cunoscute ca cereri , Nu se va întâmpla instantaneu . Există o perioadă mică de timp finită. Cererile DNS de internet pot necesita servere DNS precursoare de interogare, servere de nume rădăcină, servere de domeniu de nivel superior și servere de nume autoritare. Cererile DNS sunt rapide, dar pentru a le face mai repede, răspunsurile la solicitările DNS recente sunt memorate în cache pe serverele precursoare DNS.
Dacă răspunsul la o solicitare DNS se găsește în memoria cache a serverului precursor, nu trebuie să fie contactate alte servere. Răspunsul este trimis înapoi din memoria cache a serverului precursor. În mod similar, o cache mică este menținută de routerul dvs. de bandă largă acasă. Dacă solicitați un dispozitiv de rețea local folosind numele dispozitivului de rețea, routerul dvs. furnizează adresa IP. De asemenea, poate fi cache răspunsuri pe care le -a primit de la serverele DNS externe.
De obicei, rețelele și computerele Linux sunt configurate pentru a utiliza servicii DNS externe, fie furnizate de furnizorul de servicii de internet, fie de un serviciu gratuit, cum ar fi Opendns sau Google DNS . Există motive întemeiate pentru care Unii oameni își rulează propriul server DNS , dar majoritatea dintre noi nu. Cu toate acestea, computerul dvs. Linux - chiar dacă nu rulează un server DNS - poate fi opțional rezultatele cache la DNS.
Problema cu utilizarea datelor în cache este că totul se bazează pe presupunerea că niciunul dintre detaliile în cache nu s -a schimbat de când au fost în cache. Dacă detaliile s -au schimbat, informațiile pe care le primiți vor fi depășite.
Dacă o intrare în cache sau întregul cache devine corupt, veți primi în cel mai bun caz performanțe flămânzătoare și vulnerabilități de securitate în cel mai rău caz. Atunci veți dori să căutați „înroșirea” sau să ștergeți cache -ul DNS.
Calculatorul dvs. folosește un cache DNS local?
Unele dintre calculatoarele noastre de testare au pornit cache -urile DNS locale, iar altele au oprit -o. A fost oprit pe al nostru Manjaro 21 computer, dar a fost activat în mod implicit Fedora 37 și Ubuntu 22.10 .
Pentru a stabili dacă computerul dvs. Linux este cache la cereri DNS, utilizați
este activ
opțiunea
Systemctl
comanda. Daemon care gestionează cache -ul DNS este managerul de rezoluție a numelui de rețea Systemd, cunoscut sub numele de
Systemd-rezolvat
.
Dacă răspunsul este „activ”, are loc cache DNS. Dacă răspunsul este „inactiv”, nu este. Pe acest computer, acesta este activ. Putem folosi
Rezolvați
Comandați cu opțiunea Statistici pentru a vedea câte înregistrări sunt în cache.
Putem vedea că există 330 de înregistrări în cache -ul DNS al acestui computer.
Revizuirea cache -ului DNS
Revizuirea intrărilor în cache DNS nu este o condiție prealabilă pentru spălarea cache -ului și dacă nu aveți niciun interes în acest sens, puteți sări peste tot pasul . Uneori, însă, poate fi informativ. S -ar putea să vedeți intrări scramble care indică corupția sau este posibil să vedeți mesaje de eroare legate de problemele de abordare a dispozitivului din rețeaua dvs.
Acum, nu există o modalitate simplă de a vedea aceste înregistrări. Putem face asta, dar trebuie să fim puțin creativi.
USR1
, sau
Numărul de semnal definit de utilizator
, este a
semnal
care poate fi trimis de către
ucide
și
omoara-i pe toti
Comenzi. Acest semnal nu are un sens predefinit. Aplicațiile sunt libere să ignore acest semnal sau să reacționeze în orice mod în care au implementat dezvoltatorii.
Systemd-rezolvat
Daemon reacționează la
USR1
Prin scrierea cache -ului său în jurnalele de sistem. Putem folosi apoi
jurnalctl
Comanda pentru a filtra intrările DNS.
Vom folosi
omoara-i pe toti
comandă cu
USR1
Pentru a trimite semnalul către
Systemd-rezolvat
Daemon. Rețineți că, deși folosim
omoara-i pe toti
comandă, The
Systemd-rezolvat
Daemon continuă să alerge. Acesta nu este un semnal de reziliere pe care îl trimitem.
Acum vom folosi
jurnalctl
comandă cu
-U
(Filtreaza dupa
Systemd
unitate) opțiune de extragere a intrărilor de jurnal care au fost generate de
Systemd-rezolvat
. Vom redirecționa această ieșire într -un fișier text numit „DNS.TXT”.
Vom folosi
Mai puțin
vizualizator de fișiere
Pentru a vizualiza conținutul fișierului.
Veți putea găsi mapări în cache între numele de domeniu și Adrese IP derulând și căutând prin text.
Putem vedea o intrare pentru Google care are o adresă IP de 216.58.212.196. Puteți verifica asta introducând adresa IP într -un browser web. Ar trebui să vedeți pagina principală a căutării Google.
Cum se șterge cache -ul DNS pe Linux
Înroșirea cache -ului elimină toate intrările și începe încă o dată procesul de colectare. Dacă există, acest lucru elimină cu forță intrările incorecte și corupte din cache.
Comanda este simplă; folosim
Rezolvați
cu
Cache-uri
opțiune.
Ne -am întors în tăcere la linia de comandă. Pentru a confirma că s -a întâmplat ceva de fapt, vom verifica din nou statisticile DNS Cache.
Putem vedea că dimensiunea cache -ului este scăzută la zero. Acesta va crește în timp, deoarece acumulează noi intrări.
Cum să spălați cache -ul DNSMASQ pe Linux
DNSMASQ
Aplicația oferă un cache DNS și un server DHCP. Este popular în rândul utilizatorilor care doresc să -și ruleze propriul server DNS, în special pe
Instalații non-sistem
.
Spălând
DNSMASQ
DNS Cache este ușor. Trebuie să trimitem
Suspin
semnal, care spune
DNSMASQ
Daemon pentru a reinitializa eficient. Făcând acest lucru, șterge cache -ul DNS. Pentru a trimite semnalul, folosim
omoara-i pe toti
comandă cu
-Hup
steag și numele aplicației.
Înroșit, cu succes
Desigur, dacă computerul dvs. nu este deloc în cache, nu trebuie să verificați nimic.
Dacă este vorba de cereri DNS în cache, dar totul funcționează bine, îl puteți ignora și el. Dar dacă experimentați actualizări lente sau sporadice ale paginii web atunci când navigați pe web sau vedeți paginile web greșite cu totul, este probabil un moment bun pentru a vă șterge memoria cache DNS.