DNS Server · 4 min read · Oct 02, 2025

Come installare il server DNS veloce e leggero MaraDNS su CentOS 7

MaraDNS è un piccolo, gratuito e leggero server di nomi di dominio. È un server DNS open-source alternativo, che funge da nameserver di caching, ricorsivo o autorevole. È notevolmente facile da configurare ed è disponibile per le piattaforme Linux e Windows. Può essere scaricato da qui. Puoi leggere di più su DNS, DNS ricorsivo, DNS autorevole qui.

Di seguito sono riportate alcune caratteristiche interessanti di MaraDNS:

  • Facile da installare
  • Basso utilizzo di memoria (Utilizza circa 5MB di RAM)
  • Può fungere da nameserver autorevole e nameserver ricorsivo.
  • Da non perdere, la documentazione sul sito web di MaraDNS è molto semplice da comprendere.

Iniziamo ora con MaraDNS su CentOS 7. I seguenti passaggi ti guideranno nell’installazione e configurazione di MaraDNS:

Installazione di MaraDNS

Attualmente, non ci sono RPM disponibili di MaraDNS per CentOS 7, quindi installeremo e compileremo da sorgente.

Installa gcc:

sudo yum install gcc

Scarica l’archivio sorgente più recente da qui. Puoi farlo così:

wget http://maradns.samiam.org/download/2.0/2.0.11/maradns-2.0.11.tar.bz2

Estrai il contenuto dell’archivio:

tar -xjf maradns-2.0.11.tar.bz2

Cambia nella directory di MaraDNS estratta, compila e installa i programmi:

cd maradns-2.0.11
sudo make
sudo make install

MaraDNS è ora installato. Il servizio MaraDNS è installato in /etc/init.d/maradns. Puoi semplicemente avviare il servizio con:

sudo /etc/init.d/maradns start

Per avviare il demone ricorsivo, esegui:

sudo /etc/init.d/maradns.deadwood start

Per impostazione predefinita, il nameserver autorevole ascolta sulla porta 127.0.0.1 e quello ricorsivo sulla porta 127.0.0.2.

Assicuriamoci di avviare MaraDNS all’avvio:

chkconfig maradns on

Lo script di init del server DNS ricorsivo deve essere reso compatibile con chkconfig prima di poterlo eseguire all’avvio. Aggiungi il contenuto seguente all’inizio del file /etc/init.d/maradns.deadwood:

# chkconfig: - 55 45  
# description: MaraDNS è un server di nomi di dominio (DNS) sicuro  
# probe: true

Impostalo per l’esecuzione all’avvio:

chkconfig maradns.deadwood on

Configurazione di MaraDNS come Nameserver Autorevole

I server DNS autorevoli “sanno” la mappatura di URL a IP per qualsiasi dominio dato. Sono la fonte delle informazioni che i server DNS ricorsivi inviano ai client web come i browser (Chrome, Firefox). Puoi configurare MaraDNS come un nameserver autorevole come:

Modifica il file di configurazione di MaraDNS, cioè /etc/mararc:

ipv4_bind_addresses = "127.0.0.1"
chroot_dir = "/etc/maradns"  
csv2 = {}
csv2["example.net."] = "db.example.net"
    

La prima riga dice a MaraDNS di ascoltare sull’IP- 127.0.0.1. Puoi aggiungere più IP separati da virgola. Ad esempio: 127.0.0.1, x.x.x.x

La seconda riga chroot_dir serve a indicare la directory in cui verranno mantenuti tutti i file di zona.

La terza riga inizializza l’hash csv2 con il comando csv2 = {}.

La quarta riga menziona il file di zona chiamato db.example.net per il nome di dominio example.net.

Ecco il file di zona chiamato db.example.net per il nome di dominio example.net che è autoesplicativo:

example.net.      +14400    soa    ns1.example.net. [email protected]. 2012010117 14400 3600 604800 14400 ~ 
example.net.      +14400    ns     ns1.example.net. ~ 
example.net.      +14400    ns     ns2.example.net. ~ 
ns1.example.net.  +14400    a      127.0.0.1 ~ 
ns2.example.net.  +14400    a      127.0.0.1 ~ 
example.net.      +14400    a      127.0.0.1 ~ 
www.example.net.  +14400    a      127.0.0.1 ~ 
example.net.      +14400    mx     10 mail.example.net. ~
mail.example.net. +14400    a      127.0.0.1 ~

Inizi con la riga di inizio autorità (SOA). Poi specifichi i nameserver autorevoli e gli altri record. Un record consiste nel nome di dominio, TTL (Time to live), tipo di record e valore del record. Due cose da notare sono che tutti i nomi di dominio terminano con un punto, cioè devono essere nomi di dominio completamente qualificati e tutti i record terminano con un carattere tilde (~). Per saperne di più, controlla la documentazione sul formato dei file di zona.

Per essere più semplici, puntiamo semplicemente example.net a 127.0.0.1. Ecco come farlo:

example.net.    127.0.0.1 ~

Riavvia il servizio con:

sudo /etc/init.d/maradns restart

Configurazione di MaraDNS come Nameserver Ricorsivo

Quando il tuo browser web invia una query DNS — assumendo che il browser non abbia già la mappatura memorizzata nella sua cache — viene inviata a un server DNS ricorsivo. È anche chiamato forwarding DNS. Ascolta per impostazione predefinita sulla porta- 127.0.0.2 e puoi aggiungere più IP separati da virgola. Ad esempio: 127.0.0.2, x.x.x.x. Puoi configurare MaraDNS come un nameserver ricorsivo aggiungendo le seguenti righe al file /etc/dwood3rc:

upstream_servers = {}  
upstream_servers["."] = "8.8.8.8, 8.8.4.4" # Inoltrare le richieste ai server DNS di Google

Riavvia il servizio con:

sudo /etc/init.d/maradns.deadwood restart

Hai finito di configurare il server MaraDNS! :)

Suggerimento: Se desideri che il tuo server MaraDNS risponda a query DNS esterne, dovresti:

Aggiungere l’IP pubblico della tua macchina a entrambi i file di configurazione (/etc/mararc & /etc/dwood3rc) e modificarli come:

/etc/mararc:

ipv4_bind_addresses = "127.0.0.1, x.x.x.x" #Sostituisci x.x.x.x con l'indirizzo pubblico della tua macchina.

/etc/dwood3rc:

bind_address="127.0.0.2, x.x.x.x" #Sostituisci x.x.x.x con l'indirizzo pubblico della tua macchina.

recursive_acl = “0.0.0.0/0” #Per consentire connessioni da qualsiasi luogo.

Puoi scaricare questi file di esempio da qui. Non dimenticare di riavviare i servizi ancora una volta.

Questo è tutto!

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.