Sigueme en Twitter
«Anterior | Siguiente»

Instalar un servidor DNS con TinyDNS (djbdns)

25/08/2006

Hace tiempo escribi una serie de howto’s para la empresa en donde hospedo mis sitios, los voy a ir traduciendo y extendiendo poco a poco en mi blog por si les interesa.

Esta instalación la hize en Gentoo Linux, pero fácilmente la puedes adaptar para tu distribución de linux favorita.

1. Introducción

Un servidor DNS o Servidor de Nombre de Dominios (Domain Name Server) es utilizado para asociar un nombre (dominio) a una dirección IP, el objetivo de esto es que personas como tu y yo no tengamos que recordar cosas del tipo 64.233.187.99, sino que podemos recordar el simple google.com y listo. Dicho esto, los nombres de dominio fueron pensados para hacernos la vida mas fácil a nosotros, a una computadora le da igual.

En este momento existen 2 principales competidores para servidores DNS en el mundo del código libre, BIND y djbdns (también conocido como TinyDNS), siendo este último mas famoso por su sencilla y rapida configuración, asi como por ser mas ligero en memoria. BIND es mas usado todavia, pero ya se esta dejando ver su edad, ojala pronto le den una pulida. En lo personal uso TinyDNS, si bien no tiene demasiada carga, nunca me da problemas.

2. Instalación

Primero que nada, si aún no lo tienes, hay que instalar svscan que sirve como seguridad extra, por si algún dia se cae el TinyDNS que lo vuelva a levantar aútomaticamente.

emerge supervise-scripts

Ahora agregamos svscan al nivel de boteo de default, para que inicie cada vez que el servidor lo haga e iniciamos el servicio (puedes usar la herramienta eselect tambien si asi lo prefieres)

rc-update add svscan default
/etc/init.d/svscan start

ahora podemos hacer la instalación de TinyDNS

emerge djbdns

¿dificil? ¿a poco no es portage una maravilla? :)

3. Configuración

Lo primero que tenemos que hacer es que TinyDNS se ligue a una dirección IP que tengamos en nuestro servidor, con los usuarios tinydns y dnslog que fueron creados durante la instalación, recuerda reemplazar 1.2.3.4 con tu dirección IP!

tinydns-conf Gtinydns Gdnslog /etc/tinydns 1.2.3.4

despues creamos un soft link para que svscan se encargue de cuidar nuestro servidor

ln -s /etc/tinydns /service/tinydns

djbdns tiene una característica de cacheado, para hacer las cosas mas rápidas en un futuro, como mi servidor no es de gran demanda, no lo utilizo, pero vale la pena checarlo si tienes problemas de velocidad.

ahora es tiempo de crear nuestro primer registro, asi que lo relacionamos con nuestra IP y ejecutamos make para asegurar que se cumplan los cambios

cd /service/tinydns/root
./add-ns example.com 1.2.3.4
make

básicamente ya esta funcionando tu dominio, pero seguramente tendras que pulirlo mucho mas para apuntar a servicios como el email, tus direcciones del servidor dns o hacer subdominios, esto lo logras modificando el archivo /service/tinydns/root/data, como ejemplo puedes tomar esta configuración basica

Zexample.com:example.com.:example.com.:2005100111:28800:7200:604800:3600:3600
#servidor de dominio
&example.com::ns1.example.com.:3600
&example.com::ns2.example.com.:3600
#dominio completo
=example.com:1.2.3.4:3600
#record MX (mail)
example.com:1.2.3.4:a::60
#adicionales
+mail.example.com:1.2.3.4:3600
+ns1.example.com:1.2.3.4:3600
+ns2.example.com:1.2.3.4:3600
+www.example.com:1.2.3.4:3600

siempre recuerda ejecutar make despues de hacer cambios.

Eso es todo lo que se necesita para correr un servidor de dominios, ya tienes la base, extiendelo a tu gusto ya no dependes de los servicios de alguien mas!

Para referencia, dnsreport es un buen servicio que te dira que configuraste bien o mal, no olvides usarlo.


Hay 6 comentarios:

  1. 9/01/2008RaPhaeL dice:

    Me interesaba esta info
    =D

  2. 19/02/2008Ivannia Calvo dice:

    Cómo se hace una cuenta UNUX, para Gtinydns y Glogdns (o para un programa en especial)? Hice lo que recomiendas, y ahora quiero ponerlo a “correr”… para eso estoy siguiendo lo que dice este manual: http://cr.yp.to/djbdns/run-server.html; y es en este punto en donde digo, “y ahora qué?

  3. 19/02/2008pablasso dice:

    las cuentas se crean con useradd, pero no necesitas crearlas, cuando instalas djbdns se crean automáticamente

  4. 9/08/2008martins dice:

    esta info es interesante, pero como critica constructiva, creo que estas obviando algunos detalles o pasos necesarios

  5. 13/09/2008fer dice:

    y de donde bajo TinyDNS

  6. 16/09/2008pablasso dice:

    Lo encuentras en los repositorios de casi toda distribución popular, también los fuentes los puedes encontrar aquí:

    http://cr.yp.to/djbdns/install.html

Escribe tu comentario:

¿Escribiste código?


  Los mas frikis pueden suscribirse a los comentarios por RSS.