Je váš zážitek z procházení na internetu pomalý na vašem zařízení Linux, nebo jsou webové stránky, které navštěvujete zastaralé nebo nesprávný web? Pojďme diskutovat o spláchnutí mezipaměti DNS na Linuxu a jak zjistit, zda to opravdu potřebujete.
Co jsou to mezipaměti DNS?
Používá váš počítač místní mezipaměť DNS?
Kontrola mezipaměti DNS
Jak vyčistit mezipaměť DNS na Linuxu
Jak spláchnout mezipaměť DNSMASQ na Linuxu
Propláchnuté, s úspěchem
Co jsou to mezipaměti DNS?
The Služba názvu domény je kousek magie, která převádí jména na čísla. Vybírá názvy sítě zařízení a názvy webových stránek a vyhledává jejich IP adresy. Síť pak může pomocí IP adresy správně směrovat přenos k těmto zařízením nebo webům.
Tyto vyhledávání, známé jako požadavky , Nedělejte se okamžitě . Je tu malé, konečné období. Požadavky na internetové DNS mohou vyžadovat servery DNS dotazu, servery kořenových názvů, servery domény nejvyšší úrovně a autoritativní název servery. Žádosti DNS jsou rychlé, ale aby byly stále rychlejší, odpovědi na nedávné požadavky DNS jsou na serverech prekurzorů DNS ukládány do mezipaměti.
Pokud je odpověď na požadavek DNS nalezeno v mezipaměti prekurzorového serveru, není třeba kontaktovat žádné další servery. Odpověď je odeslána zpět z mezipaměti prekurzorového serveru. Podobně je váš širokopásmový router doma udržován malou mezipaměť. Pokud požádáte o místní síťové zařízení pomocí názvu jeho síťového zařízení, váš router poskytuje IP adresu. Může také odpovědi na mezipaměť, které obdrželo z externích serverů DNS.
Sítě a počítače Linux jsou obvykle nakonfigurovány tak, aby používaly externí služby DNS, buď poskytované poskytovatelem internetových služeb, nebo bezplatnou službou, jako například Opendns nebo Google DNS . Existují dobré důvody, proč Někteří lidé provozují vlastní server DNS , ale většina z nás ne. Váš počítač Linux - i když není spuštěn server DNS - však může volitelně výsledky žádosti o mezipaměť DNS.
Problém s používáním dat v mezipaměti je, že celá věc je založena na předpokladu, že se žádný z detailů v mezipaměti nezměnil od doby, kdy byly ukládány do mezipaměti. Pokud se podrobnosti změnily, budou informace, které obdržíte, zastaralé.
Pokud se položka mezipaměti nebo celá mezipaměť zkopíruje, obdržíte v nejlepším případě šupinatý výkon a v nejhorším případě se zranitelnosti zabezpečení. To je, když se budete chtít dívat na „spláchnutí“ nebo vyčištění mezipaměti DNS.
Používá váš počítač místní mezipaměť DNS?
Některé z našich testovacích počítačů měly zapnuté místní mezipaměti DNS a jiní ji vypnuli. Bylo to na našem Manjaro 21 počítač, ale byl ve výchozím nastavení zapnutý Fedora 37 a Ubuntu 22.10 .
Chcete -li zjistit, zda váš počítač Linux ukládá žádosti DNS, použijte
je aktivní
možnost
SystemCtl
příkaz. Démon, který spravuje mezipaměť DNS, je správce rozlišení sítě Systemd, známý jako
Systemd resolted
.
Pokud je odpověď „aktivní“, dochází k ukládání do mezipaměti DNS. Pokud je odpověď „neaktivní“, není. Na tomto konkrétním počítači je aktivní. Můžeme použít
resolvectl
Příkaz s možností statistiky, abyste zjistili, kolik záznamů je v mezipaměti.
Vidíme, že v mezipaměti DNS tohoto počítače je 330 položek.
Kontrola mezipaměti DNS
Revize položek mezipaměti DNS není předpokladem pro spláchnutí mezipaměti, a pokud o to nemáte zájem, můžete, můžete Přeskočte celý tento krok . Někdy to však může být informativní. Můžete vidět míchané položky, které označují korupci, nebo můžete vidět chybové zprávy týkající se problémů s zařízením ve vaší síti.
Nyní neexistuje přímý způsob, jak vidět tyto položky. Můžeme to udělat, ale musíme být trochu kreativní.
USR1
, nebo
Uživavě definovaný signál číslo jedna
, je
signál
které lze odeslat
zabít
a
zabít všechny
příkazy. Tento signál nemá žádný předdefinovaný význam. Aplikace mohou tento signál zdarma ignorovat nebo reagovat jakýmkoli způsobem, který vývojáři implementovali.
The
Systemd resolted
démon reaguje na
USR1
Napsáním své mezipaměti do protokolů systému. Poté můžeme použít
Journalctl
Příkaz k odfiltrování položek DNS.
Použijeme
zabít všechny
příkaz s
USR1
Odeslat signál do
Systemd resolted
démon. Všimněte si, že i když používáme
zabít všechny
příkaz,
Systemd resolted
Daemon pokračuje v běhu. Toto není signál ukončení, který posíláme.
Nyní použijeme
Journalctl
příkaz s
-U
(filtrovat podle
Systemd
Unit) Možnost extrahovat položky protokolu, které byly vygenerovány
Systemd resolted
. Tento výstup přesměrujeme do textových souborů s názvem „dns.txt“.
Použijeme
The
méně
Prohlížeč souborů
Zobrazení obsahu souboru.
Budete moci najít mapování mezipaměti mezi názvy domén a IP adresy posouváním a prohledáváním textu.
Vidíme položku pro Google, která má IP adresu 216.58.212.196. To můžete zkontrolovat vložením IP adresy do webového prohlížeče. Měli byste vidět domovskou stránku vyhledávání Google.
Jak vyčistit mezipaměť DNS na Linuxu
Vypláchnutí mezipaměti odstraní všechny položky a znovu spustí proces sběru. Pokud existují nějaké, násilně odstraní nesprávné a zkorumpované položky z mezipaměti.
Příkaz je jednoduchý; používáme
resolvectl
s
splachovací plocha
volba.
Jsme tiše vráceni na příkazový řádek. Abychom potvrdili, že se něco skutečně stalo, zkontrolujeme statistiku mezipaměti DNS znovu.
Vidíme, že velikost mezipaměti je upuštěna na nulu. V průběhu času se bude zvyšovat, protože se hromadí nové položky.
Jak spláchnout mezipaměť DNSMASQ na Linuxu
The
dnsmasq
Aplikace poskytuje mezipaměť DNS a server DHCP. Je oblíbený u uživatelů, kteří chtějí provozovat vlastní server DNS, zejména na
Instalace bez systému
.
Spláchnutí
dnsmasq
Mezipaměť DNS je snadná. Musíme poslat
Sighup
signál, který říká
dnsmasq
démona účinně reinitializovat. To vymaže svou mezipaměť DNS. K odeslání signálu používáme
zabít všechny
příkaz s
-Hup
příznak a název aplikace.
Propláchnuté, s úspěchem
Samozřejmě, pokud váš počítač vůbec nekládá ukládání do mezipaměti, není třeba zkontrolovat.
Pokud se jedná o ukládání žádostí DNS, ale vše funguje dobře, můžete to také ignorovat. Pokud však zažíváte pomalé nebo sporadické aktualizace webové stránky, když procházíte web nebo vidíte úplně nesprávné webové stránky, je pravděpodobně vhodný čas vyčistit mezipaměť DNS.