DNS nebo Domain Name System je odpovědný za řešení názvů webových stránek na jejich IP adresy. Pokud tedy máte potíže s připojením na webovou stránku, nebo pokud chcete, aby vaše zařízení Ubuntu vidělo změnu DNS, měli byste se pokusit vyprázdnit vyrovnávací paměť DNS. Vyrovnávací paměť DNS můžete také vymazat v Ubuntu, pokud jste provedli změny v souboru hosts, a chcete, aby byl váš systém „viděn“ bez nutnosti restartovat počítač. Pokud jste v některé z těchto situací a chcete vymazat vyrovnávací paměť DNS, zde je postup, jak vyprázdnit mezipaměť DNS v systému Linux:
Poznámka : Pro demonstraci těchto metod používám systém Ubuntu 16.10 „Yakkety Yak“. Proces by však měl být podobný na většině linuxových distribucí.
Kontrola, zda je povoleno ukládání do mezipaměti DNS
Všechna rozhraní Linuxu se chovají stejně, pokud jde o věci, jako je ukládání do mezipaměti DNS. Ubuntu například standardně neukládá DNS. Než se pokusíme o vymazání mezipaměti DNS na počítači se systémem Linux, zkontrolujte, zda je ukládání do mezipaměti povoleno. Chcete-li to provést v systému Ubuntu, postupujte podle následujících kroků:
1. Spusťte Terminál a typ „ ps ax | grep dnsmasq “.
2. Ve výstupu z příkazu uvidíte pole s názvem „ cache-size “. Zkontrolujte jeho hodnotu. Pokud je hodnota nula, znamená to, že ukládání do mezipaměti je v systému zakázáno .
Poznámka: Chcete-li povolit ukládání do mezipaměti DNS v systému Linux, můžete tak učinit pomocí příkazu „sudo dnsmasq -c 150“. Můžete použít libovolné číslo namísto 150, což je v podstatě počet položek, které může dnsmasq ukládat do mezipaměti.
Vyprázdnění mezipaměti DNS v Ubuntu
Pokud váš systém Linux ukládá záznamy DNS do mezipaměti, můžete se pokusit vyprázdnit mezipaměť DNS, abyste se zbavili problémů souvisejících s DNS. Chcete-li vymazat vyrovnávací paměť DNS v Ubuntu, můžete postupovat podle následujících kroků:
1. Spusťte Terminál (ctrl + alt + T) a zadejte příkaz „ sudo /etc/init.d/dns-clean restart “.
2. Dále zadejte příkaz „ sudo /etc/init.d/networking force-reload “
Tím vymažete mezipaměť DNS v Ubuntu a pokud problémy, které jste měli, byly způsobeny problémy s DNS, měly by být nyní pryč.
Vyprázdnění mezipaměti DNS ve službách DNS v systému Linux
Jak jsem řekl, Ubuntu ve výchozím nastavení neukládá záznamy DNS, ale pokud jste ručně nainstalovali službu DNS, například nscd, můžete vymazat její mezipaměť. Metody pro vymazání vyrovnávací paměti pro některé běžné služby DNS jsou uvedeny níže:
Flush nscd DNS Cache
- sudo /etc/init.d/nscd restart
Vypláchnout dnsmasq DNS cache
- sudo /etc/init.d/dnsmasq restart
Flush BIND DNS Cache
Používáte-li službu BIND, můžete mezipaměť DNS vymazat pomocí jednoho z následujících příkazů:
- sudo /etc/init.d/named restart
- sudo rndc restart
- sudo rndc exec
BIND verze 9.3.0 a vyšší podporují proplachování mezipaměti DNS pro konkrétní doménu, stejně jako pro LAN nebo WAN. K využití této funkce můžete použít následující příkazy:
- Chcete-li vymazat mezipaměť DNS pro konkrétní doménu, použijte „ sudo rndc flushname beebom.com “
- Chcete-li vymazat DNS cache pro LAN, použijte “ sudo rndc flush lan ”
- Chcete-li vymazat vyrovnávací paměť DNS pro službu WAN, použijte „ sudo rndc flush wan “
Bonus: Změna nastavení DNS v Ubuntu
Mluvili jsme o vyprazdňování mezipaměti DNS v Ubuntu, mohou však nastat případy, kdy chcete změnit nastavení DNS v Ubuntu. Pokud chcete změnit nastavení DNS v Ubuntu, můžete to provést pomocí GUI nebo prostřednictvím terminálu.
Změňte nastavení DNS pomocí grafického uživatelského rozhraní
Použití GUI ke změně nastavení DNS je jednodušší než použití terminálu. Pokud však používáte více připojení, budete muset změnit nastavení DNS pro každou z nich. Chcete-li změnit nastavení DNS pomocí grafického uživatelského rozhraní, postupujte podle následujících kroků:
1. Otevřete Nastavení systému a klepněte na Síť.
2. Klikněte na šipku vedle názvu sítě, ke které jste připojeni.
3. Nyní klikněte na „Nastavení“. Otevře se nastavení pro toto připojení.
4. Přejděte na kartu IPv4 a zobrazí se možnost „ Další servery DNS “. Do tohoto pole můžete zadat DNS servery, které chcete použít. Pokud chcete zadat více než jeden server DNS, oddělte je čárkami.
Změňte nastavení DNS pomocí terminálu
Pokud nechcete používat GUI a preferujete změnu nastavení DNS pomocí terminálu, můžete to provést přidáním nameserverů do konfiguračního souboru dnsmasq. Dnsmasq však není standardně instalován v systémech Ubuntu (dnsmasq-base, does). Nejdříve budete muset nainstalovat dnsmasq spuštěním terminálu a pomocí „ sudo apt-get install dnsmasq “.
- Po instalaci dnsmasq. Konfigurační soubor můžete upravit pomocí „ sudo nano /etc/dnsmasq.conf “.
- Zde můžete přidat adresy IP serverů DNS, kde je uvedeno „ Přidat další jmenné servery “.
Vymazání mezipaměti DNS v Linuxu pomocí těchto metod
K vymazání mezipaměti DNS v systému Linux můžete použít kteroukoli z těchto metod. Problémy s mezipamětí DNS mohou způsobit problémy, jako je například webová stránka, která není načtena, změny jmenného serveru nejsou rozpoznány vaším systémem a mnohem více. Jakmile vyprázdníte mezipaměť DNS, tyto problémy s největší pravděpodobností zmizí.
Museli jste někdy vyprázdnit mezipaměť DNS ve svém systému Linux? Pokud ano, jakou metodu jste použili? Pokud víte o jakékoli jiné metodě pro vymazání mezipaměti DNS ve vašem systému Linux, dejte nám vědět v sekci komentáře níže.