GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo configurar el servidor DNS en Debian 10 / Debian 9

El sistema de nombres de dominio (en resumen, DNS) es un servicio de Internet que se utiliza para convertir el nombre de dominio en una dirección IP y viceversa.

BIND (Berkeley Internet Name Domain) proporciona la funcionalidad de conversión de nombre a ip.

Esta publicación lo ayudará a configurar el servidor DNS en Debian 10 / Debian 9.

Medio ambiente

Requisitos

Actualice el índice del repositorio.

sudo apt-get update

Asegúrese de que el servidor DNS tenga una dirección IP estática.

LEER :Cómo configurar una dirección IP estática en Debian

Instalar servidor DNS

El nombre del paquete del servidor DNS en Debian es bind9 y está disponible en el repositorio base. Puede usar el comando apt para instalar el paquete bind9.

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

Configurar servidor DNS

/etc/bind/ es el directorio de configuración de bind9, contiene archivos de configuración y archivos de búsqueda de zona. El archivo de configuración global es /etc/bind/named.conf.

Crear Zonas

Comencemos por crear una zona de reenvío para su dominio.

No debe usar el archivo de configuración global para la zona DNS local, sino que puede usar el archivo /etc/bind/named.conf.local.

sudo nano /etc/bind/named.conf.local

Zona delantera

La siguiente es la entrada de la zona de reenvío para el dominio itzgeek.local en el archivo 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

Lo siguiente es para la zona inversa en el archivo 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.

};

Crear archivo de búsqueda de zona

Una vez que se crean las zonas, puede continuar y crear archivos de datos de zona para la zona de avance y la zona de retroceso.

Zona delantera

Copie las entradas de muestra en el archivo de zona llamado forward.itzgeek.local.db para la zona de reenvío en el directorio /etc/bind.

Tipos de registro en el archivo de zona,

SOA:inicio de autoridad
NS:servidor de nombres
A:registro A
MX:correo para Exchange
CN:canónico Nombre

Los nombres de dominio deben terminar con un punto (.).

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

Edite la zona.

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

Actualice el contenido como se muestra a continuación.

Cada vez que cambie cualquier registro en el archivo de búsqueda, asegúrese de actualizar el número de serie a algún número aleatorio, más alto que el actual.
;
; 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

Copie las entradas de muestra en el archivo de zona llamado reverse.itzgeek.local.db para la zona inversa en el directorio /etc/bind y cree punteros inversos para los registros de zona de avance anteriores.

PTR – Puntero
SOA – Inicio de autoridad

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

Edite el archivo de zona inversa.

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

Actualice el contenido como se muestra a continuación.

Cada vez que cambie cualquier registro en el archivo de búsqueda, asegúrese de actualizar el número de serie a algún número aleatorio, más alto que el actual.
;
; 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.

Comprobar la sintaxis de configuración de BIND

Utilice el comando named-checkconf para comprobar la sintaxis de los archivos named.conf* en busca de errores.

sudo named-checkconf

El comando volverá al shell si no hay errores.

Además, puede usar la zona de verificación nombrada para verificar los errores de sintaxis en los archivos de zona.

Zona delantera

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

Salida:

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

Salida:

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

Reinicie el servicio de vinculación.

sudo systemctl restart bind9

Verifique el estado del servicio bind9.

sudo systemctl status bind9

Verificar DNS

Vaya a cualquier máquina cliente y agregue nuestra nueva dirección IP del servidor DNS en el archivo /etc/resolv.conf.

sudo nano /etc/resolv.conf

Haga una entrada como la siguiente.

nameserver 192.168.0.10

O

Lea el siguiente tutorial para configurar la IP del servidor DNS en Linux.

LEER: Cómo configurar la dirección IP de DNS en CentOS / Fedora

LEER: Cómo configurar la dirección IP de DNS en Ubuntu / Debian – ifupdown

LEER: Cómo configurar la dirección IP de DNS en Ubuntu 18.04 – Netplan

Puede usar el comando nslookup o dig para verificar el servidor DNS.

Use el comando dig para verificar la búsqueda directa.

dig www.itzgeek.local

Si no encuentra el comando, instale bind-utils en los derivados de Red Hat o dnsutils en el paquete de derivados de Debian.

Salida:

; <<>> 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 respuesta del servidor DNS para la búsqueda directa www.itzgeek.local es 192.168.0.100.

Confirme la búsqueda inversa con el comando de excavación.

dig -x 192.168.0.100

Salida:

; <<>> 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 respuesta del servidor DNS para la búsqueda inversa 192.168.0.100 es www.itzgeek.local.

Este resultado confirma que las búsquedas de zona directa e inversa funcionan bien.

Conclusión

Eso es todo. Ha instalado correctamente el servidor DNS en Debian 10/Debian 9. En nuestro próximo artículo, configuraremos el servidor DNS esclavo en Debian 10/Debian 9.


Debian
  1. Cómo configurar el servidor FTP en Debian 9 Stretch Linux

  2. Cómo configurar el recurso compartido del servidor Samba en Debian 9 Stretch Linux

  3. Cómo implementar un servidor DNS dinámico con Docker en Debian 10

  4. Cómo instalar y configurar un servidor DNS simple (BIND) en Debian 9

  5. Cómo configurar un cortafuegos con CSF en Debian 9

Cómo configurar el servidor DNS en Ubuntu 18.04 / Ubuntu 16.04

Cómo configurar el servidor y el cliente NTP en Debian 10

Cómo instalar y configurar el servidor web Apache en Debian 11

Cómo configurar LAMP con Debian 11

Cómo configurar el servidor Samba con Debian 11

Cómo configurar DNS en Windows Server 2012

    Nombre de dominio:itzgeek.local
    ns1.itzgeek.local 192.168.0.10 Servidor DNS maestro