Kako postaviti lokalni DNS poslužitelj za pohranu na Linuxu?

DNS pretresi obično nisu nešto zbog čega biste trebali brinuti. Ponekad bi i trebali!


Ako davatelj internetskih usluga vašeg doma ili ureda ima spora poslužitelja imena ili vaš poslužitelj izvodi puno pretraživanja, potreban vam je lokalni DNS poslužitelj za predmemoriranje..

Kako će mi pomoći keširanje DNS poslužitelja?

DNS poslužitelj za predmemoriranje funkcionira tako što izvodi sve DNS upite koje vaš sustav čini, a zatim sprema ili kešira rezultate u memoriji. Nakon što se rezultati sačuvaju u memoriji svaki put kada napravite duplikat zahtjeva za domenu, rezultat će se servirati gotovo trenutno iz memorije.

To se možda ne čini previše važnim, ali ako DNS poslužitelji vašeg ISP-a potraje vrijeme da odgovore, to će znatno usporiti vaše internetsko pregledavanje. Na primjer, na početnoj stranici američkog kanala vijesti MSNBC potrebno je kontaktirati preko 100 jedinstvenih imena domena da bi se ispravno učitalo. Ako poslužitelji imena vašeg davatelja internetskih usluga uzimaju čak desetinu sekunde duže nego što je uobičajeno da odgovori, to znači da će stranici trebati 10 sekundi duže dok se dovrši učitavanje.

Lokalni DNS poslužitelj za predmemoriranje ne samo da će pomoći u vašem domu ili uredu, već će i pomoći na vašem poslužitelju. Ako imate aplikaciju koja pravi puno pretraživanja DNS-a, na primjer, zauzet poslužitelj e-pošte koji radi protiv anti-spam softvera, dobit će povećanje brzine od lokalnog DNS poslužitelja za predmemoriranje..

Konačno, sistemski razrijeđen podržava najnovije i sigurne DNS standarde DNSSEC i DNSoverTLS ili Točka. Oni vam pomažu u zaštiti i očuvanju privatnosti na mreži.

Koji lokalni DNS predmemoriranje ćemo koristiti?

Lokalni DNS poslužitelj za predmemoriranje koji ćemo omogućiti i konfigurirati u ovom vodiču je systemd razlučena. Ovaj je alat dio systemd paket alata za upravljanje sistemima. Ako vaš sustav koristi systemd, a gotovo su sve glavne Linux distribucije, tada ćete već imati instalirano sistemsko rješenje, ali ne radi. Većina distribucija ne koristi sustavski razlučivo iako postoji.

sustavski riješen radi pokretanjem malog lokalnog predmemoriranja DNS poslužitelja koji ćemo konfigurirati za pokretanje sustava pri pokretanju. Potom ćemo ponovno konfigurirati ostatak sustava da svoje DNS upite usmjeri na lokalni DNS-ov sustav riješen u predmemoriranju..

Kako provjeriti upotrebljavate li se već sistemski?

Neke distribucije Linuxa već koriste zadane sustave kao što je Ubuntu 19.04.

Ako je već pokrenut sistemski riješen, ne trebate ga omogućiti ili konfigurirati sustav da biste ga koristili. Međutim, možda ćete trebati osigurati da su alati za upravljanje mrežom poput NetworkManager ispravno konfigurirani jer mogu zanemariti konfiguraciju mrežne mreže..

Prije nego što prijeđete na sljedeći odjeljak, pokrenite sljedeću naredbu da provjerite je li već pokrenut sistemski riješen:

$utionctl status

Ako dobijete poruku:

$utionctl status
Dobivanje globalnih podataka nije uspjelo: jedinica dbus-org.freedesktop.resolve1.service nije pronađena.

Ti si ne trčanje sistemski riješeno i trebalo bi prijeći na sljedeći odjeljak. Ako umjesto toga, vidite izlaz koji započinje nečim poput sljedećeg:

Globalno
LLMNR postavka: da
Postavka multicastDNS: da
DNSOverTLS postavka: oportunistička
DNSSEC postavka: dopušteno smanjivanje unazad
Podržani DNSSEC: ne
Trenutačni DNS poslužitelj: 1.1.1.1
DNS poslužitelji: 1.1.1.1
1.0.0.1

Tada već pokrećete sustavno riješen i ne trebate ga omogućavati.

Omogućivanje i konfiguriranje sistemski riješeno

Ne trebamo instalirati sistemdolupljeno kao dio sustava. Sve što trebamo učiniti je pokrenuti ga kako bi se pokrenuo DNS poslužitelj za predmemoriranje i zatim mu omogućiti da ga pokrene pri pokretanju.

Izvedite sljedeću naredbu iz upita ljuske kao što je sudo omogućio korisniku koji nije korijen da pokrene sistemski riješeno:

$ sudo systemctl start systemd-freed.service

Zatim pokrenite sljedeću naredbu za pokretanje sistemski riješenog pri dizanju sustava:

$ sudo systemctl omogućuju systemd-resolution.service

Posljednja stavka preostale konfiguracije je postavljanje DNS poslužitelja koji će sustavom koji je riješen upiti riješene domene. Ovdje postoji mnogo opcija, ali bilo koji od sljedećih parova je besplatan, brz i obojica podržavaju DNSSEC i DoT:

Google javni DNS

  • 8.8.8.8
  • 8.8.4.4

Cloudflare javni DNS

  • 1.1.1.1
  • 1.0.0.1

Otvorite glavnu konfiguracijsku datoteku koja se rješava sistemom s vašim omiljenim uređivačem teksta, ovdje sam koristio nano:

$ sudo nano /etc/systemd/ riješen.conf

Uređivanje retka započinje

# DNS =

Tako da je naveden par IP adresa. Ovdje su prikazani Cloudflare DNS poslužitelji:

DNS = 1.1.1.1 1.0.0.1

Spremite i izađite iz uređivača teksta. Sada moramo ponovo pokrenuti sustav rješen da bi počeo koristiti poslužitelje imena:

$ sudo systemctl ponovo pokrenite systemd-freed.service

sustav rješen sada se pokreće i spreman je za početak ubrzavanja i osiguranja DNS upita čim konfiguriramo sustav za početak korištenja.

Konfiguriranje sustava za upotrebu sistemski riješeno

Vaš se sustav može konfigurirati na nekoliko načina za korištenje sustav-razrešen, ali razmotrit ćemo dvije konfiguracije koje pokrivaju većinu slučajeva korištenja. Prvo je preporučena konfiguracija, a drugo konfiguracija kompatibilnosti. Razlika između ova dva je kako se upravlja /etc/resolv.conf datotekom.

Datoteka /etc/resolv.conf sadrži IP adrese poslužitelja imena koje bi programi u sustavu trebali upiti. Programi koji trebaju izvršiti DNS upite konzultirati će ovu datoteku kako bi saznali na koje servere bi trebali kontaktirati da bi izvršili te upite.

Dva načina centraliziranog rješenja oko načina upravljanja sadržajem ove datoteke. U preporučenom načinu, /etc/resolv.conf se uspostavlja simboličkom vezom na /run/systemd/resolve/stub-resolv.conf. Ovom datotekom upravlja sustav-rješenje i stoga sustav-razrješenje upravlja podacima o konfiguraciji DNS-a za sve ostale programe u sustavu.

To može uzrokovati probleme kada drugi programi pokušaju upravljati sadržajem /etc/resolv.conf. Način kompatibilnosti ostavlja /etc/resolv.conf na mjestu, dopuštajući drugim programima da upravljaju njima dok sustavski rješeni koriste te DNS podatke. U ovom načinu, ostali programi koji upravljaju /etc/resolv.conf moraju biti konfigurirani za postavljanje 127.0.0.53 kao poslužitelja imena u /etc/resolv.conf.

Konfiguriranje preporučenog načina

Kad konfiguriramo ovaj način, sistemdolupljeno će upravljati /etc/resolv.conf čineći ga simbolikom veze /run/systemd/resolve/stub-resolv.conf. Morat ćemo to učiniti ručno, jer nije konfigurirano automatski.

Prvo izbrišite ili preimenujte postojeću datoteku /etc/resolv.conf. Preimenovanje je bolja opcija za brisanje jer će imati isti efekt, ali uvijek se možete obratiti izvorniku ako su vam potrebne informacije koje sadrži. Ovdje preimenujemo /etc/resolv.conf pomoću naredbe mv:

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

Zatim stvorite simbol veze:

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

Na kraju, ponovno pokrenite sustav-riješen:

$ sudo systemctl ponovo pokrenite systemd-freed.service

Konfiguriranje načina kompatibilnosti

U ovom načinu rada, trebate osigurati da lokalni servisni poslužitelj imena koji je sistemski riješen pokrenuo sistemske usluge. Otvorite /etc/resolv.conf u uređivaču teksta, ovdje se koristi nano editor:

$ sudo nano /etc/resolv.conf

Izbrišite sve redove na koje naiđete na “nameserver” i dodajte ovaj redak:

nameserver 127.0.0.53

Ovu izmjenu može promijeniti bilo koji drugi program koji upravlja /etc/resolv.conf. Ako je to slučaj, morat ćete konfigurirati te programe da koriste ovaj poslužitelj imena da bi uređivanje bilo trajno.

Rješavanje problema sistemski je riješeno

Otkrivanje točno kako vaš sustav postavlja DNS upite nakon što ste napravili te promjene može biti teško. Najučinkovitiji način promatranja onoga što se događa jest prebacivanje sustava riješeno u program za uklanjanje pogrešaka i gledanje datoteke dnevnika.

systemd-freed je sistemska usluga, što znači da se može lako prebaciti u program za uklanjanje pogrešaka stvaranjem padajuće servisne datoteke koja sadrži postavke za uklanjanje pogrešaka. Sljedeća naredba stvorit će ispravnu datoteku na ispravnom mjestu:

$ sudo systemctl uređivanje systemd-resolution.service

Zalijepite sljedeće retke u uređivač, a zatim spremite i izađite:

[Servis]
Okoliš = SYSTEMD_LOG_LEVEL = ispravljanje

Usluga riješena u sustavu automatski će se učitati nakon uspješnog spremanja i izlaska.

Otvorite drugi terminal na istom poslužitelju i slijedite dnevnik dnevnika za uslugu riješenu u sustavu:

$ sudo journalctl -f -u systemd-riješen

Linija koja započinje s “Korištenje DNS poslužitelja”, npr .:

Korištenje DNS poslužitelja 1.1.1.1 za transakciju 19995.

Kaže vam točno koji DNS poslužitelj se koristi za DNS upite. U ovom slučaju, Cloudflare DNS poslužitelj u 1.1.1.1 je upitan.

Linije koje su “Nedostaje predmemorije” označavaju da ime domene nije spremljeno u predmemoriju. npr .:

Nedostaje predmemorija za primjer.com IN SOA

Linije koje započinju s “pozitivnim pogotkom predmemorije”, npr .:

Pozitivan predmemorijski hit na primjer.com IN A

Označite da je sistemski razriješeno ranije upitalo ovu domenu, a odgovor je poslan iz predmemorije u lokalnoj memoriji.

Trebali biste onemogućiti način uklanjanja pogrešaka kad završite s radom systemd-riješenim, jer će stvoriti vrlo veliku datoteku dnevnika u zauzetom sustavu. Zapisivanje pogrešaka možete onemogućiti pokretanjem:

$ sudo systemctl uređivanje systemd-resolution.service

i brišete dva retka, dodali ste zatim spremanje i napuštanje uređivača.

Upotreba sigurnih DNS upita

sustavski riješen je jedan od rijetkih, trenutno dostupnih DNS poslužitelja koji podržavaju i DNSSEC i DNSoverTLS. Obje ove usluge pomažu vam da osigurate primanje istinskih DNS podataka (DNSSEC) i da nitko ne može preskakati vaš DNS promet dok prolazi internetom. (Točka).

Ove se opcije lako omogućuju otvaranjem glavne konfiguracijske datoteke uređene sustavom s uređivačem teksta:

$ sudo nano /etc/systemd/ riješen.conf

I uređivanje datoteke tako da su postavljena sljedeća dva retka:

DNSSEC = omogućuju-prebacili
DNSOverTLS = oportunistički

Spremite i izađite iz uređivača, a zatim ponovno učitajte sustavski riješen:

$ sudo systemctl ponovo pokrenite systemd-freed.service

Sve dok ste DNS poslužitelj postavili podršku DNSSEC i DoT, vaši DNS upiti bit će zaštićeni. Oba DNS poslužitelja Google i Cloudflare podržavaju ove protokole.

Zaključak

Vaš je sustav sada konfiguriran za brzo i učinkovito postavljanje DNS upita čak i kada DNS poslužitelj vašeg davatelja internetskih usluga ne reagira tako brzo kao što bi trebao. Osim toga, vaš digitalni život je sigurniji jer koristite najnovije, sigurne DNS protokole da biste zaštitili svoje DNS upite.

Ako ste ljubitelj Linuxa i želite naučiti više, provjerite ovo fantastično online tečaj.

OZNAKE:

  • 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