Servidor DNS en Ubuntu 20.04 para WordPress

Por: Carlos Antonio Leal Saballos

El DNS es sin lugar a dudas uno de los servicios más importantes en el mundo de Internet. El DNS es por mucho el alma, nervio y músculo de Internet. Es un sistema que permite usar nombres de dominio en lugar de direcciones IP. La verdad es que un ser humano promedio será incapaz de recordar todos los números IP de todos los servidores que utiliza, no obstante, le resulta sencillo recordar los nombres de dominio.

El servidor DNS se necesita para implementar un servidor con wordpress para escribir el nombre de dominio y no escribir directamente el número IP.

Un video explicativo con el paso a paso de este tutorial lo encuentran aquí:

Requisitos para configurar un servidor DNS

  • Es posible que necesite también un servidor DHCP.
  • Configurar adecuadamente los parámetros de red, en este caso se utiliza 192.168.56.12 para el servidor.
  • Se debe definir apropiadamente el nombre del equipo y del dominio, en este caso el nombre del servidor es webserver y utilizaremos los dominios hipotéticos wordpress.edu.ni
    • Tomar en cuenta que:
      • Si el número IP del servidor es privado, entonces el dominio será privado.
      • Para tener un dominio público se necesita un IP público.
      • En Nicaragua quien autoriza los dominios públicos es el nic.NI (http://www.nic.ni/)

Paso -1 – Abrir un terminar y convertirse en super-usurio

cleal@webserver:~$ sudo -s
Contraseña: 
root@webserver:~#

Paso 0 – Agregar el nuevo servidor DNS en la configuración de red de servidor

nano -c /etc/netplan/00-installer-config.yaml

Ajustemos lo que está en rojo

network:
  ethernets:
   enp0s3:
    dhcp4: true

   enp0s8:
    addresses: [192.168.10.12/24]
    # gateway4: 192.168.10.1
    nameservers:
     search: [wordpress.edu.ni]
     addresses: [192.168.10.12, 192.168.0.1]
version: 2

En Azul la puerta de enlace: Múltiples puertas de enlace pueden causar problemas, en este ejemplo lo dejamos con un comentario o lo eliminamos de una vez.

En verde el segundo servidor DNS debe ser el que nos proporciona el proveedor de servicios de internet

Aplicar cambios en los servicios de red con

netplan apply

Paso 1 – Instalar el software necesario

apt-get update ; apt-get install bind9 dnsutils

Paso 2 – Copia de seguridad

Realizar una copia de respaldo del archivo de configuración original

cp /etc/bind/named.conf.local /etc/bind/named.conf.local.original

Paso 3 – Editar el archivo de configuración principal

nano /etc/bind/named.conf.local

Agregamos al final

zone "wordpress.edu.ni" {
type master;
file "db.wordpress.edu.ni.zone";
};

zone "10.168.192.in-addr.arpa" {
type master;
file "db.192.168.10";
};

Para asegurarnos que el archivo está bien

named-checkconf

Paso 4 – Crear los archivos de zona

Procedamos a crear los (nuevos) archivos de zona, esos archivos contienen los registros del DNS y en Ubuntu se encuentran en el directorio /var/cache/bind/

Creamos el archivo de la zona wordpress.edu.ni

nano /var/cache/bind/db.wordpress.edu.ni.zone

¿Aparece en blanco? ¡No importa! Lo dejamos así:

$ORIGIN wordpress.edu.ni.
$TTL 86400 ; 1 dia
@ IN SOA ns.wordpress.edu.ni. info.wordpress.edu.ni. (
          2020070801 ; serie
          6H ; refresco (6 horas)
          1H ; reintentos (1 hora)
          2W ; expira (2 semanas)
          3H ; mínimo (3 horas)
)

@     IN     NS     ns
@     IN     MX 10  mail
@     IN     A      192.168.10.12 
ns    IN     A      192.168.10.12
mail  IN     A      192.168.10.12
www   IN     A      192.168.10.12
mail  IN     TXT    "v=spf1 a mx a:wordpress.edu.ni ip4:192.168.10.12 -all"

Vale la pena detectar errores en el archivo de zona

named-checkzone wordpress.edu.ni /var/cache/bind/db.wordpress.edu.ni.zone

Ahora la zona de búsqueda inversa

nano /var/cache/bind/db.192.168.10

¿Aparece en blanco? ¡No importa! Lo dejamos así:

$ORIGIN 10.168.192.in-addr.arpa.
$TTL 86400 ; 1 dia
@ IN SOA ns.wordpress.edu.ni. info.wordpress.edu.ni. (
        2020042501 ; serie
        6H ; refresco (6 horas)
        1H ; reintentos (1 hora)
        2W ; expira (2 semanas)
        3H ; mínimo (3 horas)
)

@     IN     NS     ns.wordpress.edu.ni.
12    IN     PTR    ns.wordpress.edu.ni.
12    IN     PTR    mail.wordpress.edu.ni.
12    IN     PTR    www.wordpress.edu.ni.

También es se puede comprobar que la configuración esté bien con:

named-checkzone 10.168.192.in-addr.arpa /var/cache/bind/db.192.168.10

Paso 5 – Re-iniciar Servicios


Servidor DNS

systemctl restart bind9
systemctl status bind9

Paso 6 – Probar la configuración desde el servidor

Con el  dominio interno

nslookup wordpress.edu.ni
Server: 192.168.10.12
Address: 192.168.10.12#53

Name: wordpress.edu.ni
Address: 192.168.10.12

Con un dominio externo

nslookup google.com.ni
Server: 192.168.8.1
Address: 192.168.8.1#53

Non-authoritative answer:
Name: google.com.ni
Address: 172.217.2.195

Felicidades, ya lo tenemos

4 comentarios en “Servidor DNS en Ubuntu 20.04 para WordPress

  1. Hola estimado, todo perfecto con su manual, reinicio el bind9, perfecto hago status y drama, me dice lo siguiente: managed-keys-zone: unable to fetch dnskey set ‘.’:failure.
    Muchas gracias por tu pronta ayuda

    Me gusta

Deja un comentario

Este sitio utiliza Akismet para reducir el spam. Conoce cómo se procesan los datos de tus comentarios.