GNU/Linux >> Znalost Linux >  >> Linux

Jak vymazat nebo vyprázdnit mezipaměť DNS v systému Linux

Tento stručný průvodce vysvětluje všechny možné způsoby, jak vymazat nebo vyprázdnit mezipaměť DNS v operačních systémech Linux. Pro ty, kteří by se zajímali, mezipaměť DNS (nebo se někdy nazývá mezipaměť překladače DNS ) je malá dočasná databáze spravovaná operačními systémy. Ukládá informace o všech navštívených webových stránkách a dalších internetových doménách. Jinými slovy, mezipaměť DNS obsahuje poslední vyhledávání DNS. Když stejnou webovou stránku navštívíte vícekrát, operační systém načte záznamy DNS této webové stránky z místní databáze mezipaměti DNS namísto skutečného veřejného serveru DNS. Proto ukládání do mezipaměti DNS zkracuje dobu načítání webových stránek a snižuje šířku pásma/spotřebu CPU původního serveru DNS.

Proč byste měli vymazat nebo vyprázdnit mezipaměť DNS?

Důvodů pro vymazání místní mezipaměti DNS může být mnoho. Mohli jste si například upravit svůj web nebo změnit nastavení DNS pro vaši doménu nebo máte problémy s připojením k internetu. V takových případech, pokud se pokusíte navštívit web, váš operační systém pravděpodobně získá verzi webu uloženou v mezipaměti z místní mezipaměti DNS. Vymazáním místní mezipaměti DNS tedy odstraníte všechny položky z místní databáze mezipaměti DNS a přinutí váš systém znovu naplnit mezipaměť DNS novými položkami ze skutečného serveru DNS a zobrazí novou kopii webu.

Vymažte nebo vyprázdněte mezipaměť DNS v systému Linux

Ve výchozím nastavení není ukládání do mezipaměti DNS nainstalováno a/nebo povoleno na úrovni operačního systému v Linuxu. Místo toho si aplikace jako webové prohlížeče udržují vlastní vnitřní mezipaměť. Můžete tedy jednoduše vymazat mezipaměť prohlížeče nebo jej restartovat, abyste opravili problémy s připojením k internetu, vyřešili problémy s falšováním DNS (např. otrava mezipaměti DNS) a vyřešili problémy se zastaralým obsahem. Pokud vaše distribuce Linuxu používá nějaké služby mezipaměti DNS, musíte je ručně vymazat, jak je popsáno níže. Existuje několik způsobů, jak vymazat mezipaměť DNS. To se liší v závislosti na distribuci Linuxu a službě ukládání do mezipaměti DNS, kterou používáte. Zde jsem zahrnul pokyny pro vymazání nejběžněji používaných služeb mezipaměti DNS v Linuxu.

1. Vymažte službu mezipaměti DNS s rozlišením Systemd

Systemd-resolve je služba systemd, která poskytuje službu ukládání do mezipaměti DNS na úrovni systému pro místní aplikace. Je součástí balíčku systemd, který je standardně nainstalován. Služba Systemd-resolved je standardně povolena ve většině moderních operačních systémů Linux, jako je Fedora a Ubuntu. Nejprve zkontrolujte, zda je služba systemd-resolved aktivní nebo ne pomocí příkazu:

$ sudo systemctl is-active systemd-resolved.service

Pokud je povolena služba systemd-resolved, uvidíte "aktivní" ve výstupu. Pokud není aktivní, vypíše se "neaktivní" .

Jak vidíte ve výše uvedeném výstupu, služba systemd-resolved je v mém systému aktivní.

Podívejme se na statistiku služby mezipaměti systemd-resolve pomocí příkazu:

$ sudo systemd-resolve --statistics

Ukázkový výstup:

DNSSEC supported by current servers: no

Transactions              
Current Transactions: 0   
  Total Transactions: 3117
                          
Cache                     
  Current Cache Size: 58  
          Cache Hits: 1248
        Cache Misses: 1891
                          
DNSSEC Verdicts           
              Secure: 0   
            Insecure: 0   
               Bogus: 0   
       Indeterminate: 0

Jak vidíte, výše uvedený výstup uvádí celkový počet aktuální velikosti mezipaměti, přístupů a zmeškaných mezipamětí.

Chcete-li vyprázdnit mezipaměť systemd-resolve, spusťte:

$ sudo systemd-resolve --flush-caches

Po úspěšném provedení neuvidíte žádný výstup.

Nyní zkontrolujte statistiku systemd-resolve a ověřte, zda je místní mezipaměť DNS vymazána nebo ne.

$ sudo systemd-resolve --statistics

Aktuální velikost mezipaměti se nyní zobrazí jako nula.

DNSSEC supported by current servers: no

Transactions              
Current Transactions: 0   
  Total Transactions: 3155
                          
Cache                     
  Current Cache Size: 0   
          Cache Hits: 1255
        Cache Misses: 1922
                          
DNSSEC Verdicts           
              Secure: 0   
            Insecure: 0   
               Bogus: 0   
       Indeterminate: 0

2. Vymazat službu Nscd DNS mezipaměti

Nscd , zkratka pro n jsem s služby c bolet d aemon, je cachovací démon, který poskytuje mezipaměť pro nejběžnější požadavky na službu jmen. Je to preferovaná služba ukládání do mezipaměti pro většinu systémů založených na Redhat. Pokud váš systém Linux používá službu mezipaměti nscd, můžete vymazat nebo vyprázdnit místní službu mezipaměti DNS jednoduchým restartováním služby nscd, jak je uvedeno níže:

$ sudo systemctl restart nscd.service

Nebo,

$ sudo service nscd restart

Nebo,

$ sudo /etc/init.d/nscd restart

3. Vymazat Bind/Named DNS caching service

Berkeley Internet Name Domain (krátce BIND ) je nejpopulárnější open source server DNS, který se dnes používá. Pokud používáte BIND pro ukládání dotazů DNS do mezipaměti, použijte k vymazání/vyprázdnění služby ukládání do mezipaměti BIND v Linuxu následující příkazy:

$ sudo systemctl restart named

Nebo,

$ sudo service named reload

Nebo,

$ sudo /etc/init.d/named restart

Nebo,

$ sudo rndc reload

Nebo,

$ sudo rndc exec

Nejnovější verze BID umožňuje vymazat mezipaměť DNS i pro konkrétní doménu. Následující příkaz vymaže mezipaměť DNS pro doménu ostechnix.com:

$ sudo rndc flushname ostechnix.com

Můžete také vymazat mezipaměť DNS pro celé zóny LAN a WAN, jak je uvedeno níže:

$ sudo rndc flush lan

$ sudo rndc flush wan

4. Vymažte službu mezipaměti DNS Dnsmasq

Dnsmasq je lehký DHCP a caching DNS server s podporou PXE a TFTP serveru. Je vhodný pro směrovače a firewally s omezenými zdroji pro správu malých sítí.

Pokud používáte dnsmasq jako službu ukládání do mezipaměti, můžete vyprázdnit místní službu ukládání do mezipaměti DNS, jak je uvedeno níže:

$ sudo systemctl restart dnsmasq

Dalším způsobem, jak vymazat místní mezipaměť DNS v Ubuntu a dalších variantách Ubuntu, jako je Linux Mint, je spustit následující příkaz:

$ sudo /etc/init.d/dns-clean restart

Doufám, že to pomůže.

Související čtení:

  • Instalace a konfigurace serveru DNS v Ubuntu 16.04 LTS


Linux
  1. Jak vymazat historii Bash na Linuxu

  2. Jak vymazat mezipaměť webového prohlížeče z příkazového řádku v Linuxu

  3. Jak vyprázdnit mezipaměť DNS resolveru v Linuxu (a FreeBSD)

  1. Jak vymazat mezipaměť v Linuxu

  2. Jak vyprázdnit mezipaměť DNS v Ubuntu a LinuxMint

  3. Linux – Jak přepsat servery Vm DNS?

  1. Jak vyprázdnit mezipaměť DNS v systémech MacOS, Windows a Linux

  2. Jak vymazat mezipaměť Redis

  3. Jak vymazat (vyprázdnit) mezipaměť DNS v systémech Windows, MacOS a Linux