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!