Tutorial: Cómo instalar un servidor DNS en Ubuntu Server

Buen lunes para todos! Hoy les voy a mostrar cómo configurar un servidor DNS en Ubuntu Server.

En algunas notas anteriores ya habíamos hablado de los DNS y de lo que hacen. También les mostré cómo configurar los registros DNS desde el panel de control del WebHosting. Pero si tenés unos cuantos VPS y querés armar una red interna para , por ejemplo, un entorno de desarrollo o simplemente para revender servicios teniendo un control total de los dominios, este tutorial es para vos.

El servidor que se elige para esta tarea -por excelencia- es BIND. Así que Bind es lo que vamos a instalar y configurar. Comencemos.

Debemos conectarnos a nuestro servidor mediante SSH, recuerda que puedes usar Putty en Windows, o la terminal en Linux y Mac.

ssh root@miservidor.com

Antes de instalar BIND vamos a actualizar los repositorios en nuestro sistema; para eso ejecutamos:

sudo apt-get install update

Luego procedemos a instalar BIND con el siguiente comando:

sudo apt-get install bind9 bind9utils bind9-doc

Una vez instalado, vamos a poner a BIND en modo IPv4, editando el siguiente archivo de esta manera:

sudo nano /etc/default/bind9

Una vez abierto el archivo, buscamos la variable OPTIONS y hacemos que quede de la siguiente manera:

OPTIONS="-4 -u bind"

Listo, ya tenemos instalado BIND… Pero acá no se termina esto, ahora hay que configurarlo.

Configurando una zona DNS en BIND

Ahora bien, BIND no tiene solamente un archivo de configuración sino varios, aunque hay uno que los invoca a todos. Ese archivo en cuestión es named.conf.

De todos modos, primero vamos a configurar los Forwarders. Esto permite que, si el servidor DNS no encuentra un registro y no resuelve una dirección, el mismo sea capaz de consultar a otros servidores DNS. Para hacer esto, vamos a tocar el archivo named.conf.options.

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

Una vez abierto, buscamos la siguiente directiva dentro del archivo:

 forwarders

Y abajo especificamos algunos servidores DNS externos, como el de Google por ejemplo u otro, quedando esa parte del archivo de la siguiente manera:

        forwarders {
                8.8.8.8;
                8.8.4.4;
        };
...
};

Una vez hecho esto crearemos una zona. Para eso debemos crear una carpeta en la cual esas zonas serán guardadas.

sudo mkdir /etc/bind/zones

Ahora bien, atención a los siguientes pasos. Vamos a crear un archivo donde guardaremos nuestros registros DNS:

sudo nano /etc/bind/zones/db.ns1.midominio.com

El archivo que se abrirá estará vacío; nosotros tenemos que crear algo como este ejemplo:

$TTL    604800
@       IN      SOA     localhost. root.localhost. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      localhost.      ; delete this line
@       IN      A       127.0.0.1       ; delete this line
@       IN      AAAA    ::1             ; delete this line

Si les queda cómodo, péguenlo en el archivo para poder guiarse mejor al hacer las modificaciones.

Ahora, lo primero que debemos modificar de este archivo es el SOA y lo que pondremos ahí es el FQDN o el nombre completo de nuestro host, que debería llamarse ns1.midominio.com. Si aún no configuraste eso, tomate un minuto y leete este tutorial.

Ahora bien, tu servidor ahora se llama ns1.midominio.com? Perfecto, sigamos.

Como les decía, el SOA debe tener el nombre completo de tu equipo, en nuestro caso, esa parte va a quedar de la siguiente manera:

$TTL    604800
@       IN      SOA     ns1.midominio.com root.ns1.midominio.com (

Hecho esto, borramos los registros que aparecen como @ IN NS y creamos los nuestros. ¿Cómo? Muy fácil! Primero, nos especificaremos a nosotros mismos como NS. Para eso, en el archivo pondremos lo siguiente:

; name servers - NS records
     IN      NS      ns1.midominio.com.

No olvides el punto (.) al final.

Una vez hecho esto, vamos a crear registros A donde indiquemos qué dirección IP es ns1.midominio.com, quedando de la siguiente manera:

; name servers - A records
ns1.midominio.com.          IN      A       181.121.254.x

Esa dirección IP de arriba deberá reemplazarse por la dirección IP de tu Cloud Server.

Por último, en ese archivo vamos a específicar los host que queremos que nuestro servidor DNS resuelva hacia una determinada dirección, lo cual quedará más o menos así:

; A records
host1.midominio.com. IN A 10.128.100.101
host2.midominio.com. IN A 10.128.200.102
host3.otrodominio.com IN A 10.128.200.102

Nuestro resultado final de la zona de DNS debería quedar algo así:

$TTL    604800
@       IN      SOA     ns1.midominio.com root.ns1.midominio.com (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL

; name servers - A records
ns1.midominio.com.          IN      A       181.121.254.x

; A records
host1.midominio.com.        IN      A      10.128.100.101
host2.midominio.com.        IN      A      10.128.200.102
host3.otrodominio.com       IN      A      10.128.200.103

Si ya terminamos de configurar los registros, vamos a reiniciar BIND y lo hacemos de la siguiente manera:

sudo service bind9 restart

Por último, y para ir cerrando, si quieren usar el servidor DNS ustedes mismos o desde afuera sólo deben especificar -en ese servidor- el servidor DNS que acabamos de configurar.

Espero que este tutorial te haya gustado. Si tenés alguna duda o consulta podés registrarte y comentar aquí abajo, o bien podés contactarte con a Soporte Técnico desde el área de clientes. Buena semana para todos!

Deja una respuesta