GNU/Linux >> Linux Esercitazione >  >> Debian

Come configurare il server DNS su Debian 10 / Debian 9

Domain Name System (in breve, DNS) è un servizio Internet utilizzato per risolvere il nome di dominio in un indirizzo IP e viceversa.

BIND (Berkeley Internet Name Domain) fornisce la funzionalità di conversione da nome a IP.

Questo post ti aiuterà a configurare il server DNS su Debian 10 / Debian 9.

Ambiente

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

Prerequisiti

Aggiorna l'indice del repository.

sudo apt-get update

Assicurati che il server DNS abbia un indirizzo IP statico.

LEGGI :Come configurare l'indirizzo IP statico in Debian

Installa il server DNS

Il nome del pacchetto del server DNS in Debian è bind9 ed è disponibile nel repository di base. Puoi usare il comando apt per installare il pacchetto bind9.

sudo apt-get install -y bind9 bind9utils bind9-doc dnsutils

Configura server DNS

/etc/bind/ è la directory di configurazione di bind9, contiene i file di configurazione ei file di ricerca della zona. Il file di configurazione globale è /etc/bind/named.conf.

Crea zone

Iniziamo creando una zona di inoltro per il tuo dominio.

Non dovresti usare il file di configurazione globale per la zona DNS locale, piuttosto puoi usare il file /etc/bind/named.conf.local.

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

Quanto segue è 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

Una volta create le zone, puoi procedere e creare file di dati di zona per la zona in avanti e la zona inversa.

Zona di andata

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

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 come 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.
;
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     ns1.itzgeek.local. root.itzgeek.local. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
; Commentout below three lines
;@      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.

Zona inversa

Copia le voci di esempio nel file di zona denominato reverse.itzgeek.local.db per la zona inversa nella directory /etc/bind e crea puntatori inversi 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 come 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.
;
; BIND reverse data file for local loopback interface
;
$TTL    604800
@       IN      SOA     itzgeek.local. root.itzgeek.local. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
; Commentout below two lines

;@      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 dei 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 2
OK

Zona inversa

sudo 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 2
OK

Riavvia il servizio di associazione.

sudo systemctl restart bind9

Controlla lo stato del servizio bind9.

sudo systemctl status bind9

Verifica 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

Puoi utilizzare il comando nslookup o dig per verificare il server DNS.

Usa il comando dig per verificare la ricerca in avanti.

dig www.itzgeek.local

Se il comando non è stato trovato, installa bind-utils sui derivati ​​di Red Hat o dnsutils sul pacchetto dei derivati ​​Debian.

Risultato:

; <<>> DiG 9.11.5-P4-5.1-Debian <<>> www.itzgeek.local
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41979
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: c51856f159ddf40dadc13b835e1024a996e2a306d7888afe (good)
;; 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: 1 msec
;; SERVER: 192.168.0.10#53(192.168.0.10)
;; WHEN: Sat Jan 04 05:37:45 UTC 2020
;; MSG SIZE  rcvd: 124

La risposta del server DNS per la ricerca in avanti www.itzgeek.local è 192.168.0.100.

Conferma la ricerca inversa con il comando dig.

dig -x 192.168.0.100

Risultato:

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

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 9806a5ee8f6645c178aa65b25e102530e49ae9a15456fbe1 (good)
;; 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: 192.168.0.10#53(192.168.0.10)
;; WHEN: Sat Jan 04 05:40:00 UTC 2020
;; MSG SIZE  rcvd: 148

La risposta del server DNS per la ricerca inversa 192.168.0.100 è www.itzgeek.local.

Questo risultato conferma che le ricerche della zona in avanti e inversa funzionano correttamente.

Conclusione

È tutto. Hai installato correttamente il server DNS su Debian 10 / Debian 9. Nel nostro prossimo articolo, configureremo il server DNS slave su Debian 10 / Debian 9.


Debian
  1. Come configurare il server FTP su Debian 9 Stretch Linux

  2. Come configurare la condivisione del server Samba su Debian 9 Stretch Linux

  3. Come installare e configurare OpenVPN Server su Debian 10

  4. Come distribuire un server DNS dinamico con Docker su Debian 10

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

Come configurare il server DNS su Ubuntu 18.04 / Ubuntu 16.04

Come configurare server e client NTP su Debian 10

Come installare e configurare Apache Web Server su Debian 11

Come configurare LAMP con Debian 11

Come configurare Samba Server con Debian 11

Come configurare il DNS in Windows Server 2012