Com configurar un servidor de caché DNS local a Linux?

Les recerques DNS no solen ser una cosa que us ha de preocupar. De vegades hauria!


Si el proveïdor intern de casa o de l’oficina té anàlisis de noms lents o el vostre servidor realitza moltes recerques, necessitareu un servidor DNS en memòria cau local..

Com m’ajudarà un servidor DNS en memòria cau?

Un servidor DNS en memòria cau funciona mitjançant totes les consultes DNS que fa el sistema i, després, es desen o s’emmagatzemen en memòria cau els resultats a la memòria. Una vegada que els resultats queden en memòria cau qualsevol vegada que realitzeu una sol·licitud duplicada per a un domini, el resultat es donarà gairebé de forma instantània des de la memòria.

Pot semblar que no és massa important, però si els servidors DNS del vostre ISP triguen molt a respondre, alentirà molt la vostra navegació per Internet. Per exemple, la pàgina d’inici del canal de notícies dels Estats Units MSNBC ha de contactar amb més de 100 noms de dominis exclusius per carregar-los correctament. Si els servidors de noms del vostre proveïdor d’Internet triguen fins a un deu de segon més del normal a respondre, això vol dir que la pàgina trigarà 10 segons més en acabar de carregar.

Un servidor DNS en memòria cau local no només ajudarà a la vostra llar o a l’oficina, sinó que també l’ajudarà al vostre servidor. Si teniu una aplicació que fa moltes cerques de DNS, per exemple, un servidor de correu electrònic ocupat que utilitza programari anti-spam, rebrà un augment de velocitat d’un servidor DNS en memòria cau local..

Finalment, el sistema resolt admet els estàndards DNS més segurs i segurs DNSSEC i DNSoverTLS o DoT. Aquests us permeten mantenir-vos segurs i mantenir la vostra privacitat en línia.

Quin DNS local de la memòria cau utilitzarem?

El servidor DNS de memòria cau local que habilitarem i configurarem en aquesta guia és resolt per sistema. Aquesta eina és una part de la secció systemd un conjunt d’eines de gestió de sistemes. Si el vostre sistema utilitza systemd i gairebé totes les distribucions principals de Linux hi ha, ja haureu instal·lat el sistema resolt, però no el teniu en funcionament. La majoria de distribucions no utilitzen la resolució del sistema encara que hi sigui present.

Resolució del sistema funciona mitjançant l’execució d’un petit servidor DNS en memòria cau local que configurarem per iniciar-lo. A continuació, tornarem a configurar la resta del sistema per dirigir les seves consultes DNS al sistema de memòria cau local resolt al DNS.

Com comprovar si ja heu resolt el sistema?

Algunes distribucions de Linux ja utilitzen resoldre el sistema per defecte, com ara Ubuntu 19.04.

Si ja esteu executant un sistema resolt, no cal que l’habiliteu ni configureu el sistema per utilitzar-lo. No obstant això, haureu d’assegurar-vos que les eines de gestió de xarxa com NetworkManager estan configurades correctament, ja que poden ignorar la configuració de la xarxa del sistema.

Abans de passar a la secció següent, executeu la següent comanda per comprovar si ja teniu resolt el sistema:

$ resoluctl estat

Si reps el missatge:

$ resoluctl estat
No s’ha pogut obtenir dades globals: no s’ha trobat la unitat dbus-org.freedesktop.resolve1.service.

Tu ets no En funcionament, s’ha resolt el sistema i hauria de passar a la secció següent. Si, en canvi, veieu la sortida que comença amb una cosa com la següent:

Global
Configuració de LLMNR: sí
Configuració MulticastDNS: sí
Configuració DNSOverTLS: oportunista
Configuració DNSSEC: permís de descens
Compatibilitat DNSSEC: núm
Servidor DNS actual: 1.1.1.1
Servidors DNS: 1.1.1.1
1.0.0.1

Llavors ja teniu el sistema resolt i no cal que ho activeu.

Habilitar i configurar el sistema resolt

No cal que instal·lem el sistema resolt ja que forma part de systemd. Tot el que hem de fer és iniciar-lo perquè el servidor de memòria cau DNS s’execute i, després, que l’iniciï en l’arrencada.

Executeu la següent comanda des d’un símbol del shell com a sudo que va permetre a un usuari no arrel iniciar una resolució del sistema:

$ sudo systemctl start systemd-resol.service

A continuació, executeu la següent comanda per iniciar la resolució del sistema en l’arrencada del sistema:

$ sudo systemctl habilita systemd-resol.service

L’últim element de configuració que queda és configurar els servidors DNS que la resolució del sistema ha de consultar per a dominis resolts. Aquí hi ha moltes opcions, però qualsevol de les següents parelles és gratuïta, ràpida i tots dos donen suport a DNSSEC i a DoT:

DNS públics de Google

  • 8.8.8.8
  • 8.8.4.4

DNS públics de Cloudflare

  • 1.1.1.1
  • 1.0.0.1

Obre el fitxer principal de configuració resolt pel sistema amb l’editor de text favorit, aquí he fet servir nano:

$ sudo nano /etc/systemd/resolved.conf

Edita la línia comença

# DNS =

Es mostren un parell d’adreces IP a la llista. Aquí es mostren els servidors DNS de Cloudflare:

DNS = 1.1.1.1 1.0.0.1

Desar i sortir de l’editor de text. Ara hem de reiniciar el sistema resolt de manera que comenci a utilitzar els servidors de noms:

$ sudo systemctl reinicia systemd-resol.service

systemd-resoled ja s’està preparant per començar a accelerar i protegir les consultes DNS tan bon punt configurem el sistema per començar a utilitzar-lo.

Configuració del sistema perquè s’utilitzi resolt per un sistema

El vostre sistema es pot configurar de diverses maneres per utilitzar un sistema resolt, però veurem dues configuracions que cobreixen la majoria dels casos d’ús. El primer és la configuració recomanada i el segon, la configuració de compatibilitat. La diferència entre tots dos és com es gestiona el fitxer /etc/resolv.conf.

El fitxer /etc/resolv.conf conté les adreces IP dels servidors de noms que els programes del sistema han de consultar. Els programes que necessiten fer consultes DNS consultaran aquest fitxer per esbrinar amb els servidors que han de contactar per fer aquestes consultes.

Els dos modes de resolució del sistema es centren entorn de com es gestiona el contingut d’aquest fitxer. En el mode recomanat, /etc/resolv.conf es fa un enllaç a /run/systemd/resolve/stub-resolv.conf. Aquest fitxer es gestiona mitjançant un sistema resolt i, per tant, es resol amb el sistema que gestiona la informació de configuració DNS per a tots els altres programes del sistema.

Això pot causar problemes quan altres programes intenten gestionar el contingut de /etc/resolv.conf. El mode de compatibilitat deixa /etc/resolv.conf al lloc que permet que altres programes el gestionin mentre el sistema resolt utilitza aquesta informació DNS. En aquest mode, els altres programes que gestionen /etc/resolv.conf s’han de configurar per configurar 127.0.0.53 com a servidor de noms del sistema a /etc/resolv.conf.

Configuració del mode recomanat

Quan configurem aquest mode, el sistema resolt gestionarà /etc/resolv.conf fent-lo un enllaç a /run/systemd/resolve/stub-resolv.conf. Haurem de fer-ho a mà ja que no es configura automàticament.

Primer, suprimeix o canvieu el nom del fitxer /etc/resolv.conf existent. El nom de nom és una opció millor per suprimir-lo, ja que tindrà el mateix efecte, però sempre podeu fer referència a l’original si necessiteu la informació que conté. Aquí, canviem el nom de /etc/resolv.conf mitjançant la comanda mv:

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

A continuació, creeu el enllaç:

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

Finalment, reinicieu el sistema resolt:

$ sudo systemctl reinicia systemd-resol.service

Configuració del mode de compatibilitat

En aquest mode, heu d’assegurar-vos que els serveis del sistema han consultat el servidor de noms local que s’ha iniciat el sistema resolt. Obriu /etc/resolv.conf en un editor de text, aquí s’utilitza l’editor nano:

$ sudo nano /etc/resolv.conf

Suprimeix les línies que trobeu que comencen amb el “servidor de noms” i afegeix aquesta línia:

servidor de noms 127.0.0.53

Aquesta edició pot canviar qualsevol altre programa que gestioni /etc/resolv.conf. Si aquest és el cas, haureu de configurar aquells programes per utilitzar aquest servidor de noms per fer l’edició permanent.

Resolució del sistema de depuració

És difícil conèixer el funcionament del vostre sistema de consultes DNS després de realitzar aquests canvis. El mètode més eficaç d’observar el que està passant és posar el sistema resolt al mode de depuració i veure el fitxer de registre.

systemd-resolt és un servei systemd, el que significa que es pot posar fàcilment al mode de depuració creant un fitxer de servei desplegable que conté la configuració de depuració. La següent comanda crearà el fitxer correcte a la ubicació correcta:

$ sudo systemctl edit systemd-resol.service

Pega les següents línies a l’editor i desa i surt:

[Servei]
Ambient = SYSTEMD_LOG_LEVEL = depuració

El servei resolt amb el sistema es tornarà a carregar automàticament quan es desen i surtin amb èxit.

Obriu un segon terminal al mateix servidor i seguiu el registre de journald per al servei resolt pel sistema:

$ sudo journalctl -f -u systemd resolt

Una línia que comença “Utilitzant el servidor DNS”, per exemple:

Ús del servidor DNS 1.1.1.1 per a la transacció 19995.

Us indica exactament quin servidor DNS s’utilitza per a consultes DNS. En aquest cas, es va preguntar el servidor DNS Cloudflare a 1.1.1.1.

Les línies que es troben amb “Cache miss” indiquen que el nom de domini no s’ha introduït en memòria cau. Per exemple.:

Perdre la memòria cau per exemple.com EN SOA

Línies que comencen amb “Memòria cau positiva”, per exemple:

La memòria cau positiva ha estat premuda per exemple

Indiqueu que el sistema resolt ha preguntat abans aquest domini i que la resposta es va publicar des de la memòria cau local.

Haureu de desactivar el mode de depuració quan hagueu acabat de treballar resolt per sistema, ja que crearà un fitxer de registre molt gran en un sistema ocupat. Podeu desactivar el registre de depuració executant:

$ sudo systemctl edit systemd-resol.service

i suprimint les dues línies, heu afegit desa i sortint de l’editor.

Utilització de consultes segures de DNS

Resolució systemd és un dels pocs servidors DNS disponibles actualment que admeten tant DNSSEC com DNSoverTLS. Totes dues ajuden a assegurar-se que rebeu informació genuïna de DNS (DNSSEC) i que ningú no pot fer malbé el trànsit DNS al seu pas per Internet. (DoT).

Aquestes opcions es poden activar fàcilment obrint el fitxer principal de configuració resolt pel sistema amb un editor de text:

$ sudo nano /etc/systemd/resolved.conf

Editeu el fitxer de manera que es configuren les dues línies següents:

DNSSEC = permís de baixada
DNSOverTLS = oportunista

Deseu i sortiu de l’editor i torneu a carregar el sistema resolt:

$ sudo systemctl reinicia systemd-resol.service

Sempre que el servidor DNS hagi configurat el suport DNSSEC i DoT, les vostres consultes DNS estaran protegides. Els servidors DNS públics de Google i Cloudflare són compatibles amb aquests protocols.

Conclusió

Ara el sistema està configurat per fer consultes DNS de manera ràpida i eficaç, fins i tot quan el servidor DNS del vostre ISP no respongui tan ràpidament com ho hauria de fer. A més, la vostra vida digital és més segura ja que utilitzeu els protocols DNS més segurs i segurs per protegir les vostres consultes DNS.

Si sou entusiastes de Linux i voleu aprendre més, feu un cop d’ull a aquest fantàstic curs en línia.

Tags:

  • 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