Căutările DNS nu sunt în mod normal ceva de care trebuie să vă faceți griji. Uneori ar trebui!


Dacă ISP-ul de acasă sau de la birou are servere de nume lente sau serverul dvs. efectuează o mulțime de căutări, atunci aveți nevoie de un server DNS în cache local.

Cum mă va ajuta un server DNS din cache?

Un server DNS de memorie în cache funcționează prin efectuarea tuturor interogărilor DNS pe care sistemul dvs. le face și apoi salvarea sau memorarea în cache a rezultatelor în memorie. Odată ce rezultatele sunt memorate în cache de fiecare dată când faceți o solicitare duplicată pentru un domeniu, rezultatul va fi difuzat aproape instantaneu din memorie.

Acest lucru nu poate părea prea important, dar dacă serverele DNS ale ISP-ului își iau timp pentru a răspunde, acesta va încetini considerabil navigarea pe internet. De exemplu, pagina de pornire a canalului de știri american MSNBC trebuie să contacteze peste 100 de nume de domenii unice pentru a se încărca corect. Dacă serverele de nume ale ISP-ului dvs. durează chiar și 10 secunde mai mult decât în ​​mod normal, acest lucru înseamnă că pagina va dura 10 secunde mai mult pentru a finaliza încărcarea.

Un server DNS local din cache nu va ajuta doar în casa sau la birou, ci va ajuta și pe serverul dvs. Dacă aveți o aplicație care realizează o mulțime de căutări DNS, de exemplu, un server de e-mail ocupat care rulează software anti-spam, va primi o îmbunătățire a vitezei de la un server DNS local în cache.

În cele din urmă, sistem-rezolvat acceptă cele mai recente standarde DNS sigure DNSSEC și DNSoverTLS sau Punct. Acestea vă ajută să vă păstrați în siguranță și să vă păstrați confidențialitatea online.

Ce DNS local de memorie în cache vom folosi?

Serverul DNS local de memorie în cache pe care îl vom activa și configura în acest ghid este systemd-rezolvate. Acest instrument este o parte din systemd suită de instrumente de gestionare a sistemului. Dacă sistemul dvs. utilizează systemd și aproape toate distribuțiile Linux majore sunt, atunci veți avea deja rezolvată sistemd instalat, dar nu funcționează. Majoritatea distribuțiilor nu utilizează soluționarea sistemd rezolvată, chiar dacă este prezentă.

sistem-rezolvat funcționează rulând un mic server DNS de memorie în cache local, pe care îl vom configura pentru a porni la pornire. Vom re-configura apoi restul sistemului pentru a direcționa interogările DNS către sistemul de memorie în cache local rezolvat DNS.

Cum să verificați dacă deja utilizați rezolvarea sistemului?

Unele distribuții Linux folosesc deja sistem-rezolvate în mod implicit, cum ar fi Ubuntu 19.04.

Dacă deja executați sistem-rezolvat, atunci nu este necesar să-l activați sau să configurați sistemul pentru al utiliza. Cu toate acestea, trebuie să vă asigurați că instrumentele de gestionare a rețelei precum NetworkManager sunt configurate corect, deoarece acestea pot ignora configurația rețelei de sistem.

Înainte de a trece la următoarea secțiune, executați următoarea comandă pentru a verifica dacă deja executați sistem-rezolvat:

$ rezolvarea stării

Dacă primiți mesajul:

$ rezolvarea stării
Nu a reușit să obțină date globale: Unitatea dbus-org.freedesktop.resolve1.service nu a fost găsită.

Tu esti nu rularea sistem-rezolvată și ar trebui să treacă la secțiunea următoare. Dacă, în schimb, vedeți ieșire care începe cu ceva de genul:

Global
Setare LLMNR: da
Setare MulticastDNS: da
Setarea DNSOverTLS: oportunistă
Setare DNSSEC: down-grade
Suport DNSSEC: nr
Server DNS curent: 1.1.1.1
Servere DNS: 1.1.1.1
1.0.0.1

Apoi, deja executați sistem-rezolvat și nu trebuie să îl activați.

Activarea și configurarea rezolvată de sistem

Nu este necesar să instalăm rezolvarea sistemd ca deja parte a sistemului. Tot ce trebuie să facem este să-l pornim pentru a pune în funcțiune serverul de memorie în cache DNS și apoi să-l activăm pentru a-l porni.

Rulați următoarea comandă dintr-un prompt shell, deoarece sudo a permis unui utilizator non-root să pornească rezolvarea sistemd:

$ sudo systemctl start systemd-rezolvat.service

Apoi, executați următoarea comandă pentru a porni rezolvarea sistemd la pornirea sistemului:

$ sudo systemctl activează sistemd-rezolvat.service

Ultimul element de configurare rămas este de a seta serverele DNS pe care sistemul-rezolvat va interoga la domenii rezolvate. Există multe opțiuni aici, dar una dintre următoarele perechi este gratuită, rapidă și ambele acceptă DNSSEC și DoT:

DNS public Google

  • 8.8.8.8
  • 8.8.4.4

DNS publice Cloudflare

  • 1.1.1.1
  • 1.0.0.1

Deschideți fișierul principal de configurare rezolvat de sistem cu editorul de text preferat, aici am folosit nano:

$ sudo nano /etc/systemd/resolved.conf

Editează începe linia

# DNS =

Așa că sunt listate o pereche de adrese IP. Aici, sunt afișate serverele DNS Cloudflare:

DNS = 1.1.1.1 1.0.0.1

Salvați și ieșiți din editorul de text. Acum trebuie să repornim sistem-rezolvat, astfel încât să înceapă să utilizeze serverele de nume:

$ sudo systemctl repornește sistemd-rezolvat.service

systemd-rezolvat este în curs de execuție și este gata să înceapă să accelereze și să asigure interogările DNS imediat ce configurăm sistemul pentru a începe să îl folosească.

Configurarea sistemului pentru a putea fi rezolvată de sistem

Sistemul dvs. poate fi configurat în mai multe moduri de a utiliza soluționarea rezolvată de sistem, dar vom analiza două configurații care acoperă majoritatea cazurilor de utilizare. Prima este configurația recomandată, iar a doua este configurația de compatibilitate. Diferența dintre cele două este modul în care este gestionat fișierul /etc/resolv.conf.

Fișierul /etc/resolv.conf deține adresele IP ale serverelor de nume pe care programele de pe sistem ar trebui să le interogheze. Programele care trebuie să efectueze interogări DNS vor consulta acest fișier pentru a afla ce servere ar trebui să contacteze pentru a efectua aceste interogări.

Cele două moduri de sistem rezolvate de sistem în jurul modului în care este gestionat conținutul acestui fișier. În modul recomandat, /etc/resolv.conf este creat un link către /run/systemd/resolve/stub-resolv.conf. Acest fișier este gestionat de sistem-rezolvat și, prin urmare, sistem-rezolvat gestionează informațiile de configurare DNS pentru toate celelalte programe din sistem.

Aceasta poate cauza probleme atunci când alte programe încearcă să gestioneze conținutul /etc/resolv.conf. Modul de compatibilitate lasă /etc/resolv.conf în loc, permițând altor programe să-l gestioneze în timp ce sistemul-rezolvat utilizează informațiile DNS. În acest mod, celelalte programe care gestionează /etc/resolv.conf trebuie configurate pentru a seta 127.0.0.53 ca server de nume de sistem în /etc/resolv.conf.

Configurarea modului recomandat

Când configurăm acest mod, sistemul-rezolvat va gestiona /etc/resolv.conf făcând din acesta un simbol către /run/systemd/resolve/stub-resolv.conf. Va trebui să facem acest lucru manual, deoarece nu este configurat automat.

În primul rând, ștergeți sau redenumiți fișierul existent /etc/resolv.conf. Redenumirea este o opțiune mai bună pentru a o șterge, deoarece va avea același efect, dar vă puteți referi întotdeauna la original dacă aveți nevoie de informațiile pe care le conține. Aici, redenumim /etc/resolv.conf folosind comanda mv:

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

Apoi, creați simbolul:

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

În cele din urmă, reporniți sistemul rezolvat:

$ sudo systemctl repornește sistemd-rezolvat.service

Configurarea modului de compatibilitate

În acest mod, trebuie să vă asigurați că serverul de nume local care a fost rezolvat de sistem a început este interogat de serviciile de sistem. Deschideți /etc/resolv.conf într-un editor de text, aici se utilizează editorul nano:

$ sudo nano /etc/resolv.conf

Ștergeți toate liniile pe care le întâlniți care încep cu „serverul de nume” și adăugați această linie:

nume de nume 127.0.0.53

Această editare poate fi modificată de orice alt program care gestionează /etc/resolv.conf. Dacă acesta este cazul, atunci va trebui să configurați aceste programe pentru a utiliza acest server de nume pentru a face editarea permanentă.

Debugging-sistem rezolvat

Descoperirea exactă a modului în care sistemul dvs. face interogări DNS după ce ați făcut aceste modificări poate fi dificilă. Cea mai eficientă metodă de a observa ceea ce se întâmplă este de a pune sistemd-rezolvat în modul de depanare și de a urmări fișierul jurnal.

systemd-rezolvat este un serviciu systemd, ceea ce înseamnă că poate fi pus cu ușurință în modul de depanare prin crearea unui fișier de serviciu care conține setarea de depanare. Următoarea comandă va crea fișierul corect în locația corectă:

$ sudo systemctl edit sistemd-rezolvat.service

Lipiți următoarele linii în editor, apoi salvați și ieșiți:

[Serviciu]
Mediu = SYSTEMD_LOG_LEVEL = depanare

Serviciul rezolvat de sistem va fi reîncărcat automat la salvarea și ieșirea cu succes.

Deschide un al doilea terminal la același server și urmează jurnalul journald pentru serviciul rezolvat de sistem:

$ sudo journalctl -f -u sistemd-rezolvat

O linie care începe „Utilizarea serverului DNS” de ex .:

Utilizarea serverului DNS 1.1.1.1 pentru tranzacția 19995.

Vă spune exact ce server DNS este utilizat pentru interogări DNS. În acest caz, serverul DNS Cloudflare de la 1.1.1.1 a fost interogat.

Liniile care sunt „Cache miss” indică faptul că numele de domeniu nu a fost memorat în cache. De exemplu.:

Cache lipsește, de exemplu, în SOA

Linii care încep „Cache pozitiv lovit” de ex .:

Cache-ul pozitiv a fost lovit, de exemplu, în A

Indicați că sistem-rezolvat a cerut acest domeniu înainte și răspunsul a fost difuzat din memoria cache din memoria locală.

Ar trebui să dezactivați modul de depanare atunci când ați terminat de lucru rezolvat de sistem, deoarece va crea un fișier jurnal foarte mare pe un sistem ocupat. Puteți dezactiva înregistrarea de depanare rulând:

$ sudo systemctl edit sistemd-rezolvat.service

și ștergând cele două linii, ați adăugat apoi salvarea și ieșirea din editor.

Utilizarea interogărilor DNS sigure

Sistemul rezolvat este unul dintre puținele servere DNS disponibile în prezent care acceptă atât DNSSEC cât și DNSoverTLS. Ambele dintre acestea vă ajută să vă asigurați că primiți informații autentice DNS (DNSSEC) și că nimeni nu poate să se afle pe traficul dvs. DNS în timp ce trece pe internet. (Punct).

Aceste opțiuni sunt ușor activate prin deschiderea principalului fișier de configurare rezolvat de sistem cu un editor de text:

$ sudo nano /etc/systemd/resolved.conf

Și editați fișierul astfel încât să fie setate următoarele două linii:

DNSSEC = permite-declasare
DNSOverTLS = oportuniste

Salvați și ieșiți din editor, apoi reîncărcați rezolvați de sistem:

$ sudo systemctl repornește sistemd-rezolvat.service

Atâta timp cât serverul DNS ați setat suportul DNSSEC și DoT, întrebările dvs. DNS vor fi protejate. Ambele servere DNS publice Google și Cloudflare acceptă aceste protocoale.

Concluzie

Sistemul dvs. este acum configurat să facă rapid și eficient interogări DNS chiar și atunci când serverul DNS al ISP-ului dvs. nu răspunde la fel de rapid. În plus, viața dvs. digitală este mai sigură pe măsură ce utilizați cele mai noi protocoale DNS sigure pentru a vă proteja interogările DNS.

Dacă sunteți pasionat de Linux și doriți să aflați mai multe, atunci consultați acest fantastic curs online.

ETICHETE:

  • Linux

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me