Vai al contenuto

DNS ricorsivo Unbound

Un'alternativa a BIND, Unbound è un moderno server DNS di convalida, ricorsivo e di caching gestito da NLnet Labs.

Prerequisiti e presupposti

  • Un server con Rocky Linux
  • In grado di utilizzare firewalld per la creazione di regole firewall

Introduzione

Esistono due tipi di server DNS: autoritario e ricorsivo. Laddove i server DNS autoritativi pubblicizzano una zona DNS, i server ricorsivi risolvono le query per conto dei client inoltrandole a un ISP o a un resolver DNS pubblico o alle zone radice dei server più grandi.

Ad esempio, il router di casa probabilmente esegue un resolver DNS ricorsivo incorporato che inoltra al vostro ISP o a un noto server DNS pubblico, che è anche un server DNS ricorsivo.

Installazione e abilitazione di Unbound

Installare Unbound:

dnf install unbound

Configurazione di Unbound

Prima di apportare modifiche a qualsiasi file di configurazione, spostare il file originale installato e funzionante, unbound.conf:

cp /etc/unbound/unbound.conf /etc/unbound/unbound.conf.orig

Questo aiuterà in futuro se si verificano errori nel file di configurazione. È sempre una buona idea fare una copia di backup prima di apportare modifiche.

Modificare il file unbound.conf. L'autore usa vi, ma potete sostituirlo con l'editor a riga di comando preferito:

vi /etc/unbound/unbound.conf

Inserire quanto segue:

server:
    interface: 0.0.0.0
    interface: ::
    access-control: 192.168.0.0/16 allow
    access-control: 2001:db8::/64 allow
    chroot: ""

forward-zone:
    name: "."
    forward-addr: 1.0.0.1@53
    forward-addr: 1.1.1.1@53

Sostituire 192.168.0.0/16 e 2001:db8::/64 con le sottoreti per le quali si risolvono le query DNS. Salvare le modifiche.

Osservare da più vicino

  • L'opzione interface indica le interfacce (IPv4 o IPv6) su cui si desidera ascoltare le query DNS. Siamo in ascolto su tutte le interfacce con 0.0.0.0 e ::.
  • L'opzione access-control indica le sottoreti (IPv4 o IPv6) da cui si desidera consentire le query DNS. Sono consentite richieste da 192.168.0.0/16 e 2001:db8::/64.
  • Il forward-addr definisce i server a cui effettuare l'inoltro. Stiamo inoltrando a 1.1.1.1 e 1.0.0.1 di Cloudflare.

Abilitare Unbound

Quindi, aprire le porte DNS in firewalld e abilitare Unbound:

firewall-cmd --add-service=dns --zone=public
firewall-cmd --runtime-to-permanent
systemctl enable --now unbound

Verificare la risoluzione DNS con il comando host:

$ host google.com 172.20.0.100
Using domain server:
Name: 172.20.0.100
Address: 172.20.0.100#53
Aliases:

google.com has address 142.251.215.238
google.com has IPv6 address 2607:f8b0:400a:805::200e
google.com mail is handled by 10 smtp.google.com.

%

Conclusione

La maggior parte delle persone utilizza il resolver DNS del router di casa o i resolver DNS pubblici gestiti da ISP e aziende tecnologiche. Nei laboratori domestici e nelle reti di grandi dimensioni, è consuetudine eseguire un resolver a livello di rete per ridurre la latenza e il carico di rete mettendo in cache le richieste DNS per i siti web comunemente richiesti, come Google. Un resolver a livello di rete consente anche di utilizzare servizi intranet come SharePoint e Active Directory.

Unbound è uno dei tanti strumenti open-source che rendono possibile la risoluzione dei DNS. Congratulazioni, avete il vostro resolver DNS personale!

Author: Neel Chauhan

Contributors: Steven Spencer, Ganna Zhyrnova