GNU/Linux >> Tutoriales Linux >  >> Ubuntu

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

El sistema de nombres de dominio (DNS) es la raíz de Internet que traduce el nombre de dominio a una dirección IP y viceversa. El paquete BIND9 (Berkeley Internet Name Domain) proporciona la funcionalidad de conversión de nombre a IP.

Esta publicación lo guiará para configurar el servidor DNS en Ubuntu 18.04 /Ubuntu 16.04.

Medio ambiente

Configurar servidor DNS en Ubuntu 18.04/Ubuntu 16.04

Requisitos

Actualice el índice del repositorio.

sudo apt update

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

LEER: Cómo configurar la dirección IP estática en Ubuntu 18.04 / Ubuntu 16.04 usando ifupdown

Si está utilizando Netplan:una nueva herramienta de red para configurar la red en Ubuntu 18.04, entonces.

LEER :Cómo configurar una dirección IP estática en Ubuntu 18.04 usando Netplan

Instalar servidor DNS

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

sudo apt install -y bind9 bind9utils bind9-doc dnsutils

Configurar servidor DNS

El directorio /etc/bind/ es el directorio de configuración principal del servidor DNS y contiene archivos de configuración y archivos de búsqueda de zona.

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

Crear Zonas

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

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

Las siguientes entradas son 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 haya creado zonas, puede seguir adelante y crear archivos de datos de zona que contengan registros DNS para la zona directa y la zona inversa.

Archivo de búsqueda de zona avanzada

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

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 que 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.
$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.
Archivo de búsqueda de 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 que se muestra a continuación.

Cada vez que cambie algún registro DNS 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.
$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.

Comprobar la sintaxis de configuración de BIND

Utilice el comando named-checkconf para comprobar la sintaxis y 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 3
OK

Zona inversa

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 3
OK

Reinicie el servicio de vinculación.

sudo systemctl restart bind9

Habilítelo al iniciar el sistema.

sudo systemctl enable bind9

Verifique el estado del servicio bind9.

sudo systemctl status bind9

Actualización de registros DNS

Siempre que cambie un registro DNS, no olvide cambiar el número de serie en el archivo de zona y volver a cargar la zona.

Cambie itzgeek.local &0.168.192.in-addr.arpa con sus nombres de zona.

### Forward Zone ###

sudo rndc reload itzgeek.local 

### Reverse Zone ###

sudo rndc reload 0.168.192.in-addr.arpa

Verificar servidor 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

Utilice el comando de excavación para comprobar la zona delantera.

dig www.itzgeek.local

Si no encuentra el comando, instale el paquete bind-utils.

Salida:

; <<>> 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

La respuesta del servidor DNS para la búsqueda directa:192.168.0.100 como dirección IP para www.itzgeek.local .

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

dig -x 192.168.0.100

Salida:

; <<>> 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

La respuesta del servidor DNS para la búsqueda inversa:www.itzgeek.local como nombre de 192.168.0.100.

Este resultado confirma que ambas búsquedas de zona funcionan bien.

Conclusión

Eso es todo. Ahora ha configurado correctamente el servidor DNS en Ubuntu 18.04 / Ubuntu 16.04 como servidor maestro. En nuestra próxima publicación, configuraremos un servidor DNS esclavo en Ubuntu 18.04 /Ubuntu 16.04.


Ubuntu
  1. Cómo instalar y configurar un servidor NFS en Ubuntu 20.04

  2. Cómo instalar y configurar VNC en Ubuntu 20.04

  3. Cómo instalar y configurar VNC en Ubuntu 18.04

  4. Cómo configurar la replicación maestro-esclavo de MySQL en Ubuntu 18.04

  5. Cómo instalar y configurar el servidor DHCP en Ubuntu 20.04

Cómo instalar y configurar DHCP en Ubuntu 18.04

Cómo configurar el servidor DNS (BIND) en CentOS 7 / RHEL 7

Cómo configurar el servidor DNS esclavo (BIND) en Ubuntu 18.04/16.04 y Debian 10/9

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

Cómo instalar y configurar el servidor DNS en Ubuntu 16.04 LTS

Cómo instalar el servidor DNS en Ubuntu 20.04 LTS

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