Ako nastaviť lokálny server DNS Caching v systéme Linux?

Vyhľadávania DNS nie sú zvyčajne niečo, z čoho by ste mali mať obavy. Niekedy by ste mali!


Ak má poskytovateľ internetových služieb vášho domova alebo kancelárie pomalý server názvov alebo ak server vykonáva veľa vyhľadávaní, budete potrebovať server DNS s lokálnym ukladaním do vyrovnávacej pamäte..

Ako mi pomôže DNS server v vyrovnávacej pamäti?

DNS server uložený do vyrovnávacej pamäte funguje tak, že vykoná všetky dotazy DNS, ktoré váš systém vytvára, a potom uloží alebo uloží výsledky do pamäte. Akonáhle sa výsledky uložia do pamäte kedykoľvek, keď urobíte duplikát pre doménu, výsledok bude doručený takmer okamžite z pamäte.

To sa nemusí zdať príliš dôležité, ale ak servery DNS vášho poskytovateľa internetových služieb potrebujú čas na odpoveď, značne to spomalí prehliadanie internetu. Napríklad domovská stránka amerického spravodajského kanála MSNBC musí na správne načítanie kontaktovať viac ako 100 jedinečných názvov domén. Ak menné servery vášho poskytovateľa internetových služieb reagujú odozvou ešte o 10 sekúnd dlhšie, znamená to, že dokončenie načítania stránky bude trvať o 10 sekúnd dlhšie..

Server DNS s lokálnym ukladaním do vyrovnávacej pamäte vám pomôže nielen vo vašej domácnosti alebo kancelárii, ale tiež na vašom serveri. Ak máte aplikáciu, ktorá vykonáva veľa vyhľadávaní DNS, napríklad zaneprázdnený e-mailový server so softvérom na ochranu proti spamu, dostane zvýšenie rýchlosti z miestneho servera DNS s vyrovnávacou pamäťou..

Nakoniec systém vyriešený podporuje najnovšie a bezpečné štandardy DNS DNSSEC a DNSoverTLS alebo DOT. Pomôžu vám zaistiť bezpečnosť a zachovajú vaše súkromie online.

Ktoré DNS s lokálnym vyrovnávaním budeme používať?

Server DNS s lokálnym ukladaním do vyrovnávacej pamäte, ktorý povolíme a nakonfigurujeme v tejto príručke, je systemd diferencovaná. Tento nástroj je súčasťou systemd sada nástrojov na správu systému. Ak váš systém používa systémd a existujú takmer všetky hlavné distribúcie systému Linux, budete už mať nainštalovaný, ale nie spustený systémový problém. Väčšina distribúcií nepoužíva systémové rozlíšenie, aj keď je prítomné.

systemd-vyriešené funguje spustením malého lokálneho servera DNS na ukladanie do vyrovnávacej pamäte, ktorý nakonfigurujeme tak, aby sa spúšťal pri zavádzaní systému. Potom znova nakonfigurujeme zvyšok systému tak, aby nasmeroval svoje dotazy DNS na DNS vyriešené lokálnym ukladaním do vyrovnávacej pamäte.

Ako skontrolovať, či už používate systém vyriešený?

Niektoré distribúcie systému Linux už štandardne používajú systémovo rozlíšené riešenie, napríklad Ubuntu 19.04.

Ak už používate systém vyriešený, nemusíte ho povoliť ani nakonfigurovať, aby ho používal. Možno však budete musieť zaistiť, aby nástroje na správu siete, ako je NetworkManager, boli správne nakonfigurované, pretože môžu ignorovať konfiguráciu systémovej siete.

Pred prechodom na ďalšiu časť spustite nasledujúci príkaz, aby ste skontrolovali, či už používate systém vyriešený:

$ resolvectl status

Ak sa zobrazí správa:

$ resolvectl status
Nepodarilo sa získať globálne údaje: Jednotka dbus-org.freedesktop.resolve1.service sa nenašla.

Vy ste nie so spustením systémového rozlíšenia a mali by prejsť k ďalšej časti. Ak namiesto toho vidíte výstup, ktorý začína týmto textom:

globálnej
Nastavenie LLMNR: áno
Nastavenie multicastDNS: áno
Nastavenie DNSOverTLS: oportunistické
Nastavenie DNSSEC: Allow-downgrade
Podporované DNSSEC: nie
Aktuálny server DNS: 1.1.1.1
Servery DNS: 1.1.1.1
1.0.0.1

Potom už používate systém vyriešený a nemusíte ho povoliť.

Povolenie a konfigurácia systému vyriešené

Nemusíme inštalovať systémové riešenie vyriešené ako súčasť systému. Všetko, čo musíme urobiť, je spustiť ho, aby sa spustil server cache servera DNS, a potom ho povoliť spustiť pri štarte.

Spustite nasledujúci príkaz z príkazového riadka shellu, pretože sudo umožnilo užívateľovi typu non-root začať systémovo vyriešené:

$ sudo systemctl start systemd-resolved.service

Potom spustite nasledujúci príkaz na spustenie systému vyriešeného pri štarte systému:

$ sudo systemctl povolí systemd-resolved.service

Poslednou položkou zostávajúcej konfigurácie je nastavenie serverov DNS, ktoré bude systémovo rozlíšené dotazovať na vyriešené domény. Je tu veľa možností, ale jeden z nasledujúcich párov je zadarmo, rýchly a oba podporujú DNSSEC a DoT:

Verejné DNS Google

  • 8.8.8.8
  • 8.8.4.4

Cloudflare Public DNS

  • 1.1.1.1
  • 1.0.0.1

Otvorte hlavný konfiguračný súbor vyriešený systémom a pomocou obľúbeného textového editora, tu som použil nano:

$ sudo nano /etc/systemd/resolved.conf

Začiatok úpravy riadku

# DNS =

Aby boli uvedené dve adresy IP. Tu sú zobrazené servery DNS služby Cloudflare:

DNS = 1.1.1.1 1.0.0.1

Uložte a ukončite textový editor. Teraz je potrebné reštartovať systém vyriešený, aby sa začalo používať nameserverov:

$ sudo systemctl reštart systemd-resolved.service

Systémové rozlíšenie je teraz spustené a je pripravené na spustenie zrýchlenia a zabezpečovania otázok DNS, len čo nakonfigurujeme systém, aby ho začal používať..

Konfigurácia systému na používanie systému vyriešené

Váš systém môže byť nakonfigurovaný niekoľkými spôsobmi, ako používať systém vyriešený, ale my sa pozrieme na dve konfigurácie, ktoré pokrývajú väčšinu prípadov použitia. Prvá je odporúčaná konfigurácia a druhá je konfigurácia kompatibility. Rozdiel medzi nimi je spôsob riadenia súboru /etc/resolv.conf.

Súbor /etc/resolv.conf obsahuje adresy IP menných serverov, ktoré by programy v systéme mali vyhľadávať. Programy, ktoré potrebujú zadávať dotazy DNS, vyhľadajú tento súbor, aby zistili, na ktorých serveroch by sa mali obrátiť, aby tieto dotazy vykonali.

Dva režimy riešené systémom systemd sa sústreďujú okolo spravovania obsahu tohto súboru. V odporúčanom režime sa /etc/resolv.conf zmení na symbolický odkaz na /run/systemd/resolve/stub-resolv.conf. Tento súbor je spravovaný systémovo rozlíšeným, a preto systémovo rozlíšené spravuje konfiguračné informácie DNS pre všetky ostatné programy v systéme..

To môže spôsobiť problémy, keď sa iné programy pokúsia spravovať obsah súboru /etc/resolv.conf. Režim kompatibility ponecháva súbor /etc/resolv.conf na mieste, čo umožňuje iným programom jeho správu, zatiaľ čo systémové informácie vyriešené pomocou týchto informácií DNS. V tomto režime musia byť ostatné programy spravujúce súbor /etc/resolv.conf nakonfigurované tak, aby nastavili 127.0.0.53 ako systémový menný server v súbore /etc/resolv.conf.

Konfigurácia odporúčaného režimu

Keď nakonfigurujeme tento režim, systémovo rozlíšené bude spravovať /etc/resolv.conf tak, že z neho urobí symbolický odkaz na /run/systemd/resolve/stub-resolv.conf. Budeme to musieť urobiť ručne, pretože nie je nakonfigurovaná automaticky.

Najprv vymažte alebo premenujte existujúci súbor /etc/resolv.conf. Premenovanie je lepšou možnosťou, ako ho odstrániť, pretože bude mať rovnaký účinok, ale vždy, keď potrebujete informácie, ktoré obsahuje, môžete sa vždy odvolať na originál. Tu premenujeme súbor /etc/resolv.conf pomocou príkazu mv:

$ sudo mv /etc/resolv.conf /etc/resolv.conf.original

Potom vytvorte symbolický odkaz:

$ sudo ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

Nakoniec reštartujte systém vyriešený:

$ sudo systemctl reštart systemd-resolved.service

Konfigurácia režimu kompatibility

V tomto režime musíte zaistiť, aby sa na lokálny menný server, ktorý sa spustil s rozlíšením systemd, pýtali systémové služby. Otvorte /etc/resolv.conf v textovom editore, tu sa používa nano editor:

$ sudo nano /etc/resolv.conf

Odstráňte všetky riadky, s ktorými sa stretnete a ktoré začínajú reťazcom „nameserver“, a pridajte tento riadok:

nameserver 127.0.0.53

Túto úpravu môže zmeniť ktorýkoľvek iný program, ktorý riadi /etc/resolv.conf. Ak je to váš prípad, budete musieť tieto programy nakonfigurovať tak, aby používali tento nameserver na trvalú úpravu.

Ladenie systému bolo vyriešené

Presné zistenie toho, ako váš systém robí dotazy DNS po vykonaní týchto zmien, môže byť ťažké. Najefektívnejší spôsob pozorovania toho, čo sa deje, je prepnúť systémové rozlíšenie do režimu ladenia a sledovať súbor denníka..

systemd-vyriešené je služba systemd, čo znamená, že ju možno ľahko prepnúť do režimu ladenia vytvorením servisného súboru typu drop-in, ktorý obsahuje nastavenie ladenia. Nasledujúci príkaz vytvorí správny súbor na správnom mieste:

$ sudo systemctl edit systemd-resolved.service

Vložte nasledujúce riadky do editora, potom ich uložte a ukončite:

[Service]
Environment = SYSTEMD_LOG_LEVEL = debug

Služba systémovo vyriešená sa po úspešnom uložení a ukončení automaticky načíta.

Otvorte druhý terminál na tom istom serveri a postupujte podľa denníka žurnálu pre službu s rozlíšením systemd:

$ sudo journalctl -f -u systemd-vyriešené

Riadok, ktorý začína „Používanie servera DNS“, napr .:

Použitie servera DNS 1.1.1.1 pre transakciu 19995.

Presne vám povie, ktorý server DNS sa používa pre dotazy DNS. V tomto prípade bol dopytovaný server DNS Cloudflare o 1.1.1.1.

Riadky označené ako „Cache miss“ označujú, že názov domény nebol uložený do vyrovnávacej pamäte. napr.:

Vynechajte medzipamäť napríklad na webe SOA

Riadky, ktoré začínajú „Pozitívny prístup do vyrovnávacej pamäte“, napr .:

Pozitívny prístup k vyrovnávacej pamäti napríklad.com IN A

Označte, že systém vyriešený v systéme už predtým požiadal o túto doménu a odpoveď bola doručená z vyrovnávacej pamäte v lokálnej pamäti.

Režim ladenia by ste mali vypnúť, keď ste dokončili prácu vyriešenú systémomd, pretože vytvorí na rušnom systéme veľmi veľký súbor denníka. Protokolovanie ladenia môžete zakázať spustením:

$ sudo systemctl edit systemd-resolved.service

a odstránením týchto dvoch riadkov ste pridali, potom uložili a ukončili editor.

Používanie zabezpečených dopytov DNS

systemd-vyriešené je jedným z mála, v súčasnosti dostupných DNS serverov, ktoré podporujú DNSSEC aj DNSoverTLS. Obidva tieto postupy pomáhajú zaistiť, aby ste dostali originálne informácie DNS (DNSSEC) a aby nikto nemohol kolísať váš prenos DNS pri prenose cez internet. (Bodka).

Tieto možnosti sa dajú ľahko otvoriť otvorením hlavného konfiguračného súboru vyriešeného systémom pomocou textového editora:

$ sudo nano /etc/systemd/resolved.conf

A upravte súbor tak, aby boli nastavené nasledujúce dva riadky:

DNSSEC = allow-downgrade
DNSOverTLS = oportúnne

Uložte a ukončite editor a znova načítať systémové riešenie:

$ sudo systemctl reštart systemd-resolved.service

Pokiaľ ste nastavili podporu servera DNS DNSSEC a DoT, vaše dotazy DNS budú chránené. Verejné servery DNS spoločnosti Google a Cloudflare tieto protokoly podporujú.

záver

Váš systém je teraz nakonfigurovaný tak, aby rýchlo a efektívne robil dotazy DNS, aj keď server DNS vášho poskytovateľa internetových služieb neodpovedá tak rýchlo, ako by mali. Váš digitálny život je navyše bezpečnejší, pretože používate najnovšie a bezpečné protokoly DNS na ochranu svojich DNS dotazov.

Ak ste nadšencom Linuxu a chcete sa dozvedieť viac, prečítajte si toto fantastické online kurz.

Tagy:

  • linux

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map