Instalar un servidor DNS con TinyDNS (djbdns)
25/08/2006Hace 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: