Instalación y configuración básica de un servidor DNS con Bind9 en Ubuntu 14.04

Lo primero será instalar el paquete bind9

sudo apt-get install bind9

Un paquete importante para poder realizar troubleshooting de DNS es el paquete dnsutils. En la mayoría de veces, con la instalación anterior va incluído, pero sino…

sudo apt-get install dnsutils

a. Configuración de un Caching Nameserver

Es la configuración más sencilla y comúnmente utilizada en PYMES que no alberguen su propio datacenter ya que el servidor en realidad sólo hace cacheo de otro servidor DNS.

Todo lo que se necesita es saber la IP del servidor DNS del ISP.

Para configurar, necesitamos editar el archivo /etc/bind/named.conf.options

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

Dentro del archivo, hay una parte donde se encuentra pero esta “comentareado” (o sea, inicia con un “;” ó «#» y ésta línea es ignorada). Hacer las modificaciones necesarias para que quede así:

forwarders {
8.8.8.8;
};

Para que surta efecto, se debe reiniciar el servicio dns, o sea, reiniciar el demonio bind9.

sudo service bind9 restart

Para probar el servicio debemos hacer uso del comando dig ó nslookup, entonces haremos un par de pruebas. digitamos:

dig www.lapagina.com.sv

Debería mostrar algo similar a esto:

01

Podemos observar 2 registros DNS: CNAME (llamado Alias también) y registro A (Host)

 

b. DNS Primary Master

Ahora, configuraremos bind9 como el principal servidor DNS (Primary Master) para el dominio minombre.net

Forward Zone (o Zona directa)

Para añadir una zona DNS en bind9 y así volverlo como el servidor primario, lo primero que debemos hacer es entrar y editar el archivo /etc/bind/named.conf.local

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

Deberá de agregar lo siguiente:

zone «minombre.net» {
type master;
file «/etc/bind/db.minombre.net»;
};

 

Ahora, utilizaremos un template para crear el archivo de configuración. Copiar el archivo /etc/bind/db.local a /etc/bind/db.minombre.net

sudo cp /etc/bind/db.local /etc/bind/db.minombre.net

Editamos dicho archivo (db.minombre.net)…

sudo nano /etc/bind/db.minombre.net

… y debemos tener una configuración similar a esta (parametrizar de esa forma):

;
; BIND data file for minombre.net
;
$TTL    604800
@    IN    SOA    minombre.net. root.minombre.net. (
2014021701        ; Serial
604800             ; Refresh
86400                 ; Retry
2419200            ; Expire
604800 )           ; Negative Cache TTL
IN    A    192.168.1.10 ; La IP real del servidor Ubuntu!
;
@    IN    NS    ns.minombre.net.
@    IN    A    192.168.1.10
@    IN    AAAA    ::1
ns    IN    A    192.168.1.10

 

Una vez terminada la configuración y después de habernos asegurado de que los detalles son correctos, debemos reiniciar el servicio dns:

sudo service bind9 restart

 

Reverse Zone File

Ahora que el servidor puede resolver nombres a direcciones IP, es importante crear una Reverse zone para que pueda resolver direcciones IP a nombres.

Para tal efecto debemos configurar nuevamente el archivo named.conf.local que ya se modificó antes:

sudo /etc/bind/named.conf.local

Se deberá de añadir lo siguiente a la configuración ya existente:

zone «1.168.192.in-addr.arpa» {
type master;
file «/etc/bind/db.192»;
};

 

Se debe reemplazar 1.168.192 con los primeros 3 octetos de la red en la que esta el servidor DNS y eso implica que el próximo archivo tenga un nombre correcto. En nuestro caso, dado que se esta usando ésa red, se deberá de ingresar exactamente como esta en éste ejemplo.

Ahora debemos crear el archivo db.192

Básicamente, copiaremos el archivo /etc/bind/db.127  en  /etc/bind/db.192

sudo cp /etc/bind/db.127 /etc/bind/db.192

A continuación, editamos ese archivo casi con las mismas opciones que el
/etc/bind/db.minombre.net:

;
; BIND reverse data file for local 192.168.1.XXX net
;
$TTL 604800

@    IN    SOA    ns.minombre.net. root.minombre.net. (
2014021701        ; Serial
604800        ; Refresh
86400            ; Retry
2419200        ; Expire
604800 )        ; Negative Cache TTL
;
@    IN    NS    ns.
10    IN    PTR    ns.minombre.net.

 

Por cada registro que se tenga en db.minombre.net, debemos crear un registro PTR en este archivo.

Ahora debemos reiniciar el servidor DNS

sudo service bind9 restart

 

Resumen

Ahora sí. Se debe de modificar /etc/bind/db.minombre.net   para cuando se quiera agregar un registro DNS en la zona directa. O sea, sirve para poder hacerle consultas al DNS sobre qué IP tiene un nombre de host de dominio específico.

Luego, se debe debe de modificar el archivo /etc/bind/db.192  para cuando se quiera agregar un registro PTR en la zona reversa. O sea, sirve para poder hacerle consultas al DNS sobre qué nombre de dominio tiene una dirección IP específica.

01

Comentarios por Facebook

comentarios

6 respuestas a “Instalación y configuración básica de un servidor DNS con Bind9 en Ubuntu 14.04”

  1. excelente. Lo realizé de inicio a fin sin problemas. terminé con un monton de dudas pero logre ejecutarlo. Gracias por compartir tus conocimientos. Saludos desde México.

  2. Buen tutorial, pero no entiendo como puedo tener mis propios dns de mi vps,… asi como el cpnel?
    dns1.miip
    dns2.miip

    Por ahora estoy usando de esta forma.
    tengo 3 wordpress instalados, los dominios apunta A record , IP,,,,,
    Pero no uso dns,,,, esto esta bien ò mal?

    saludos soy novato.

    • ¡Hola! En tu caso, creo que tendrías que tener un server del lado de Internet, con una IP Pública configurada y pues tendrías que tener la autoridad de la zona, pero realmente para lo que entiendo que lo necesitas, basta con los DNS’s que te da el proveedor… Espero haber aclarado algo jajajj ¡Saludos!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*