Vyprázdnenie lokálnej vyrovnávacej pamäte DNS môže vyriešiť chyby HTTP a chrániť vás pred falšovaním DNS. Tu je návod, ako to môžete urobiť v systéme Linux.

Keď pristupujete na webovú stránku pomocou jej názvu domény, váš systém odošle požiadavku na server DNS, aby získal IP adresu pre túto doménu. Tento pár domén a IP adries sa uloží do vyrovnávacej pamäte DNS na neskoršie použitie, aby ste nemuseli posielať požiadavky na server DNS zakaždým, aby ste sa pripojili.

Niekedy sa však lokálna vyrovnávacia pamäť DNS poškodí a spôsobí chyby HTTP. Našťastie je vyprázdnenie a opätovné vytvorenie vyrovnávacej pamäte DNS na počítači so systémom Linux jednoduché. Tu je návod, ako na to.

Prečo vyprázdniť vyrovnávaciu pamäť DNS v systéme Linux?

Existuje niekoľko dôvodov, prečo by ste mohli chcieť znova vytvoriť vyrovnávaciu pamäť DNS uloženú vo vašom systéme. Možno máte zastaraný záznam DNS pre webovú stránku a chcete ho znova načítať zo servera DNS. Alebo možno bol váš systém napadnutý a chcete sa uistiť, že s vyrovnávacou pamäťou DNS sa nemanipulovalo, známy ako DNS spoofing.

instagram viewer

Keď vymažete vyrovnávaciu pamäť DNS, systém musí znova pingnúť server DNS a získať z neho nový záznam adresy IP domény, pričom v procese odstráni všetky zastarané alebo ohrozené údaje.

Ako zobraziť lokálnu vyrovnávaciu pamäť DNS v systéme Linux

Pred systemd väčšina distribúcií Linuxu nemala systémovú vyrovnávaciu pamäť DNS, pokiaľ nebol manuálne nastavený program ako dnsmasq alebo nscd. systemd prichádza so službou systemd-resolved, ktorá prekladá názvy domén na adresy IP a ukladá záznamy DNS do vyrovnávacej pamäte.

Nasledujúce časti vás prevedú, ako zobraziť obsah vyrovnávacej pamäte DNS generovaný systémami s rozlíšením systemd, nscd a dnsmasq, aby ste porozumeli údajom uloženým vo vyrovnávacej pamäti skôr, ako sa ich rozhodnete vyprázdniť.

Zobraziť vyrovnávaciu pamäť DNS pre vyriešené systemd

Ak chcete zobraziť záznamy vyrovnávacej pamäte vyriešené systémom systemd, musíte najprv dočasne ukončiť službu a potom exportovať jej protokoly do súboru.

Začnite odoslaním signálu SIGUSR1 na ukončenie služby vyriešenej systémom:

sudo killall -USR1 systemd-resolved

Použite príkaz journalctl a operátor štandardného výstupu na uloženie výstupu do textového súboru:

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

Potom môžete zobraziť obsah súboru pomocou textového editora, ako je Vim:

vim ~/cache.txt

V súbore vyhľadajte „CACHE:“ stlačením Uniknúť, písanie "/CACHE:“ a biť Zadajte. Všetky DNS záznamy uvedené pod CACHE: sú súčasťou lokálnej vyrovnávacej pamäte DNS. Stlačte tlačidlo n ak používate Vim, prejdite na ďalšiu skupinu záznamov DNS.

Pozrite si lokálnu vyrovnávaciu pamäť DNS pre nscd

Ak chcete zobraziť lokálnu vyrovnávaciu pamäť vygenerovanú nscd, musíte si prečítať obsah databázy hostiteľov nscd pomocou príkazu strings.

V distribúciách Debian a Ubuntu sa tento súbor nachádza na adrese /var/cache/nscd/hosts. Ak chcete zobraziť súbor, spustite nasledujúci príkaz:

sudo strings /var/cache/nscd/hosts | jedinečný

Ak chcete zobraziť všeobecné štatistiky o vyrovnávacej pamäti DNS nscd, použite -g vlajka:

sudo nscd -g

Zobrazte vyrovnávaciu pamäť DNS vygenerovanú serverom dnsmasq

dnsmasq ukladá vyrovnávaciu pamäť DNS do pamäte, takže nie je ľahké získať presné záznamy. Môžete však odoslať signál zabíjania do dnsmasq a zaznamenať jeho výstup, aby ste získali počet spracovaných dopytov DNS.

Ak to chcete urobiť, najprv sa uistite, že dnsmasq je v prevádzke pomocou príkazu systemctl:

sudo systemctl status dnsmasq

Ak sa zobrazí stav Aktívne, spustite nasledujúci príkaz na zabitie služby:

sudo pkill -USR1 dnsmasq

Pomocou príkazu journalctl rozbaľte protokoly dnsmasq a uložte ich do textového súboru:

sudo journalctl -u dnsmasq > ~/cache.txt

Nakoniec si pozrite obsah súboru pomocou pomôcky na prezeranie súborov ako mačka alebo menej:

cat ~/cache.txt

Ako vyprázdniť vyrovnávaciu pamäť DNS v systéme Linux

Vyprázdnenie vyrovnávacej pamäte DNS znamená odstránenie uložených záznamov DNS z vášho počítača. To ho prinúti odoslať požiadavku na server DNS na získanie nových záznamov DNS.

Tu je návod, ako môžete vyčistiť vyrovnávaciu pamäť DNS v systéme Linux:

Pomocou systemd-resolved

Na vyprázdnenie vyrovnávacej pamäte DNS uloženej systémom systemd-resolved môžete použiť príkaz resolvectl:

sudo resolvectl flush-caches

Ak používate Ubuntu 17.04 alebo 18.04, použite príkaz systemd-resolved na vyprázdnenie vyrovnávacej pamäte:

sudo systemd-resolved --flush-caches

Vyprázdnite vyrovnávaciu pamäť DNS nscd v systéme Linux

Najpohodlnejším spôsobom odstránenia vyrovnávacej pamäte DNS pre nscd je jednoduché reštartovanie služby. Môžete tak urobiť spustením:

sudo /etc/init.d/nscd reštartujte

Ak to nefunguje, najprv skontrolujte, či je lokálna vyrovnávacia pamäť uložená v počítači trvalá. Môžete použiť -g príznak na overenie:

sudo nscd -g

Ak je to tak, použite -i príznak s príkazom nscd na vymazanie záznamov (i znamenať zneplatniť):

sudo nscd -i hostitelia

Odstráňte vyrovnávaciu pamäť DNS dnsmasq

Vyprázdnenie vyrovnávacej pamäte DNS vygenerovanej serverom dnsmasq je jednoduché. Keďže vyrovnávacia pamäť je uložená v pamäti, reštartovanie služby vymaže všetky uložené záznamy.

Ak chcete reštartovať dnsmasq, spustite nasledujúci príkaz systemctl:

sudo systemctl reštart dnsmasq

Alebo zadajte nasledujúci príkaz:

reštart služby dnsmasq

Ak sa zobrazí výzva, zadajte heslo správcu. dnsmasq sa teraz reštartuje a všetky vaše existujúce záznamy DNS budú odstránené z vyrovnávacej pamäte.

Po vyprázdnení vyrovnávacej pamäte DNS je najlepšie zobraziť položky lokálnej vyrovnávacej pamäte a overiť, či boli údaje úspešne odstránené. Môžete použiť dig, jeden z veľa príkazov na riešenie problémov so sieťou Linuxa skontrolujte hodnotu Čas dotazu vo výstupe. Ak je viac ako 0 ms, vyrovnávacia pamäť bola úspešne vymazaná (0 ms znamená, že záznam domény je stále vo vyrovnávacej pamäti).

dig google.com

Vymažte vyrovnávaciu pamäť DNS prehliadača Google Chrome

Webový prehliadač, ktorý často používate, tiež ukladá záznamy DNS do vyrovnávacej pamäte. Keď zadáte URL, systém vyhľadá záznam z vyrovnávacej pamäte vo vyrovnávacej pamäti lokálneho prehliadača. Ak sa nenájde, skontroluje záznamy vo vyrovnávacej pamäti lokálneho systému. Je dôležité vymazať vyrovnávaciu pamäť DNS vášho webového prehliadača, pretože má vyššiu prioritu ako vyrovnávacia pamäť v celom systéme.

Na ukážku vyprázdnime vyrovnávaciu pamäť DNS v prehliadači Google Chrome. Existujú spôsoby, ako to urobiť aj v iných prehliadačoch, takže je najlepšie, ak si vygooglite, ako to urobiť pre prehliadač, ktorý používate.

Ak chcete začať, napíšte "chrome://net-internals/#dns“ v paneli s adresou URL a stlačte Zadajte:

Kliknite Vymazať vyrovnávaciu pamäť hostiteľa vymažete záznamy DNS uložené v prehliadači Google Chrome.

Linux je najlepší operačný systém, ktorý sa dá naučiť pracovať v sieti

Linux sa na prvý pohľad môže zdať komplikovaný, ale ak investujete nejaký čas do toho, aby ste sa naučili, ako funguje, rýchlo zistíte, že je fantastický a možno dokonca lepší ako Windows alebo macOS.

Väčšina online serverov beží na Linuxe a to je jeden z dôvodov, prečo je Linux ideálny, ak sa chcete naučiť pracovať v sieti alebo chcete vedieť, ako fungujú počítače vo všeobecnosti.