GNU/Linux >> Linux Esercitazione >  >> Linux

Come installare e configurare il server DNS in Linux

Domain Name Service (DNS) è un servizio Internet che associa indirizzi IP a nomi di dominio completi (FQDN) e viceversa.

BIND sta per Berkley Internet Naming Daemon.

BIND è il programma più comune utilizzato per mantenere un server dei nomi su Linux.

In questo tutorial spiegheremo come installare e configurare un server DNS.

Se non conosci il DNS, dovresti prima comprendere i fondamenti del DNS e come funziona.

1. Informazioni sulla rete

In questo tutorial, configureremo un server DNS locale per la rete mostrata nel diagramma seguente.

Useremo il dominio "thegeekstuff.net" come esempio per questa installazione DNS. "mail", "web", "ns" sono gli host che risiedono all'interno di questo dominio.

È possibile configurare un unico sistema che funga da server dei nomi di cache, primario/master e secondario/slave. Configurare questo DNS come server DNS primario/master e cache.

Installeremo il server DNS su "10.42.0.83".

2. Installa Bind

Installa il pacchetto bind9 utilizzando le utilità di gestione dei pacchetti appropriate per le tue distribuzioni Linux.

Nelle versioni Debian/Ubuntu, procedi come segue:

$ sudo apt-get install bind9

Nelle versioni Redhat/CentOS/Fedora, procedi come segue:

# yum install bind9

Tutte le configurazioni DNS sono memorizzate nella directory /etc/bind. La configurazione principale è /etc/bind/named.conf che includerà altri file necessari. Il file denominato /etc/bind/db.root descrive i server dei nomi radice nel mondo.

3. Configura il server dei nomi della cache

Il compito di un server di cache DNS è interrogare altri server DNS e memorizzare nella cache la risposta. La prossima volta che viene data la stessa query, fornirà la risposta dalla cache. La cache verrà aggiornata periodicamente.

Tieni presente che, anche se puoi configurare bind per funzionare come server primario e come server di memorizzazione nella cache, non è consigliabile farlo per motivi di sicurezza. È consigliabile disporre di un server di cache separato.

Tutto ciò che dobbiamo fare per configurare un Cache NameServer è aggiungere il server DNS del tuo ISP (Internet Service Provider) o qualsiasi server OpenDNS al file /etc/bind/named.conf.options. Ad esempio, utilizzeremo i server DNS pubblici di Google, 8.8.8.8 e 8.8.4.4.

Decommenta e modifica la seguente riga come mostrato di seguito nel file /etc/bind/named.conf.options.

forwarders {
    8.8.8.8;
    8.8.4.4;
};

Dopo la modifica di cui sopra, riavvia il server DNS.

$ sudo service bind9 restart

4. Testare il server dei nomi della cache

È possibile utilizzare il comando dig per testare i servizi DNS. Gli esempi di comando DIG spiegano di più su come eseguire ricerche DNS.

$ dig ubuntu.com

;; Query time: 1323 msec

Ora, la seconda volta che esegui lo scavo, dovrebbe esserci un miglioramento nel tempo della query. Come puoi vedere di seguito, la seconda volta ci sono voluti solo 3 msec, poiché riceve le informazioni dal nostro server DNS di memorizzazione nella cache.

$ dig ubuntu.com

;; Query time: 3 msec

5. Configura il server dei nomi principale/principale

Successivamente, configureremo bind9 come principale/principale per il dominio/zona "thegeekstuff.net".

Come primo passo nella configurazione del nostro server dei nomi primario/principale, dovremmo aggiungere la risoluzione Forward e Reverse a bind9.

Per aggiungere una risoluzione DNS Forward e Reverse a bind9, modifica /etc/bind9/named.conf.local.

zone "thegeekstuff.net" {
    type master;
    file "/etc/bind/db.thegeekstuff.net";
};
zone "0.42.10.in-addr.arpa" {
        type master;
        notify no;
        file "/etc/bind/db.10";
};

Ora il file /etc/bind/db.thegeekstuff.net conterrà i dettagli per risolvere il nome host in indirizzo IP per questo dominio/zona e il file /etc/bind/db.10 avrà i dettagli per risolvere l'indirizzo IP in nome host .

6. Crea la risoluzione diretta per il server dei nomi primario/principale

Ora aggiungeremo i dettagli necessari per la risoluzione in avanti in /etc/bind/db.thegeekstuff.net.

Per prima cosa, copia /etc/bind/db.local in /etc/bind/db.thegeekstuff.net

$ sudo cp /etc/bind/db.local /etc/bind/db.thegeekstuff.net

Quindi, modifica /etc/bind/db.thegeekstuff.net e sostituisci quanto segue.

  1. Nella riga che ha SOA:localhost. – Questo è l'FQDN del server responsabile per questo dominio. Ho installato bind9 in 10.42.0.83, il cui nome host è "ns". Quindi sostituisci "localhost". con "ns.thegeekstuff.net.". Assicurati che finisca con un punto (.).
  2. Nella riga che ha SOA:root.localhost. – Questo è l'indirizzo e-mail della persona responsabile di questo server. Usa punto(.) invece di @. Ho sostituito con lak.localhost.
  3. Nella riga che ha NS:localhost. – Si tratta della definizione del server dei nomi per il dominio (NS). Dobbiamo cambiarlo nel nome di dominio completo del server dei nomi. Cambialo in "ns.thegeekstuff.net.". Assicurati di avere un "." alla fine.

Quindi, definisci il record A e il record MX per il dominio. Un record è quello che associa il nome host all'indirizzo IP e il record MX indicherà al server di posta di utilizzare per questo dominio.

Una volta apportate le modifiche, il file /etc/bind/db.thegeekstuff.net sarà simile al seguente:

$TTL    604800
@   IN  SOA ns.thegeekstuff.net. lak.localhost. (
             1024       ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL
;
@   IN  NS  ns.thegeekstuff.net.
thegeekstuff.net.    IN      MX      10      mail.thegeekstuff.net.
ns  IN  A   10.42.0.83
web IN  A   10.42.0.80
mail IN A   10.42.0.70

6. Crea la risoluzione inversa per il server dei nomi primario/principale

Aggiungeremo i dettagli necessari per la risoluzione inversa al file /etc/bind/db.10. Copia il file /etc/bind/db.127 in /etc/bind/db.10

$ sudo cp /etc/bind/db.127 /etc/bind/db.10

Quindi, modifica il file /etc/bind/db.10 e sostanzialmente modificando le stesse opzioni di /etc/bind/db.thegeekstuff.net

$TTL    604800
@   IN  SOA ns.thegeekstuff.net. root.localhost. (
             20         ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL
;
@   IN  NS  ns.

Quindi, per ogni record A in /etc/bind/db.thegeekstuff.net, aggiungi un record PTR.

$TTL    604800
@   IN  SOA ns.thegeekstuff.net. root.thegeekstuff.net. (
             20     ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL
;
@    IN  NS  ns.
83   IN  PTR ns.thegeekstuff.net.
70   IN  PTR mail.thegeekstuff.net.
80   IN  PTR web.thegeekstuff.net.

Ogni volta che si modificano i file db.thegeekstuff.net e db.10, è necessario incrementare anche il numero “Serial”. In genere l'amministratore utilizza GGMMAASS per i numeri di serie e quando modifica, cambia il numero di serie in modo appropriato.

Infine, riavvia il servizio bind9:

$ sudo service bind9 restart

7. Testare il server DNS

Ora abbiamo configurato il server DNS per il nostro dominio. Testeremo il nostro server DNS eseguendo il ping di mail.thegeekstuff.net da web.thegeekstuff.net.

Se il ping ha esito positivo, abbiamo configurato correttamente il DNS.

Puoi anche utilizzare nslookup e dig per testare i server DNS.

Sul server web.thegeekstuff.net, aggiungi quanto segue a /etc/resolv.conf

nameserver 10.42.0.83

Ora esegui il ping, mail.thegeekstuff.net, che dovrebbe risolvere l'indirizzo in modo appropriato dal server DNS che abbiamo appena configurato.

$ ping mail.thegeekstuff.net

PING mail.thegeekstuff.net (10.42.0.70) 56(84) bytes of data.
64 bytes from mail.thegeekstuff.net (10.42.0.70): icmp_req=1 ttl=64 time=0.482 ms
64 bytes from mail.thegeekstuff.net (10.42.0.70): icmp_req=2 ttl=64 time=0.532 ms

Linux
  1. Come installare e configurare Arch Linux come server

  2. Come installare e configurare il server DHCP in Linux

  3. Come installare e configurare il server di monitoraggio Zabbix su Linux

  4. Come installare e configurare EMC PowerPath su Linux

  5. Come installare e configurare server e client NTP Linux

Come installare e configurare il server Web Apache su Oracle Linux 8

Come installare e configurare il server Web Nginx su Oracle Linux 8

Come installare e configurare Django su VPS Linux e Server Dedicato?

Come installare e configurare un TeamSpeak Server su Ubuntu 18.04

Come installare e configurare un server Minecraft su Ubuntu 18.04

Come installare e configurare un server NFS Ubuntu Linux