Configuraré BIND en Debian como servidor DNS de un domino propio, con tal que responda y resuelva ante la peticion de ejemplo http://www.rodrigo.cl

Instalando Bind
No es nada complicado, simplemente:

apt-get install bind

Configurando BIND
Los archivos de configuracion se encuentran en la ruta /etc/bind/

Editaremos el archivo named.conf por lo que primero haremos una copia de seguridad de dicho archivo para luego copiarlo:

cp /etc/bind/named.conf /etc/bind/named.conf.old

Al final del archivo named.conf agregamos lo siguiente:

zone “rodrigo.cl” {
type master;
file “/etc/bind/db.rodrigo.cl”;
};

Luego de esto, crearemos un ficher db para nuestro dominio a partir del db.localhost:

cp /etc/bind/db.local /etc/bind/db.rodrigo.cl

A continuación, editaremos el archivo recien creado db.rodrigo.cl , para poder indicarle al DNS server como debe resolver las peticiones:

En el interior del archivo debe quedar algo asi:

;
; BIND data file for local loopback interface
;
$TTL 600
cosmicbowling.cl. IN SOA dns.cosmicbowling.cl. root.localhost. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL

IN NS dns.cosmicbowling.cl.
IN A 201.238.244.7
IN MX 5 mail.cosmicbowling.cl.
dns IN A 201.238.244.7
mail IN A 201.238.244.7
www IN CNAME cosmicbowling.cl.
ftp IN CNAME dns
webmail IN CNAME dns

Reiniciando el servidor para quelos cambios de configuración tengan efecto
Lo haremos con el comando:

/etc/init.d/bind restart

Testeando el DNS Server a nivel local

Al poner el comando dig @localhost rodrigo.cl , este deberia responder con algo por el estilo:

; < <>> DiG 9.2.1 < <>> @localhost
;; global options: printcmd
;; Got answer:
;; ->>HEADER< <- opcode: QUERY, status: NOERROR, id: 63073 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;rodrigo.cl. IN A ;; ANSWER SECTION: rodrigo.cl. 604800 IN A 80.80.80.80 ;; AUTHORITY SECTION: rodrigo.cl. 604800 IN NS dns.rodrigo.cl. ;; ADDITIONAL SECTION: dns.rodrigo.cl. 604800 IN A 80.80.80.80

El servidor ya se encuentra funcionando, pero si el servidor DNS se encuentra al interior de una red LAN (Tras un router), hay que ingresar al router y configurar un redireccionamiento de peticiones segun el puerto, es decir, hay que configurarlo de tal manera que cualquier peticion hacia el puerto 53 (puerto DNS) debe ser redirigida hacia la dirección IP interna donde se encuentra el DNS server. Una vez hecho esto, ya podemos resolver http://www.rodrigo.cl desde cualquier parte del mundo con nuestro servidor DNS

Suerte

NOTA: para hacer subdominios se hace asi

mcbrain 30M CNAME rzamoran.dnsalias.net.

Ingeniero, enfocado en la familia y el cliente, emprendiendo y capitalizando lo aprendido por años.

Dedico algo de tiempo a compartir con ustedes mis experiencias sobre informática y tecnología porque en mas de una ocasión fui yo quien aprendí de otros a través de sitios como este.

10 Comments

  1. Molasar

    Reply

    Rodrigo:

    Sigo estancado con ese problema. Mencionas que el router que tengo es para el hogar… tal vez el problema sea ese… que por ser para uso doméstico ese router carezca de alguna función.

    Dime, ¿qué router me recomendarías?

    Gracias.

  2. Reply

    Entiendo:

    Considerando que el router que tienes es para el hogar, depende de cada modelo el como configurarlo. Nunca he configurado ese modelo especifico, sin embargo mi experiencia utilizando routers d-link caseros me dice que en muchos casos, es el mismo router el que no te permite llegar a servicios dentro de la misma LAN, esto es producto del firewall que trae integrado, por lo que yo opto por borrar o deshabilitar completamente las reglas. (Al menos eso ocurre cuando utilizas la interfaz wireless para acceder al equipo que presta servicio)

    Otra opción quizás es dejarlo en la DMZ y apuntar los clients LAN a la IP publica del router, lo que se dificulta cuando tienes direccionamiento dinámico en el exterior.

    Te sugiero deshabilitar el firewall del router por completo, ya que como viene, solo deja hacer ping, sin embargo no da acceso a servicios aunque estén en la misma red, lo mismo ocurre si pones un FTP en dicha máquina, tampoco te dejará conectar si usas un servidor pasivo.

    Prueba eso y cuentas como te va.

    PD: Asumo que no hay iptables configurado en linux donde usas bind y el parámetro allow-query de bind está seteado como any

  3. Molasar

    Reply

    @Rodrigo Zamora

    Disculpa por no haber dado más datos, estoy utilizando un router DLINK-2640B, la estructura de mi red es como la siguiente:

  4. Molasar

    Reply

    Hola.

    Gracias por el tutorial, configuré el bind y mi servidor se ve perfectamente desde el exterior, pero los clientes de mi LAN no lo ven.

    Podrías decirme en qué opciones de router debo configurar el redireccionamiento de peticiones segun el puerto 53?

    Gracias!

  5. Jonathan

    Reply

    Mil gracias, no sabes del apuro que me acabas de sacar, mi servidor tenia malo el named.conf, tenia varias webs offline, de nuevo mil gracias!

  6. Reply

    ¿Como? ¿Sin poder conectarte?

    Supongo que es sin poder resolver …..

    Una cosa importante son los espacios, si no me equivoco, BIND necesita tabulaciones en las configuraciones y no simples espacios hechos con la barra

  7. owis

    Reply

    LLegué por casualidad a tu sitio, buscando información de configuración de BIND.

    Hice los pasos de tu post. Pero aún sigo sin poder conectarme…

    Pordrias hecharme una mano?

    Mi correo es bcabezasr[A]gmail
    o mi skype es owis_01

    saludos

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.