Kohaliku DNS-i vahemälu tühjendamine võib lahendada HTTP-vead ja kaitsta teid DNS-i võltsimise eest. Siin on, kuidas saate seda Linuxis teha.
Kui avate veebisaidile selle domeeninime kasutades, saadab teie süsteem DNS-serverile päringu selle domeeni IP-aadressi hankimiseks. See domeeni-IP-aadressi paar salvestatakse DNS-i vahemällu hilisemaks kasutamiseks, nii et te ei pea ühenduse loomiseks iga kord DNS-serverile päringuid saatma.
Kuid mõnikord rikutakse kohalik DNS-i vahemälu ja põhjustab HTTP-tõrkeid. Õnneks on Linuxi arvutis DNS-i vahemälu loputamine ja taastamine lihtne. Siin on, kuidas seda teha.
Miks loputada Linuxis DNS-i vahemälu?
On mitmeid põhjuseid, miks võiksite oma süsteemi salvestatud DNS-i vahemälu uuesti üles ehitada. Võib-olla on teil veebisaidi DNS-kirje aegunud ja soovite selle DNS-serverist uuesti tuua. Või võib-olla on teie süsteem rikutud ja soovite veenduda, et DNS-i vahemälu pole rikutud. tuntud kui DNS-i võltsimine.
Kui tühjendate oma DNS-i vahemälu, peab süsteem uuesti DNS-serverit pingima ja hankima sealt uue domeeni-IP-aadressi kirje, eemaldades protsessi käigus kõik aegunud või kahjustatud andmed.
Kohaliku DNS-i vahemälu vaatamine Linuxis
Enne süsteemi paigaldamist ei olnud enamikul Linuxi distributsioonidel kogu süsteemi hõlmavat DNS-i vahemälu, välja arvatud juhul, kui programm, nagu dnsmasq või nscd, oli käsitsi seadistatud. systemd-ga on kaasas systemd-resolved, teenus, mis lahendab domeeninimed IP-aadressideks ja salvestab DNS-kirjed vahemällu.
Järgmised jaotised juhendavad teid, kuidas vaadata systemd-resolved, nscd ja dnsmasq loodud DNS-i vahemälu sisu, et saaksite vahemällu salvestatud andmetest aru enne, kui otsustate need tühjendada.
Vaadake süsteemiga lahendatud DNS-i vahemälu
Süsteemse lahendusega vahemälukirjete vaatamiseks peate esmalt teenuse ajutiselt sulgema ja seejärel selle logid faili eksportima.
Alustage SIGUSR1 signaali saatmisega, et lõpetada süsteemse lahendusega teenus:
sudo killall -USR1 systemd-resolved
Kasutage journalctl käsk ja standardne väljundoperaator väljundi salvestamiseks tekstifaili:
sudo journalctl -u systemd-resolved > ~/cache.txt
Seejärel saate faili sisu vaadata tekstiredaktoriga nagu Vim:
vim ~/cache.txt
Otsige failist "CACHE:", vajutades nuppu Põgenemine, tippides "/CACHE:", ja lööb Sisenema. Kõik all loetletud DNS-kirjed VÄHYLU: on osa kohalikust DNS-i vahemälust. Vajutage n järgmise DNS-kirjete komplekti hüppamiseks, kui kasutate Vimi.
Vaadake nscd kohalikku DNS-i vahemälu
Nscd loodud kohaliku vahemälu vaatamiseks peate lugema nscd hosts andmebaasi sisu, kasutades käsku strings.
Debianil ja Ubuntu põhinevates distributsioonides asub see fail aadressil /var/cache/nscd/hosts. Faili vaatamiseks käivitage järgmine käsk:
sudo stringid /var/cache/nscd/hosts | unikaalne
Üldise statistika vaatamiseks nscd DNS-i vahemälu kohta kasutage -g lipp:
sudo nscd -g
Kuva dnsmasqi loodud DNS-i vahemälu
dnsmasq salvestab DNS-i vahemälu mällu, nii et täpsete kirjete hankimine pole lihtne. Kuid töödeldud DNS-päringute arvu saamiseks võite saata dnsmasq-ile tapmissignaali ja logida selle väljundi.
Selleks veenduge esmalt, et dnsmasq on valmis ja töötab kasutades käsku systemctl:
sudo systemctl olek dnsmasq
Kui olek näitab Aktiivne, käivitage teenuse hävitamiseks järgmine käsk:
sudo pkill -USR1 dnsmasq
Kasutades käsku journalctl, ekstraheerige dnsmasqi logid ja salvestage need tekstifaili:
sudo journalctl -u dnsmasq > ~/cache.txt
Lõpuks vaadake faili sisu failide vaatamise utiliidi abil nagu kass või vähem:
kass ~/cache.txt
DNS-i vahemälu tühjendamine Linuxis
DNS-i vahemälu tühjendamine tähendab vahemällu salvestatud DNS-kirjete eemaldamist arvutist. See sunnib seda saatma DNS-serverile päringu uute DNS-kirjete toomiseks.
Linuxis DNS-i vahemälu tühjendamiseks tehke järgmist.
Systemd-resolve kasutamine
Saate kasutada systemd-resolvedi salvestatud DNS-i vahemälu tühjendamiseks käsku solvectl:
sudo solvectl flush-caches
Kui kasutate Ubuntu versiooni 17.04 või 18.04, kasutage vahemälu tühjendamiseks systemd-resolved käsku:
sudo systemd-resolved --flush-caches
Loputage nscd DNS-i vahemälu Linuxis
Kõige mugavam viis nscd DNS-i vahemälu eemaldamiseks on lihtsalt teenuse taaskäivitamine. Seda saate teha, käivitades:
sudo /etc/init.d/nscd taaskäivitage
Kui see ei tööta, kontrollige esmalt, kas teie arvutisse salvestatud kohalik vahemälu on püsiv. Võite kasutada -g liputage selle kinnitamiseks:
sudo nscd -g
Kui see nii on, kasutage -i liputage nscd käsuga, et kustutada kirjed (i tähistab kehtetuks tunnistada):
sudo nscd -i hostid
Eemaldage dnsmasq DNS-i vahemälu
dnsmasqi loodud DNS-i vahemälu tühjendamine on lihtne. Kuna vahemälu on mällu salvestatud, kustutab teenuse taaskäivitamine kõik salvestatud kirjed.
Dnsmasqi taaskäivitamiseks käivitage järgmine systemctl käsk:
sudo systemctl taaskäivitage dnsmasq
Või andke järgmine käsk:
teenuse dnsmasq taaskäivitamine
Kui küsitakse, sisestage administraatori parool. dnsmasq taaskäivitub ja kõik teie olemasolevad DNS-i kirjed eemaldatakse vahemälust.
Pärast DNS-i vahemälu tühjendamist on kõige parem vaadata kohaliku vahemälu kirjeid ja kontrollida, kas andmed on edukalt eemaldatud. Võite kasutada digi, ühte järgmistest palju võrgu tõrkeotsingu Linuxi käskeja kontrollige väljundis päringuaja väärtust. Kui see on üle 0 msek, tühjendati vahemälu edukalt (0 msek tähendab, et domeenikirje on endiselt vahemälus).
kaeva google.com
Tühjendage Google Chrome'i DNS-i vahemälu
Sageli kasutatav veebibrauser salvestab vahemällu ka DNS-kirjed. Kui sisestate URL-i, otsib süsteem vahemälu kirjet kohalikust brauseri vahemälust. Kui seda ei leita, kontrollib see kirjeid kohalikus süsteemi vahemälus. Veebibrauseri DNS-i vahemälu tühjendamine on ülioluline, kuna sellel on suurem tähtsus kui kogu süsteemi hõlmaval vahemällul.
Demonstreerimiseks loputagem Google Chrome'i DNS-i vahemälu. Seda saab teha ka teistes brauserites, seega on parem otsida Google'ist, kuidas seda kasutatava brauseri jaoks teha.
Alustuseks tippige "chrome://net-internals/#dns" URL-i ribal ja vajutage Sisenema:
Klõpsake Tühjendage hosti vahemälu Google Chrome'i salvestatud DNS-kirjete kustutamiseks.
Linux on parim OS võrgunduse õppimiseks
Linux võib alguses tunduda keeruline, kuid kui investeerite natuke aega selle toimimise õppimisse, saate kiiresti aru, et see on fantastiline ja võib-olla isegi parem kui Windows või macOS.
Enamik võrguservereid töötab Linuxiga ja see on üks põhjusi, miks Linux on ideaalne, kui soovite õppida võrkude loomist või teada, kuidas arvutid üldiselt töötavad.