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 gccScarica 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.bz2Estrai il contenuto dell’archivio:
tar -xjf maradns-2.0.11.tar.bz2Cambia nella directory di MaraDNS estratta, compila e installa i programmi:
cd maradns-2.0.11sudo makesudo make installMaraDNS è ora installato. Il servizio MaraDNS è installato in /etc/init.d/maradns. Puoi semplicemente avviare il servizio con:
sudo /etc/init.d/maradns startPer avviare il demone ricorsivo, esegui:
sudo /etc/init.d/maradns.deadwood startPer 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 onLo 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: trueImpostalo per l’esecuzione all’avvio:
chkconfig maradns.deadwood onConfigurazione 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 restartConfigurazione 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 GoogleRiavvia il servizio con:
sudo /etc/init.d/maradns.deadwood restartHai 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!
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.