GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare e configurare il server DNS (Bind 9) su Ubuntu / Debian

DNS o Sistema dei nomi di dominio , come sappiamo è un servizio Internet che viene utilizzato per tradurre il dominio user friendly in indirizzi IP compatibili con il computer. Non solo possiamo tradurre i nomi di dominio in indirizzi IP, ma possiamo anche eseguire traduzioni inverse, ovvero da indirizzi IP a traduzioni di nomi di dominio. In questo tutorial impareremo a configurare un server DNS privato implementando BIND9 su sistema Ubuntu/Debian.

BIND o BIND 9 è un'implementazione open source di DNS, disponibile per quasi tutte le distribuzioni Linux. BIND sta per Berkeley Internet Name Domain e ci consente di pubblicare informazioni DNS su Internet e di risolvere le query DNS per gli utenti. BIND è di gran lunga il software DNS più utilizzato su Internet. In questo tutorial userò i seguenti:

  • Bind Server IP (Ubuntu / Debian) =192.168.0.40
  • Nome di dominio =linuxtechi.local
  • Rete privata =192.168.0.0/24

Iniziamo quindi il tutorial con l'installazione sui pacchetti per BIND 9….

Installazione di Bind 9 su sistema Debian/Ubuntu:

È necessario installare "bind9 bind9utils bind9-doc dnsutils" per installare BIND 9 e gli strumenti correlati. Apri il tuo terminale ed esegui il seguente comando,

[email protected]:~$ sudo apt-get install bind9 bind9utils bind9-doc dnsutils

Configurazione di bind 9 su sistema Debian / Ubuntu:

Una volta installati tutti i pacchetti, ci sposteremo nella parte di configurazione. Tutti i file di configurazione per BIND si trovano nella cartella '/etc/bind'.

Uno dei file di configurazione importanti per il collegamento è "/etc/bind/named.conf.options “, da questo file possiamo impostare i seguenti parametri:

  • Consenti query al tuo dns dalla tua rete privata (come suggerisce il nome solo i sistemi della tua rete privata possono interrogare dns server per la traduzione da nome a ip e viceversa)
  • Consenti query ricorsive
  • Specificare la porta DNS ( 53)
  • Forwarder (la query DNS verrà inoltrata agli spedizionieri quando il server DNS locale non è in grado di risolvere la query)

Secondo le mie impostazioni di rete privata, ho specificato i seguenti parametri:

[email protected]:~$ sudo vi /etc/bind/named.conf.options
options {
        directory "/var/cache/bind";
        auth-nxdomain no;    # conform to RFC1035
     // listen-on-v6 { any; };
        listen-on port 53 { localhost; 192.168.0.0/24; };
        allow-query { localhost; 192.168.0.0/24; };
        forwarders { 8.8.8.8; };
        recursion yes;
        };

Il prossimo importante file di configurazione è “/etc/bind/named.conf.local “, in questo file definiremo i file di zona per il nostro dominio, modifichiamo il file aggiungendo le seguenti voci:

[email protected]:~$ cd /etc/bind
[email protected]:~$ sudo vi named.conf.local
zone    "linuxtechi.local"   {
        type master;
        file    "/etc/bind/forward.linuxtechi.local";
 };

zone   "0.168.192.in-addr.arpa"        {
       type master;
       file    "/etc/bind/reverse.linuxtechi.local";
 };

Salva il file ed esci. Qui abbiamo menzionato le posizioni per i nostri file di zona di ricerca diretta e file di zona di ricerca inversa. Successivamente creeremo i file di zona avanti e indietro menzionati.

Innanzitutto crea il file della zona di ricerca diretta, i file della zona di esempio (db.local) sono già presenti nella '/etc/bind folder ', possiamo usare e copiare il file della zona di esempio,

[email protected]:/etc/bind$ sudo cp db.local forward.linuxtechi.local
[email protected]:/etc/bind$ sudo vi forward.linuxtechi.local
$TTL    604800

@       IN      SOA     primary.linuxtechi.local. root.primary.linuxtechi.local. (
                              6         ; Serial
                         604820         ; Refresh
                          86600         ; Retry
                        2419600         ; Expire
                         604600 )       ; Negative Cache TTL

;Name Server Information
@       IN      NS      primary.linuxtechi.local.

;IP address of Your Domain Name Server(DNS)
primary IN       A      192.168.0.40

;Mail Server MX (Mail exchanger) Record
linuxtechi.local. IN  MX  10  mail.linuxtechi.local.

;A Record for Host names
www     IN       A       192.168.0.50
mail    IN       A       192.168.0.60

;CNAME Record
ftp     IN      CNAME    www.linuxtechi.local.

Il tuo file di ricerca in avanti dovrebbe assomigliare a qualcosa di seguito:

Qui, abbiamo aggiunto informazioni riguardanti il ​​nostro server DNS e abbiamo anche aggiunto record A per un paio di server, aggiunto anche record per un server di posta e record CNAME per server ftp. Assicurati di modificare questo file per adattarlo alla tua rete.

Successivamente creeremo un file di zona di ricerca inversa nella stessa posizione, il file di zona di ricerca inversa di esempio è presente in '/etc/bind cartella '.

[email protected]:/etc/bind$ sudo cp db.127 reverse.linuxtechi.local
[email protected]:~$ sudo vi /etc/bind/reverse.linuxtechi.local
$TTL    604800
@       IN      SOA     linuxtechi.local. root.linuxtechi.local. (
                             21         ; Serial
                         604820         ; Refresh
                          864500        ; Retry
                        2419270         ; Expire
                         604880 )       ; Negative Cache TTL

;Your Name Server Info
@       IN      NS      primary.linuxtechi.local.
primary IN      A       192.168.0.40

;Reverse Lookup for Your DNS Server
40      IN      PTR     primary.linuxtechi.local.

;PTR Record IP address to HostName
50      IN      PTR     www.linuxtechi.local.
60      IN      PTR     mail.linuxtechi.local.

Il tuo file di ricerca della zona inversa dovrebbe apparire come di seguito:

Salva file ed esci. Ora non resta che riavviare il servizio BIND per implementare le modifiche apportate,

[email protected]:~$ sudo systemctl restart bind9
[email protected]:~$ sudo systemctl enable bind9

Nota:- Nel caso in cui il firewall del sistema operativo sia in esecuzione sul tuo server di collegamento, esegui il comando seguente per consentire la porta 53

[email protected]:~$ sudo ufw allow 53
Rule added
Rule added (v6)
[email protected]:~$

Sintassi di convalida della configurazione di bind9 e dei file di zona

Se si desidera eseguire una verifica incrociata della sintassi del file di configurazione di bind 9 (denominato.conf.local). Usa il comando “named-checkconf “, l'esempio è mostrato di seguito:

[email protected]:~$ sudo named-checkconf /etc/bind/named.conf.local
[email protected]:~$

Se non ci sono errori di sintassi nel file di configurazione del collegamento, dovrebbe tornare alla shell senza mostrare alcun errore.

Per verificare in modo incrociato la sintassi dei file della zona di ricerca diretta e inversa , utilizza il comando "named-checkzone “, l'esempio è mostrato di seguito:

[email protected]:~$ sudo named-checkzone linuxtechi.local /etc/bind/forward.linuxtechi.local
zone linuxtechi.local/IN: loaded serial 6
OK
[email protected]:~$
[email protected]:~$ sudo named-checkzone linuxtechi.local /etc/bind/reverse.linuxtechi.local
zone linuxtechi.local/IN: loaded serial 21
OK
[email protected]:~$

Test del server DNS con dig &nslookup

Per testare il nostro server DNS BIND 9, useremo un'altra macchina Ubuntu e cambieremo il suo DNS per indicare il nostro server DNS. Per modificare il server DNS, apri "/etc/resol.conf ' &effettua la seguente voce DNS,

[email protected]:~$ sudo vi /etc/resolv.conf
search linuxtechi.local
nameserver 192.168.0.40

salva il file ed esci. Ora abbiamo il nostro client pronto con DNS che punta al nostro server. Ora utilizzeremo uno strumento CLI chiamato "scava ' comando , che viene utilizzato per scoprire il DNS e le relative informazioni. Esegui il seguente comando dal terminale,

[email protected]:~$ dig primary.linuxtechi.local

&dovremmo ottenere il seguente output dal comando,

Questo output mostra che il nostro DNS funziona correttamente.

Facciamo query di ricerca inversa (PTR):

[email protected]:~$ dig -x 192.168.0.40

L'output del comando dovrebbe essere simile al seguente:

Inoltre possiamo eseguire "nslookup ' comando sul nostro server DNS per confermare l'output del comando dig,

[email protected]:~$ nslookup primary.linuxtechi.local

&dovrebbe produrre il seguente output,

Nota:- Durante l'esecuzione del comando dig, se viene visualizzato l'errore "comando non trovato", è necessario installare il pacchetto "dnsutils" poiché il comando dig fa parte del pacchetto "dnsutils",

[email protected]:~$ sudo apt-get install dnsutils -y

Ora che il nostro server funziona correttamente, possiamo aggiungere altri server come server di posta, server ftp o server Web ai file di configurazione del server DNS creando i record appropriati secondo i requisiti. Inoltre, in questo tutorial abbiamo impostato solo un server DNS locale, se hai bisogno di configurare un DNS pubblico allora avrai bisogno di un indirizzo IP pubblico per lo stesso.

Con questo concludiamo il nostro tutorial su come installare e configurare il server DNS su Ubuntu/Debian usando BIND 9. Inviaci i tuoi preziosi feedback/domande, saremo felici di affrontarli tutti.

Leggi ancheCome installare e configurare Webmin su Debian / Ubuntu


Ubuntu
  1. Come installare e configurare un server NFS su Ubuntu 20.04

  2. Come installare e configurare VNC su Ubuntu 20.04

  3. Come installare e configurare il server DHCP su Ubuntu 20.04

  4. Come installare e configurare il server Redis in Ubuntu

  5. Come installare e configurare un server DNS semplice (BIND) su Debian 9

Come installare e configurare DNS su Ubuntu

Come installare e configurare il server LAMP su Ubuntu

Come installare e configurare il server OpenLDAP su Ubuntu 16.04

Come installare e configurare VNC su Ubuntu Server 20.04

Installa e configura Virtualmin su Ubuntu 20.04 / Debian 10 Server

Come installare e configurare il server DNS su Ubuntu 16.04 LTS