Debian - DNS - Tutorial - Tutorials

Resoldre IPs localment amb Unbound

Utilitzar els servidors del nostre proveïdor d’internet pot no ser optim i encara menys si per alguna raó té interés en saber quines pàgines visitem.

Veurem com configurar Debian GNU/Linux 11 (bullseye) per a que resolgui localment els dominis de les pàgines que naveguem amb . No només evitarem el problema comentat abans sinó que també tindrem una resolució de noms pràcticament instantània.

Aquest tutorial està basat amb el de linuxbabe.

Per a començar instal·larem Unbound després d’actualitzar el sistema:

sudo apt update
sudo apt install unbound

Unbound s’hauria d’iniciar per defecte però si no ho ha fet ho fem nosaltres amb ‘systemctl start unbound'. Comprovem que funciona:Unbound

sudo systemctl status unbound

Si no hi ha cap problema veurem que està “active”:

Per si som dels que paren l’ordinador o el portàtil quan acaben les tasques informàtiques, necessitarem demanar a systemd que torni a iniciar Unbound cada vegada que l’engeguem:

sudo systemctl enable unbound

Configuració

Editem el fitxer /etc/unbound/unbound.conf i li afegim la configuració mínima però funcional sota l’única línia que diu ‘include_toplevel: "/etc/unbound/unbound.conf.d/*.conf"'. La configuració quedaria així:

include_toplevel: "/etc/unbound/unbound.conf.d/*.conf"
server:
      # the working directory.
      directory: "/etc/unbound"
 
      # run as the unbound user
      username: unbound
      verbosity: 2      # uncomment and increase to get more logging.
      # listen on all interfaces, answer queries from the local subnet.
      interface: 0.0.0.0
      # comment out the following line if your system doesn't have IPv6.
      interface: ::0
      # perform prefetching of almost expired DNS cache entries.
      prefetch: yes
      access-control: 10.0.0.0/8 allow
      access-control: 127.0.0.1/24 allow
      access-control: 2001:DB8::/64 allow
      # hide server info from clients
      hide-identity: yes
      hide-version: yes
remote-control:
      # Enable remote control with unbound-control(8) here.
      control-enable: no
      # what interfaces are listened to for remote control.
      # give 0.0.0.0 and ::0 to listen to all interfaces.
      # set to an absolute path to use a unix local name pipe, certificates
      # are not used for that, so key and cert files need not be present.
      control-interface: 127.0.0.1
      # control-interface: ::1
      # port number for remote control operations.
      control-port: 8953

Aquestes configuracions s’expliquen soles. Desem els canvis i reiniciem Unbound:

sudo systemctl restart unbound

Per defecte, Debian 11 fa servir systemd-resolved per a resoldre noms de dominis a IPs, servei que escolta peticions en la IP local 127.0.0.53:53. Ho podem veure si fem:

ss -lnptu | grep 53 |grep systemd-resolve

Abans d’aturar systemd-resolved ens cal instal·lar un altre paquet, openresolv, perquè quan parem systemd-resolved ens quedem sense resolució de noms fins que no tinguem Unbound operatiu:

sudo apt install openresolv

Ara sí que podem parar systemd-resolved perquè volem enllaçar Unbound a 0.0.0.0:53

sudo systemctl disable systemd-resolved --now

Reiniciem Unbound

sudo systemctl restart unbound

Ens falta configurar Unbound com el encarregat per defecte de la resolució de noms. Quan hem instal·lat Unbound també ho ha fet el servei systemd ‘unbound-resolvconf.service’ però encara no funciona. Ens cal crear-li una configuració personalitzada. Creem-la i editem-la:

nano /etc/systemd/system/unbound-resolvconf.service
[Unit]
Description=local unbound via resolvconf
After=unbound.service
ConditionFileIsExecutable=/sbin/resolvconf
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/sh -c 'echo nameserver 127.0.0.1 | /sbin/resolvconf -a lo.unbound'
ExecStop=/sbin/resolvconf -d lo.unbound
[Install]
WantedBy=unbound.service

Desem els canvis i avisem a systemd del nou servei:

sudo systemctl daemon-reload

I reiniciem el servei ‘unbound-resolvconf.service’:

sudo systemctl restart unbound-resolvconf.service

Si tot ha anat bé veurem que el tradicional fitxer de configuració ‘/etc/resolv.conf’ ha estat creat i configurat correctament per a que Unbound ja sigui plenament operatiu:

Comprovem-ho amb ‘dig mastodont.cat’:

En la línia ‘SERVER’ veiem ‘127.0.0.1#53(127.0.0.1)’. Genial! Unbound funciona! i molt ràpid!

Només falta configurar la connexió de xarxa, en la pestanya IPv4 i en el camp DNS esborrem el que hi hagi escrit i hi posem 127.0.0.1 que és la IP local de la nostre màquina:

Ja està tot, a gaudir!

Avatar photo

De vegades escric tutorials

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *