GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come configurare il server DNS su Ubuntu 18.04 / Ubuntu 16.04

Domain Name System (DNS) è la radice di Internet che traduce il nome di dominio in indirizzo IP e viceversa. Il pacchetto BIND9 (Berkeley Internet Name Domain) fornisce la funzionalità di conversione da nome a IP.

Questo post ti guiderà a configurare il server DNS su Ubuntu 18.04 /Ubuntu 16.04.

Ambiente

Nome di dominio:itzgeek.local
ns1.itzgeek.local 192.168.0.10 Server DNS principale

Configura il server DNS su Ubuntu 18.04 / Ubuntu 16.04

Prerequisiti

Aggiorna l'indice del repository.

sudo apt update

Assicurati che il server DNS abbia un indirizzo IP statico.

LEGGI: Come configurare l'indirizzo IP statico in Ubuntu 18.04 / Ubuntu 16.04 usando ifupdown

Se stai utilizzando Netplan:un nuovo strumento di rete per la configurazione della rete in Ubuntu 18.04, quindi.

LEGGI :Come configurare l'indirizzo IP statico in Ubuntu 18.04 utilizzando Netplan

Installa il server DNS

Il nome del pacchetto per il server DNS su Ubuntu è bind9 ed è disponibile nel repository di base. Usa il comando apt per installare il pacchetto bind9.

sudo apt install -y bind9 bind9utils bind9-doc dnsutils

Configura il server DNS

La directory /etc/bind/ è la directory di configurazione principale del server DNS e contiene i file di configurazione ei file di ricerca della zona.

Il file di configurazione globale è /etc/bind/named.conf. Non dovresti usare questo file per la tua zona DNS locale, ma puoi usare il file /etc/bind/named.conf.local.

Crea zone

Iniziamo creando una zona di inoltro per il tuo dominio.

sudo nano /etc/bind/named.conf.local
Zona di andata

Quella che segue è la voce della zona di inoltro per il dominio itzgeek.local nel file named.conf.local.

zone "itzgeek.local" IN { // Domain name
    
      type master; // Primary DNS

     file "/etc/bind/forward.itzgeek.local.db"; // Forward lookup file

     allow-update { none; }; // Since this is the primary DNS, it should be none.

};
Zona inversa

Le voci seguenti sono per la zona inversa nel file named.conf.local.

zone "0.168.192.in-addr.arpa" IN { //Reverse lookup name, should match your network in reverse order

     type master; // Primary DNS

     file "/etc/bind/reverse.itzgeek.local.db"; //Reverse lookup file

     allow-update { none; }; //Since this is the primary DNS, it should be none.

};

Crea file di ricerca zona

Dopo aver creato le zone, puoi procedere e creare file di dati di zona che contengono record DNS per la zona diretta e la zona inversa.

File di ricerca della zona di inoltro

Copia le voci di esempio nel file di zona denominato forward.itzgeek.local.db per la zona di inoltro in /etc/bind directory.

Tipi di record nel file di zona,

SOA – Inizio dell'autorità
NS – Server dei nomi
A – Un record
MX – Mail for Exchange
CN – Canonical Nome

I nomi di dominio devono terminare con un punto (.).

sudo cp /etc/bind/db.local /etc/bind/forward.itzgeek.local.db

Modifica la zona.

sudo nano /etc/bind/forward.itzgeek.local.db

Aggiorna il contenuto mostrato di seguito.

Ogni volta che modifichi un record nel file di ricerca, assicurati di aggiornare il numero di serie con un numero casuale, superiore a quello attuale.
$TTL    604800
@       IN      SOA     ns1.itzgeek.local. root.itzgeek.local. (
                              3         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
;@      IN      NS      localhost.
;@      IN      A       127.0.0.1
;@      IN      AAAA    ::1

;Name Server Information

@        IN      NS      ns1.itzgeek.local.

;IP address of Name Server

ns1     IN      A       192.168.0.10

;Mail Exchanger

itzgeek.local.   IN     MX   10   mail.itzgeek.local.

;A – Record HostName To Ip Address

www     IN       A      192.168.0.100
mail    IN       A      192.168.0.150

;CNAME record

ftp     IN      CNAME   www.itgeek.local.
File di ricerca della zona inversa

Copia le voci di esempio nel file di zona chiamato reverse.itzgeek.local.db per la zona inversa nella directory /etc/bind e crea puntatori inversa per i record della zona in avanti sopra.

PTR – Puntatore
SOA – Inizio dell'autorità

sudo cp /etc/bind/db.127 /etc/bind/reverse.itzgeek.local.db

Modifica il file della zona inversa.

sudo nano /etc/bind/reverse.itzgeek.local.db

Aggiorna il contenuto mostrato di seguito.

Ogni volta che modifichi qualsiasi record DNS nel file di ricerca, assicurati di aggiornare il numero di serie con un numero casuale, superiore a quello corrente.
$TTL    604800
@       IN      SOA     itzgeek.local. root.itzgeek.local. (
                              3         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
;@      IN      NS      localhost.
;1.0.0  IN      PTR     localhost.

;Name Server Information

@       IN      NS     ns1.itzgeek.local.

;Reverse lookup for Name Server

10      IN      PTR    ns1.itzgeek.local.

;PTR Record IP address to HostName

100     IN      PTR    www.itzgeek.local.
150     IN      PTR    mail.itzgeek.local.

Controlla la sintassi della configurazione di BIND

Usa il comando named-checkconf per controllare la sintassi e i file named.conf* per eventuali errori.

sudo named-checkconf

Il comando tornerà alla shell se non ci sono errori.

Inoltre, puoi utilizzare named-checkzone per controllare gli errori di sintassi nei file di zona.

Zona di andata

sudo named-checkzone itzgeek.local /etc/bind/forward.itzgeek.local.db

Risultato:

zone itzgeek.local/IN: loaded serial 3
OK

Zona inversa

named-checkzone 0.168.192.in-addr.arpa /etc/bind/reverse.itzgeek.local.db

Risultato:

zone 0.168.192.in-addr.arpa/IN: loaded serial 3
OK

Riavvia il servizio di associazione.

sudo systemctl restart bind9

Abilitalo all'avvio del sistema.

sudo systemctl enable bind9

Controlla lo stato del servizio bind9.

sudo systemctl status bind9

Aggiornamento record DNS

Ogni volta che modifichi un record DNS, non dimenticare di modificare il numero di serie nel file di zona e ricaricare la zona.

Modifica itzgeek.local e 0.168.192.in-addr.arpa con i nomi delle tue zone.

### Forward Zone ###

sudo rndc reload itzgeek.local 

### Reverse Zone ###

sudo rndc reload 0.168.192.in-addr.arpa

Verifica server DNS

Vai su qualsiasi macchina client e aggiungi il nostro nuovo indirizzo IP del server DNS nel file /etc/resolv.conf.

sudo nano /etc/resolv.conf

Inserisci una voce come di seguito.

nameserver 192.168.0.10

O

Leggi il tutorial seguente per impostare l'IP del server DNS in Linux.

LEGGI: Come impostare l'indirizzo IP DNS in CentOS / Fedora

LEGGI: Come impostare l'indirizzo IP DNS in Ubuntu / Debian – ifupdown

LEGGI: Come impostare l'indirizzo IP DNS in Ubuntu 18.04 – Netplan

Usa il comando dig per controllare la zona di andata.

dig www.itzgeek.local

Se ricevi il comando non trovato, installa il pacchetto bind-utils.

Risultato:

; <<>> DiG 9.10.3-P4-Ubuntu <<>> www.itzgeek.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18022
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.itzgeek.local.             IN      A

;; ANSWER SECTION:
www.itzgeek.local.      604800  IN      A       192.168.0.100

;; AUTHORITY SECTION:
itzgeek.local.          604800  IN      NS      ns1.itzgeek.local.

;; ADDITIONAL SECTION:
ns1.itzgeek.local.      604800  IN      A       192.168.0.10

;; Query time: 0 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Mon Dec 30 12:42:18 EST 2019
;; MSG SIZE  rcvd: 96

Risposta del server DNS per la ricerca in avanti:192.168.0.100 come indirizzo IP per www.itzgeek.local .

Conferma la ricerca inversa con il comando dig.

dig -x 192.168.0.100

Risultato:

; <<>> DiG 9.10.3-P4-Ubuntu <<>> -x 192.168.0.100
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37122
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;100.0.168.192.in-addr.arpa.    IN      PTR

;; ANSWER SECTION:
100.0.168.192.in-addr.arpa. 604800 IN   PTR     www.itzgeek.local.

;; AUTHORITY SECTION:
0.168.192.in-addr.arpa. 604800  IN      NS      ns1.itzgeek.local.

;; ADDITIONAL SECTION:
ns1.itzgeek.local.      604800  IN      A       192.168.0.10

;; Query time: 0 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Mon Dec 30 12:43:20 EST 2019
;; MSG SIZE  rcvd: 120

Risposta del server DNS per la ricerca inversa:www.itzgeek.local come nome per 192.168.0.100.

Questo risultato conferma che entrambe le ricerche di zona funzionano correttamente.

Conclusione

È tutto. Ora hai configurato correttamente il server DNS su Ubuntu 18.04 /Ubuntu 16.04 come server master. Nel nostro prossimo post, configureremo un server DNS slave su Ubuntu 18.04 /Ubuntu 16.04.


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 VNC su Ubuntu 18.04

  4. Come configurare la replica MySQL Master-Slave su Ubuntu 18.04

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

Come installare e configurare DHCP su Ubuntu 18.04

Come configurare il server DNS (BIND) su CentOS 7 / RHEL 7

Come configurare il server DNS slave (BIND) su Ubuntu 18.04/16.04 e Debian 10/9

Come configurare il server DNS su Debian 10 / Debian 9

Come installare e configurare il server DNS su Ubuntu 16.04 LTS

Come installare il server DNS su Ubuntu 20.04 LTS