Cum să ștergi memoria cache DNS în Windows, macOS și Chrome
Ștergerea cache-ului DNS forțează sistemul de operare sau browserul să renunțe la înregistrările DNS stocate local și să obțină mapări actualizate de la serverele de nume autoritare. Această singură operațiune rezolvă o gamă surprinzătoare de erori de conectivitate — de la erori ERR_NAME_NOT_RESOLVED până la înregistrări IP expirate rămase după o migrare de server.
Ce este un cache DNS? Este o bază de date temporară, locală, menținută de sistemul de operare (și separat de unele browsere), care stochează rezultatele căutărilor DNS anterioare. De fiecare dată când rezolvați un nume de gazdă precum example.com, adresa IP rezultată este stocată împreună cu un contor TTL (Time To Live). Până la expirarea acelui TTL, sistemul dvs. omite complet rezolvatorul din amonte și folosește înregistrarea din cache — ceea ce este rapid, dar devine o problemă în momentul în care acea înregistrare expiră, este otrăvită sau indică un server dezafectat.
De ce cache-ul DNS devine o problemă
Înțelegerea modurilor de defecțiune clarifică de ce ștergerea cache-ului este uneori singura soluție corectă:
- Migrarea serverului sau schimbarea IP: Când un site se mută pe o infrastructură nouă, înregistrările sale DNS sunt actualizate cu un nou înregistrare A sau AAAA. Dacă cache-ul local conține încă vechiul IP, fiecare cerere ajunge la gazda greșită — rezultând adesea o eroare de timeout al conexiunii sau o eroare de nepotrivire a certificatului TLS.
- Otrăvirea cache-ului DNS: Programele malware și atacurile de tip man-in-the-middle pot injecta înregistrări frauduloase în cache-ul local, redirecționând silențios traficul către servere controlate de atacatori. Ștergerea cache-ului elimină imediat înregistrările otrăvite.
- Caching negativ: O căutare DNS eșuată (răspuns NXDOMAIN) este de asemenea stocată în cache. Dacă un domeniu a fost temporar inaccesibil și rezultatul negativ a fost stocat în cache, sistemul dvs. va refuza să îl rezolve din nou până la expirarea TTL-ului negativ — chiar și după ce domeniul revine online.
- Conflicte DNS split-horizon: Dezvoltatorii care lucrează cu suprascrierea
/etc/hostslocală sau cu rezolvatoare atribuite de VPN întâlnesc frecvent intrări de cache expirate care suprascriu rutarea intenționată. - Artefacte după deconectarea VPN: Intrările DNS reziduale dintr-o sesiune VPN pot persista după deconectare, cauzând scurgeri DNS sau erori de rutare în rețeaua locală.
Cum să ștergeți cache-ul DNS în Windows
Procedura este identică pentru Windows 7, 8, 10 și 11. Singura diferență semnificativă este dacă preferați Command Prompt sau PowerShell.
Metoda 1: Command Prompt (ipconfig /flushdns)
- Apăsați
Win + R, tastațicmd, apoi apăsațiCtrl + Shift + Enterpentru a lansa Command Prompt cu privilegii de administrator. Alternativ, căutați Command Prompt în meniul Start, faceți clic dreapta pe el și selectați Run as administrator. - Rulați comanda de ștergere:
ipconfig /flushdns- O ștergere reușită returnează:
Windows IP Configuration
Successfully flushed the DNS Resolver Cache.Dacă vedeți o eroare în schimb, asigurați-vă că ați deschis promptul cu privilegii ridicate. Sesiunile utilizatorilor standard nu au acces de scriere la cache-ul serviciului DNS Client.
Metoda 2: Windows PowerShell
PowerShell expune un cmdlet dedicat care interacționează direct cu serviciul DNS Client, în loc să ruteze prin interfața moștenită ipconfig.
- Apăsați
Win + Xși selectați Windows PowerShell (Admin) sau Terminal (Admin) pe Windows 11. - Rulați:
Clear-DnsClientCacheNu există niciun mesaj de confirmare la succes — comanda returnează silențios. Pentru a verifica că cache-ul este gol, rulați Get-DnsClientCache imediat după; nu ar trebui să returneze niciun rezultat.
Metoda 3: Repornirea serviciului DNS Client
În cazuri rare în care comenzile de mai sus eșuează — de obicei din cauza unei stări corupte a serviciului DNS Client — repornirea serviciului în sine șterge cache-ul ca efect secundar:
Stop-Service -Name Dnscache -Force
Start-Service -Name DnscacheAvertisment important: Pe unele configurații Windows, serviciul DNS Client este setat ca dependență pentru alte servicii de rețea. Oprirea acestuia poate întrerupe temporar conectivitatea la rețea. Nu rulați această comandă pe un server de producție fără o fereastră de mentenanță.
Vizualizarea cache-ului DNS curent (Windows)
Înainte de ștergere, este adesea util să inspectați ce este stocat în cache pentru a confirma dacă o înregistrare expirată este cu adevărat cauza problemei dvs.:
Get-DnsClientCacheAceasta afișează toate intrările din cache cu TTL-ul lor, tipul de înregistrare și datele rezolvate — mult mai multă valoare diagnostică decât ștergerea oarbă.
Cum să ștergeți cache-ul DNS pe macOS
macOS folosește mDNSResponder ca daemon de serviciu DNS pe toate versiunile moderne. Mecanismul de ștergere a rămas consistent începând cu macOS Sierra, dar versiunile mai vechi necesitau comenzi diferite.
macOS Ventura, Monterey, Big Sur, Catalina, Mojave, High Sierra, Sierra (10.12 și versiuni ulterioare)
- Deschideți Terminal prin
Applications > Utilities > Terminalsau apăsațiCmd + Spaceși tastațiTerminal. - Rulați:
sudo killall -HUP mDNSResponder- Introduceți parola de administrator când vi se solicită. Câmpul pentru parolă nu va afișa caracterele — acesta este comportamentul așteptat. Apăsați
Enterpentru a confirma.
Nu există niciun mesaj de succes. Semnalul -HUP instruiește mDNSResponder să reîncarce configurația și să șteargă cache-ul fără o repornire completă.
macOS El Capitan și Yosemite (10.11 / 10.10)
El Capitan folosește aceeași comandă mDNSResponder ca mai sus. Yosemite a înlocuit temporar mDNSResponder cu discoveryd, necesitând o abordare diferită:
sudo discoveryutil udnsflushcachesmacOS Mavericks, Mountain Lion și Lion (10.9 și versiuni anterioare)
sudo killall -HUP mDNSResponderȘtergerea straturilor suplimentare de cache DNS pe macOS
macOS menține mai mult de un cache DNS. Pentru o ștergere completă — deosebit de relevantă la depanarea problemelor split-DNS sau mDNS — rulați toate cele trei comenzi în secvență:
sudo killall -HUP mDNSResponder
sudo killall mDNSResponderHelper
sudo dscacheutil -flushcachedscacheutil -flushcache șterge cache-ul Directory Services, care stochează date suplimentare de rezolvare a numelor utilizate de procesele la nivel de sistem. Omiterea acestuia poate lăsa intrări reziduale pe care mDNSResponder singur nu le atinge.
Cum să ștergeți cache-ul DNS în Google Chrome
Chrome menține propriul cache DNS intern care funcționează complet independent față de rezolvatorul la nivel de sistem de operare. Aceasta este o decizie arhitecturală deliberată — stiva de rețea a Chrome (construită pe biblioteca net:: a Chromium) pre-rezolvă domeniile pe care prezice că le veți vizita și stochează acele rezultate în proces. Aceasta înseamnă că puteți șterge cache-ul DNS al sistemului de operare, iar Chrome va servi în continuare înregistrări expirate din propriul său depozit.
Pas cu pas: Ștergerea cache-ului DNS al Chrome
- Deschideți Google Chrome.
- În bara de adrese, navigați la:
chrome://net-internals/#dns- Faceți clic pe butonul Clear host cache. Aceasta șterge imediat toate intrările DNS din cache-ul în proces al Chrome.
Resetarea pool-urilor de socket ale Chrome
Intrările din cache-ul DNS și conexiunile TCP/TLS deschise sunt aspecte separate. Dacă ați șters cache-ul DNS, dar Chrome rutează în continuare traficul printr-o conexiune veche (de exemplu, după o schimbare a IP-ului serverului), trebuie să ștergeți și pool-ul de socket-uri:
- Navigați la:
chrome://net-internals/#sockets- Faceți clic pe Flush socket pools.
Aceasta închide toate conexiunile keep-alive inactive și active, forțând Chrome să restabilească conexiuni TCP noi folosind adresele IP nou rezolvate.
Repornirea Chrome după ștergerea cache-ului
Închideți complet toate ferestrele Chrome și redeschideți browserul. Pe macOS, asigurați-vă că Chrome nu rulează în continuare în fundal prin Dock — faceți clic dreapta pe pictogramă și selectați Quit în loc să închideți doar fereastra.
Comparație cache DNS: Nivel OS vs. Nivel browser
| Proprietate | Cache DNS OS | Cache DNS Chrome |
|---|---|---|
| — | — | — |
| Domeniu de aplicare | Toate aplicațiile la nivel de sistem | Doar browserul Chrome |
| Comandă de ștergere (Windows) | `ipconfig /flushdns` | `chrome://net-internals/#dns` |
| Comandă de ștergere (macOS) | `sudo killall -HUP mDNSResponder` | `chrome://net-internals/#dns` |
| Respectă setările TTL ale OS | Da | Parțial (folosește propria logică TTL) |
| Afectat de schimbările DNS ale VPN | Da | Nu imediat |
| Vizibil pentru instrumentele de diagnosticare | `Get-DnsClientCache`, `dscacheutil -cachedump` | Doar prin intermediul Chrome internals |
| Șters la repornirea sistemului | Da | Da (memorie în proces) |
| Șters la repornirea browserului | Nu | Da |
Comenzi de ștergere specifice platformei dintr-o privire
| Platformă / Versiune | Comandă |
|---|---|
| — | — |
| Windows (toate versiunile) | `ipconfig /flushdns` |
| Windows PowerShell | `Clear-DnsClientCache` |
| macOS 10.12 și versiuni ulterioare | `sudo killall -HUP mDNSResponder` |
| macOS Yosemite (10.10) | `sudo discoveryutil udnsflushcaches` |
| macOS (ștergere completă) | `sudo killall -HUP mDNSResponder && sudo dscacheutil -flushcache` |
| Google Chrome (toate OS) | `chrome://net-internals/#dns` > Clear host cache |
| Linux (systemd-resolved) | `sudo systemd-resolve –flush-caches` |
| Linux (nscd) | `sudo service nscd restart` |
Linux este inclus aici deoarece administratorii care gestionează medii de VPS Hosting au frecvent nevoie să șteargă cache-urile DNS atât pe stația de lucru locală, cât și pe serverul de la distanță simultan, atunci când propagă modificări DNS.
Erori comune pe care le rezolvă ștergerea cache-ului DNS
ERR_NAME_NOT_RESOLVED— Chrome nu poate rezolva numele de gazdă. Aproape întotdeauna o problemă DNS; ștergeți atât cache-ul OS, cât și cel al Chrome.DNS_PROBE_FINISHED_NXDOMAIN— Rezolvatorul a returnat un răspuns de domeniu inexistent. Poate fi o intrare de cache negativ expirată.ERR_CONNECTION_TIMED_OUTdupă o migrare de server — Vechiul IP este încă în cache. Ștergeți cache-ul OS și verificați cunslookupsaudigcă noul IP este returnat.- Erori de nepotrivire a certificatelor TLS/SSL — Dacă IP-ul din cache indică un server diferit față de cel care deține certificatul corect, veți primi o eroare de nepotrivire a numelui certificatului. Aceasta este frecventă când un domeniu se mută între furnizori de hosting. Dacă gestionați infrastructura SSL, asigurați-vă că Certificatele SSL sunt furnizate pe originea corectă înainte de expirarea TTL-ului DNS.
- Erori 404 intermitente după o migrare CMS — Site-ul se încarcă, dar resursele sau paginile returnează 404. Cauzate adesea de CDN sau proxy-ul invers care rezolvă în continuare la originea veche. Ștergeți cache-urile la fiecare nivel.
Propagarea DNS vs. Cache-ul local: O distincție critică
O concepție greșită frecventă este că ștergerea cache-ului DNS local va face o înregistrare DNS nou publicată imediat vizibilă. Nu va face acest lucru — dacă rezolvatorul recursiv din amonte (serverul DNS al ISP-ului dvs. sau un rezolvator public precum 8.8.8.8) a stocat și el înregistrarea veche, veți continua să primiți vechiul IP până când cache-ul acelui rezolvator expiră.
Fluxul de lucru corect de diagnosticare este:
- Verificați înregistrarea autoritară direct folosind
dig @8.8.8.8 example.com Asaunslookup example.com 1.1.1.1. - Dacă înregistrarea autoritară este corectă, dar rezoluția locală este greșită, ștergeți cache-ul OS local.
- Dacă înregistrarea autoritară în sine este încă greșită, problema se află la nivelul registrarului DNS sau al panoului de control al hosting-ului — nu la cache-ul local.
Când gestionați DNS pentru domenii găzduite pe Servere Dedicate, setați întotdeauna un TTL scăzut (300 de secunde) cu cel puțin 24 de ore înainte de o migrare planificată. Aceasta minimizează fereastra de propagare și reduce impactul intrărilor de cache expirate pe internet.
Implicațiile de securitate ale gestionării cache-ului DNS
Otrăvirea cache-ului DNS (cunoscută și ca DNS spoofing) este o clasă de atac în care un adversar injectează înregistrări A sau CNAME malițioase în cache-ul unui rezolvator, redirecționând utilizatorii către servere frauduloase. Deși DNSSEC oferă validare criptografică la nivel de protocol, igiena cache-ului local rămâne o măsură practică de primă intervenție.
Dacă suspectați că cache-ul dvs. DNS a fost otrăvit:
- Ștergeți imediat cache-ul local folosind comanda corespunzătoare pentru sistemul dvs. de operare.
- Treceți la un rezolvator cu validare DNSSEC, cum ar fi Cloudflare (
1.1.1.1) sau Google (8.8.8.8). - Inspectați procesele în execuție pentru programe malware care pot modifica fișierul
hosts(C:WindowsSystem32driversetchostspe Windows,/etc/hostspe sistemele Unix). - Verificați setările DNS ale routerului — atacatorii care compromit un router pot redirecționa toate interogările DNS din rețea, indiferent de starea cache-ului local.
Pentru companiile care rulează propria infrastructură de e-mail, integritatea DNS este deosebit de critică. Înregistrările DNS configurate greșit sau otrăvite afectează direct validarea SPF, DKIM și DMARC. Dacă vă bazați pe servicii de Email Hosting, verificați că înregistrările MX, SPF și DKIM se rezolvă corect după orice modificare DNS.
Automatizarea ștergerii cache-ului DNS
Pentru dezvoltatorii și administratorii de sistem care lucrează regulat cu modificări DNS — în special în timpul configurării Panourilor de Control VPS, comutărilor de mediu de staging sau migrărilor de domenii — automatizarea ștergerii elimină complet pasul manual.
Sarcină programată Windows (PowerShell):
$action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-Command Clear-DnsClientCache"
$trigger = New-ScheduledTaskTrigger -Daily -At "03:00AM"
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "FlushDNSCache" -RunLevel HighestmacOS launchd plist (ștergere zilnică la ora 3 AM):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.local.flushdns</string>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>-c</string>
<string>killall -HUP mDNSResponder</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>3</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
</dict>
</plist>Salvați acest fișier în ~/Library/LaunchAgents/com.local.flushdns.plist și încărcați-l cu launchctl load ~/Library/LaunchAgents/com.local.flushdns.plist.
Ștergerile automate sunt cele mai utile în pipeline-urile CI/CD unde înregistrările DNS sunt actualizate programatic ca parte a unui flux de lucru de implementare, iar agenții de build trebuie să rezolve noile înregistrări imediat după aplicarea modificării.
Matrice de decizie tehnică: Când să ștergeți și unde
| Simptom | Ștergeți cache-ul OS | Ștergeți cache-ul Chrome | Ștergeți cache-ul routerului | Verificați rezolvatorul din amonte |
|---|---|---|---|---|
| — | — | — | — | — |
| Site-ul se încarcă în Firefox, dar nu în Chrome | Nu | Da | Nu | Nu |
| Site-ul inaccesibil pe toate browserele | Da | Da | Nu | Da |
| Site-ul inaccesibil pe toate dispozitivele din rețea | Da | Da | Da | Da |
| IP corect afișat de `nslookup`, dar site-ul tot eșuează | Nu | Da (socket-uri) | Nu | Nu |
| Site-ul se încarcă pentru colegi, dar nu pentru dvs. | Da | Da | Nu | Da |
| Tocmai ați finalizat o migrare de server | Da | Da | Nu | Da |
| Suspiciune de otrăvire DNS | Da | Da | Da | Da |
Listă de verificare practică înainte și după ștergerea cache-ului
- Confirmați că modificarea DNS s-a propagat la serverele autoritare folosind
digsau un instrument online precumwhatsmydns.netînainte de a șterge local. - Notați TTL-ul curent al înregistrării pe care o depanați — dacă este de 86400 de secunde (24 de ore), ștergerea locală vă ajută doar pe dvs.; alți utilizatori vor vedea în continuare înregistrarea veche timp de până la 24 de ore.
- Pe Windows, rulați
ipconfig /displaydnsînainte de ștergere pentru a captura o imagine a stării curente a cache-ului în scopuri de diagnosticare. - După ștergere, folosiți
nslookup example.comsauping example.compentru a confirma că noul IP este returnat înainte de a deschide browserul. - Dacă lucrați într-un mediu de Web Hosting Shared, rețineți că serverele de nume ale furnizorului de hosting stochează și ele înregistrările în cache — contactați suportul dacă propagarea pare blocată la nivelul serverului.
- Pentru Chrome în mod specific, după ștergerea cache-ului DNS, ștergeți și pool-ul de socket-uri și efectuați o reîncărcare forțată (
Ctrl + Shift + Rpe Windows/Linux,Cmd + Shift + Rpe macOS) pentru a ocoli și cache-ul HTTP al browserului. - Documentați ștergerea într-un jurnal de modificări dacă este efectuată într-un mediu de producție — modificările DNS și ștergerile de cache sunt frecvent trecute cu vederea la diagnosticarea problemelor post-implementare zile mai târziu.
Întrebări frecvente
Ștergerea cache-ului DNS afectează viteza de navigare?
Temporar, da. După o ștergere, sistemul dvs. trebuie să efectueze căutări DNS noi pentru fiecare nume de gazdă cu care intră în contact, ceea ce adaugă o mică latență suplimentară (de obicei 20–100ms per căutare) până când cache-ul se repopulează. Pentru majoritatea utilizatorilor, aceasta este imperceptibilă. Cache-ul se reconstruiește automat în câteva minute de navigare normală.
Ștergerea cache-ului DNS mă va deconecta de pe site-uri?
Nu. Intrările din cache-ul DNS sunt complet separate de cookie-urile browserului, token-urile de sesiune și starea de autentificare. Ștergerea DNS nu atinge niciunul dintre acestea.
Cum diferă ipconfig /flushdns față de Clear-DnsClientCache?
Ambele comenzi instruiesc serviciul DNS Client din Windows să șteargă cache-ul. ipconfig /flushdns este o interfață moștenită care comunică cu serviciul prin utilitarul ipconfig; Clear-DnsClientCache este un cmdlet PowerShell nativ care folosește direct interfața WMI/CIM. Rezultatul final este identic, dar Clear-DnsClientCache este scriptabil și returnează obiecte structurate, făcându-l preferabil în contexte de automatizare.
De ce Chrome afișează în continuare site-ul vechi după ce am șters cache-ul DNS al OS?
Chrome menține propriul cache DNS în proces care nu este afectat de ștergerile la nivel de OS. Trebuie să ștergeți separat cache-ul Chrome prin chrome://net-internals/#dns. În plus, dacă vechea conexiune TCP este încă activă în pool-ul de socket-uri al Chrome, trebuie să ștergeți și pool-urile de socket-uri prin chrome://net-internals/#sockets.
Cât de des ar trebui să șterg cache-ul DNS?
Nu există un program universal. Ștergeți-l reactiv — când întâlniți erori legate de DNS, după o migrare de server sau domeniu, după un incident de securitate suspectat sau când comutați între configurații de rețea VPN și non-VPN. Ștergerile programate de rutină sunt justificate doar în mediile de dezvoltare sau staging unde înregistrările DNS se schimbă frecvent.
