Paikallisen DNS-välimuistin tyhjentäminen voi ratkaista HTTP-virheet ja suojata DNS-huijauksilta. Näin voit tehdä sen Linuxissa.
Kun käytät verkkosivustoa sen verkkotunnuksen nimellä, järjestelmäsi lähettää DNS-palvelimelle pyynnön saada IP-osoite kyseiselle toimialueelle. Tämä toimialue-IP-osoitepari tallennetaan DNS-välimuistiin myöhempää käyttöä varten, joten sinun ei tarvitse lähettää pyyntöjä DNS-palvelimelle joka kerta yhteyden muodostamiseksi.
Mutta joskus paikallinen DNS-välimuisti vioittuu ja aiheuttaa HTTP-virheitä. Onneksi DNS-välimuistin huuhtelu ja uudelleen rakentaminen Linux-tietokoneessa on yksinkertaista. Näin se tehdään.
Miksi Tyhjennä DNS-välimuisti Linuxissa?
On useita syitä, miksi saatat haluta rakentaa uudelleen järjestelmääsi tallennetun DNS-välimuistin. Ehkä sinulla on vanhentunut DNS-tietue verkkosivustolle ja haluat hakea sen uudelleen DNS-palvelimelta. Tai ehkä järjestelmäsi on vaarantunut ja haluat varmistaa, ettei DNS-välimuistia ole peukaloitu. tunnetaan nimellä DNS-huijaus.
Kun tyhjennät DNS-välimuistin, järjestelmän täytyy pingata DNS-palvelin uudelleen ja saada siitä uusi domain-IP-osoitetietue, mikä poistaa kaikki vanhentuneet tai vaarantuneet tiedot.
Kuinka tarkastella paikallista DNS-välimuistia Linuxissa
Useimmissa Linux-jakeluissa ei ennen systemd-versiota ollut järjestelmän laajuista DNS-välimuistia, ellei dnsmasq: n tai nscd: n kaltaisia ohjelmia ole määritetty manuaalisesti. systemd: n mukana tulee systemd-resolved, palvelu, joka ratkaisee toimialueen nimet IP-osoitteiksi ja tallentaa DNS-merkinnät välimuistiin.
Seuraavat osiot opastavat sinua tarkastelemaan systemd-resolvedin, nscd: n ja dnsmasqin luomaa DNS-välimuistin sisältöä, jotta ymmärrät välimuistissa olevat tiedot ennen kuin päätät tyhjentää ne.
Näytä systemd-resolved DNS-välimuisti
Jos haluat tarkastella järjestelmällisesti ratkaistuja välimuistitietueita, sinun on ensin lopetettava tilapäisesti palvelu ja sitten vietävä sen lokit tiedostoon.
Aloita lähettämällä SIGUSR1-signaali lopettaaksesi systemd-ratkaisun palvelun:
sudo killall -USR1 systemd-resolved
Käyttää journalctl-komento ja vakiotulostusoperaattori tulosteen tallentamiseksi tekstitiedostoon:
sudo journalctl -u systemd-resolved > ~/cache.txt
Voit sitten tarkastella tiedoston sisältöä tekstieditorilla, kuten Vim:
vim ~/cache.txt
Etsi tiedostosta "CACHE:" painamalla Paeta, kirjoitat "/CACHE:", ja lyömällä Tulla sisään. Kaikki alla luetellut DNS-tietueet KÄTKÖ: ovat osa paikallista DNS-välimuistia. Lehdistö n siirtyäksesi seuraavaan DNS-merkintöjen joukkoon, jos käytät Vimia.
Tarkastele nscd: n paikallista DNS-välimuistia
Jos haluat tarkastella nscd: n luomaa paikallista välimuistia, sinun on luettava nscd hosts -tietokannan sisältö strings-komennolla.
Debian- ja Ubuntu-pohjaisissa distroissa tämä tiedosto sijaitsee osoitteessa /var/cache/nscd/hosts. Suorita seuraava komento nähdäksesi tiedoston:
sudo strings /var/cache/nscd/hosts | uniq
Voit tarkastella yleisiä tilastoja nscd DNS-välimuistista käyttämällä -g lippu:
sudo nscd -g
Näytä dnsmasqin luoma DNS-välimuisti
dnsmasq tallentaa DNS-välimuistin muistiin, joten tarkan tietueen saaminen ei ole helppoa. Mutta voit lähettää tapmissignaalin dnsmasqille ja kirjata sen lähdön saadaksesi käsiteltyjen DNS-kyselyiden määrän.
Varmista ensin, että dnsmasq on valmis ja käynnissä käyttämällä systemctl-komentoa:
sudo systemctl status dnsmasq
Jos tila näkyy Aktiivinen, suorita seuraava komento lopettaaksesi palvelun:
sudo pkill -USR1 dnsmasq
Pura dnsmasq-lokit journalctl-komennolla ja tallenna ne tekstitiedostoon:
sudo journalctl -u dnsmasq > ~/cache.txt
Katso lopuksi tiedoston sisältö käyttämällä tiedostojen katseluapuohjelmaa kuten kissa tai vähemmän:
cat ~/cache.txt
DNS-välimuistin tyhjentäminen Linuxissa
DNS-välimuistin tyhjentäminen tarkoittaa välimuistissa olevien DNS-tietueiden poistamista tietokoneesta. Tämä pakottaa sen lähettämään DNS-palvelimelle pyynnön noutaa uudet DNS-merkinnät.
Voit tyhjentää DNS-välimuistin Linuxissa seuraavasti:
Systemd-resolvedin käyttö
Voit käyttää solvectl-komentoa tyhjentääksesi systemd-resolvedin tallentaman DNS-välimuistin:
sudo solvectl flush-caches
Jos käytössäsi on Ubuntu 17.04 tai 18.04, käytä systemd-resolved-komentoa välimuistin tyhjentämiseen:
sudo systemd-resolved --flush-caches
Tyhjennä nscd DNS-välimuisti Linuxissa
Kätevin tapa poistaa DNS-välimuisti nscd: lle on yksinkertaisesti käynnistää palvelu uudelleen. Voit tehdä sen ajamalla:
sudo /etc/init.d/nscd käynnistyy uudelleen
Jos tämä ei auta, tarkista ensin, onko tietokoneellesi tallennettu paikallinen välimuisti pysyvä. Voit käyttää -g lippu vahvistaaksesi sen:
sudo nscd -g
Jos näin on, käytä -i lippu nscd-komennolla tyhjentääksesi tietueet (i tarkoittaa mitätöidä):
sudo nscd -i isännät
Poista dnsmasq DNS-välimuisti
dnsmasqin luoman DNS-välimuistin tyhjentäminen on helppoa. Koska välimuisti on tallennettu muistiin, palvelun käynnistäminen uudelleen poistaa kaikki tallennetut merkinnät.
Käynnistä dnsmasq uudelleen suorittamalla seuraava systemctl-komento:
sudo systemctl käynnistä dnsmasq uudelleen
Tai anna seuraava komento:
palvelu dnsmasq käynnistyy uudelleen
Anna järjestelmänvalvojan salasana pyydettäessä. dnsmasq käynnistyy nyt uudelleen ja kaikki nykyiset DNS-merkinnäsi poistetaan välimuistista.
Kun DNS-välimuisti on tyhjennetty, on parasta tarkastella paikallisen välimuistin merkintöjä ja tarkistaa, onko tietojen poistaminen onnistunut. Voit käyttää kaivaa, yhtä monet verkon vianmääritys Linux-komennot, ja tarkista kyselyn aika -arvo tulosteesta. Jos se on yli 0 ms, välimuisti tyhjennettiin onnistuneesti (0 ms tarkoittaa, että toimialueen tietue on edelleen välimuistissa).
kaivaa google.com
Tyhjennä Google Chromen DNS-välimuisti
Usein käyttämäsi verkkoselain tallentaa myös DNS-tietueet välimuistiin. Kun annat URL-osoitteen, järjestelmä etsii välimuistimerkintää paikallisen selaimen välimuistista. Jos ei löydy, se tarkistaa tietueet paikallisen järjestelmän välimuistista. On erittäin tärkeää tyhjentää verkkoselaimen DNS-välimuisti, koska se on tärkeämpi kuin järjestelmän laajuinen välimuisti.
Esittelyä varten tyhjennetään DNS-välimuisti Google Chromessa. On olemassa tapoja tehdä se myös muilla selaimilla, joten on parasta, että googletat, miten se tehdään käyttämällesi selaimelle.
Aloita kirjoittamalla "chrome://net-internals/#dns" URL-palkissa ja paina Tulla sisään:
Klikkaus Tyhjennä isäntävälimuisti tyhjentääksesi Google Chromeen tallennetut DNS-merkinnät.
Linux on paras käyttöjärjestelmä verkkokäytön oppimiseen
Linux saattaa aluksi tuntua monimutkaiselta, mutta jos käytät aikaa sen toiminnan oppimiseen, huomaat nopeasti, että se on upea ja ehkä jopa parempi kuin Windows tai macOS.
Useimmat online-palvelimet käyttävät Linuxia, ja se on yksi syy siihen, miksi Linux on ihanteellinen, jos haluat oppia verkottumista tai tietää miten tietokoneet toimivat yleensä.