Servidor DNS en Ubuntu 16.04 para Zimbra

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.

Es muy importante configurar bien el servidor DNS para correr el servidor de correo con Zimbra adecuadamente. Especialmente la creación de los registros MX y SPF. En estas líneas voy a explicar el procedimiento para configurar un servidor DNS básico que permite funciona bien para un servidor Zimbra

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.10 para el servidor.
  • Se debe definir apropiadamente el nombre del equipo y del dominio, en este caso el nombre del servidor es mail y utilizaremos los dominios hipotéticos ubuntu.edu.ni
    • Tomar en cuenta que:
      • Si el número IP del servidor es privado, entonces el dominio será privado.
      • Al usar un IP público el dominio será público.
      • En Nicaragua quien autoriza los dominios públicos es el nic.NI (http://www.nic.ni/)

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

cleal@tserver:~/Escritorio$ sudo -s
Contraseña: 
root@tserver:~#

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 "ubuntu.edu.ni" {
type master;
file "db.ubuntu.edu.ni.zone";
};

zone "56.168.192.in-addr.arpa" {
type master;
file "db.192.168.56";
};

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 ubuntu.edu.ni

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

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

$ORIGIN ubuntu.edu.ni.
$TTL 86400 ; 1 dia
@ IN SOA ns.ubuntu.edu.ni. info.ubuntu.edu.ni. (
          2020042501 ; 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.56.10 
ns    IN     A      192.168.56.10
mail  IN     A      192.168.56.10
www   IN     A      192.168.56.10
mail  IN     TXT    "v=spf1 a mx a:ubuntu.edu.ni ip4:192.168.56.10 -all"

Vale la pena detectar errores en el archivo de zona

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

Ahora la zona de búsqueda inversa

nano /var/cache/bind/db.192.168.56

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

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

@     IN     NS     ns.ubuntu.edu.ni.
10    IN     PTR    ns.ubuntu.edu.ni.
10    IN     PTR    mail.ubuntu.edu.ni.
10    IN     PTR    www.ubuntu.edu.ni.

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

named-checkzone 56.168.192.in-addr.arpa /var/cache/bind/db.192.168.56

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

nano /etc/network/interfaces

agregamos una línea al final

dns-nameservers 192.168.56.10

Paso 6 – Re-iniciar el servicio

systemctl restart networking bind9
systemctl status networking bind9

Paso 7 – Editar el resolv.conf

nano /etc/resolv.conf
Nos aseguramos que nuestro servidor sea el primer DNS
nameserver 192.168.56.10
nameserver 192.168.8.1

Paso 8 – Probar la configuración desde el servidor

Con el  dominio interno
nslookup ubuntu.edu.ni
Server: 192.168.56.10
Address: 192.168.10.10#53

Name: ubuntu.edu.ni
Address: 192.168.56.10

Con un dominio externo
root@tserver:/var/cache/bind# 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

root@tserver:/var/cache/bind#

Configurar red en Ubuntu 16.04 para correr zimbra

Antes de empezar

Hay ciertos requisitos que se deben cumplir para configurar un servidor de correo con zimbra, en estas líneas explicaré cómo configurar los parámetros de red en Ubuntu 16.04 para correr zimbra.

Lo primero que debemos tener claro es que necesitamos un número IP estático, puede ser público o privado.

También necesitamos un dominio, el cual también puede ser público o privado.

Si el dominio y el número ip son privados, se puede utilizar el servidor de correo con zimbra en una red interna, no va a poder enviar y recibir correos desde y hacia Internet.

Si hemos comprado un domino y disponemos de un rango de direcciones ip públicas, entonces el servidor de correo con zimbra estará en la capacidad de enviar y recibir correos de otros dominios públicos de internet.

Paso 0 – Iniciar sesión y convertirse en root

Antes que nada se debe iniciar sesión, de forma pre-determinada, ubuntu server tiene desactivado al usuario administrador. por eso se debe iniciar sesión con un usuario cualquiera luego convertirse en root con el comando sudo -s, tal y como se muestra en la figura.

Paso 1 – Cambiar el nombre de host y dominio

Vamos a ver como cambiar el nombre de máquina de forma sencilla, en esta caso vamos a utilizar el dominio hipotético ubuntu.edu.ni, editamos el archivo hostname

nano /etc/hostname

lo dejamos así

mail.ubuntu.edu.ni

ahora vamos a editar el archivo hosts

nano -c /etc/hosts

Debe quedar así

127.0.0.1       localhost
192.168.56.10   mail.debian.edu.ni     mail

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Paso 2 – Configurar número IP

Primero hacer es respaldo del archivo de configuración original

cp /etc/network/interfaces /etc/network/interfaces.bk

Ahora si modificar la configuración

nano /etc/network/interfaces

En este caso, vamos a tener el primer adaptador por DHCP, el segundo adaptador será con ip estático. Como el primer adaptador ya está configurado, simplemente, agregamos al final

auto enp0s8
iface enp0s8 inet static
address 192.168.56.10
netmask 255.255.255.0
network 192.168.56.0
broadcast 192.168.56.255

Paso 3 – Aplicar la configuración 

Lo más fácil es re-iniciar (una de las pocas veces que lo recomiendo en Linux)

reboot

una vez que reinicio el equipo comprobamos con hostname, el resultado debería ser similar a este

root@mail:~# hostname
mail.ubuntu.edu.ni
root@mail:~#

Lugo el comando ifconfig para ver la configuraicón de la red

ifconfig

el resultado debe ser similar a esto

Felicidades, hemos completado adecuadamente la Configurar red en Ubuntu 16.04 para correr zimbra