Server DNS (Domain Name System) byl vytvořen za účelem překladu doménových jmen na IP adresy a naopak, aby bylo možné odesílat datové pakety na cílové počítače. Pokaždé, když zadáme adresu ve webovém prohlížeči, zařízení je zodpovědné za odeslání dotazu na registrovaný server DNS a vyžádání IP adresy, která je spojena s prohledávaným názvem domény, toto hledání zabere čas a pokud se provádí v každém přístupovém procesu, server DNS zvládne velké množství požadavků, které mohou nakonec způsobit jeho zhroucení a jeho následným výsledkem je přístup odepřen.
Aby se tomu zabránilo, existuje mezipaměť DNS, která je zodpovědná za lokální uložení IP adresy uvedené domény za účelem přeskočení procesu hledání v příštím přístupu, ale místo toho je přesměrována s touto místní hodnotou, a proto uvolníme zatížení serveru a zároveň přistupujeme mnohem rychleji. Problém je ale v tom, že příliš mnoho hostované mezipaměti DNS může ovlivnit vlastní výkon prohlížeče, a proto se doporučuje její vydání. Uvidíme, jak tento úkol provést v Linuxu.
1. Vymažte mezipaměť DNS pomocí funkce systemd-resolve v systému Linux
Ubuntu a další distribuce založené na Debianu využívají příkaz systemd-resolve. Tento příkaz je démon DNS zabudovaný do systemd a je to systémová služba, která poskytuje lokálním aplikacím překlad názvů sítí.
Tento příkaz implementuje překladač mezipaměti a ověřování stubů DNS / DNSSEC a také překladač LLMNR a MulticastDNS. Místní aplikace mohou odesílat požadavky na rozlišení názvů sítí prostřednictvím tří rozhraní:
- Plně vybavené nativní API vyřešeného systému je vystaveno na sběrnici.
- Rozhraní glibc getaddrinfo API, které je definováno RFC3493 a souvisejícími funkcemi rozlišení, včetně gethostbyname.
- Místní posluchač DNS se zakázaným inzerováním je nabízen na adrese IP 127.0.0.53 v místním rozhraní zpětné smyčky, odtud programy, které přímo generují požadavky DNS a obcházejí místní rozhraní API, mohou tento stub použít k připojení k řešení s řešením systemd
Krok 1
Chcete -li použít tento příkaz, nejprve uvidíme statistiky mezipaměti DNS v systému:
sudo systemd -resolve -statistics
ZVĚTŠIT
Krok 2
Nyní, abychom vymazali mezipaměť DNS, provedeme:
sudo systemd-resolve --flush-cachres
ZVĚTŠIT
Krok 3
Jak vidíme, při opětovném spuštění statistik byla mezipaměť DNS vymazána. Toto je nejběžnější metoda. Další možnosti použití pro různé distribuce jsou:
V případě použití RedHat nebo ArchLinux
sudo systemctl restart nscd
2. Vymažte mezipaměť DNS pomocí příkazu dnsmasq nebo pojmenovaného v systému Linux
Dále uvidíme dvě další možnosti, jak vymazat mezipaměť
Vymažte mezipaměť DNS pomocí DnsmasqDnsmasq se často používá na lokálních serverech nebo směrovačích DNS, k vymazání mezipaměti DNS pomocí tohoto příkazu musíme provést:
sudo systemctl restart dnsmasq
Vymažte mezipaměť DNS pomocí BINDTento příkaz BIND se používá pro servery DNS speciálně určené pro konkrétní úkoly a pro vymazání mezipaměti DNS zde stačí spustit:
pojmenovaný restart sudo systemctl
Tak jednoduše jsme vymazali mezipaměť DNS systému Linux, čímž jsme zlepšili výkon našeho zařízení prostřednictvím terminálu.