tinyDNS – Configurando y agregando dominios en Linux

Dominios con TinyDNS

En este articulo hablamos de como configurar dominios en TinyDNS, pero es la continuacion de Como instalar el servidor de nombres de dominio djbdns en Linux Debian/Ubuntu,

Usando el servicio dnscache

Para utilizar dnscache reemplazamos los servidores de nombres por la dirección local 127.0.0.1 en el archivo /etc/resolv.conf, esta dirección es donde dnscache está escuchando o esperando conexiones.

En las siguientes líneas haremos una copia del archivo y luego insertamos nuestro propio dominio:

cp /etc/resolv.conf /etc/resolv.conf.original
echo "domain example.com" > /etc/resolv.conf
echo "nameserver 127.0.0.1" >> /etc/resolv.conf

Ahora para hacer la prueba de la funcionalidad de dnscache, comprobamos al tratar de resolver un host remoto:

dnsip www.youtube.com

Si al ejecutar el comando anterior nos despliega un error como el siguiente, es debido a que no hemos instalado el software necesario.

The program 'dnsip' can be found in the following packages:
 * dbndns
 * djbdns
Try: sudo apt-get install <selected package>
bash: dnsip: command not found

Configuración de tinydns

Todos los registros de tinydns están guardados en el archivo /service/tinydns/root/data. Este archivo puede ser editado a mano, o con la utilización de los scripts en el directorio /service/tinydns/root (add-ns, add-host, add-alias).

Creación de registros de dominio en tinydns

Procederemos a crear los registros para el dominio, para utilizar los scripts de tinydns debemos ingresar al directorio:

cd /service/tinydns/root

Ahora quiero que este servidor con la direccion IP 192.168.1.1 sea el servidor de nombres para el dominio, ejecutamos desde la consola de linux:

./add-ns midominio.com 192.168.1.1

Los nombres son automáticamente asignados por add-ns, según el parámetro [a-z].ns.name. En nuestro ejemplo, el servidor de nombres 192.168.1.1 ha sido nombrado a.ns.midominio.com (no es necesario agregar el registro A para a.ns.midominio.com, esto ha sido creado automaticamente por el comando add-ns anterior)

Ahora el servidor con la direccion IP 192.168.1.10 sera nuetro servidor alterno o redundante de nombres de dominios para el dominio midominio.com – este sra b.ns.midominio.com:

./add-ns midominio.com 192.168.1.10

Ahora creamos los registros A para los servidores donde esta hospedado midominio.com – llamemosles server1.midominio.com y server2.midominio.com:

./add-host server1.midominio.com 192.168.1.1
./add-host server2.midominio.com 192.168.1.10

Para crear más nombres de máquinas que utilizan la misma dirección IP debemos utilizar el comando add-alias:

./add-alias www.midominio.com 192.168.1.1
./add-alias midominio.com 192.168.1.1

Ahora configuremos 192.168.1.1 para que sea el servidor de intercambio de correo para midominio.com:

./add-mx midominio.com 192.168.1.1

El nombre del servidor SMTP no se especifica directamente, los nombres son agregados automáticamente por el comando add-mx siguiendo el patrón [a-z].mx.name, en nuestro caso de ejemplo a.mx.midominio.com. No es posible especificar la distancia o prioridad del servidor SMTP

Luego que hemos creado todos los registros, debemos ejecutar

make

Para que los cambios tengan efecto.

No existen scripts para crear registros CNAME y TXT para registros SPF, por lo cual debemos modificar /service/tinydns/root/data manualmente de la siguiente manera:

vi /service/tinydns/root/data
[...]
'midominio.com:v=spf1 a mx ~all:3600
Cftp.midominio.com:www.midominio.com

Para ayudar con los registros SPF para el dominio vean . Recuerden ejecutar make después de los cambios.

Si vemos en el archivo /service/tinydns/root/data

cat /service/tinydns/root/data
server1:/service/tinydns/root# cat /service/tinydns/root/data
.midominio.com:192.168.1.1:a:259200
.midominio.com:192.168.0.101:b:259200
=server1.midominio.com:192.168.1.1:86400
=server2.midominio.com:192.168.0.101:86400
+www.midominio.com:192.168.1.1:86400
+midominio.com:192.168.1.1:86400
@midominio.com:192.168.1.1:a::86400
'midominio.com:v=spf1 a mx ~all:3600
Cftp.midominio.com:www.midominio.com
server1:/service/tinydns/root#

Podrán darse cuenta que los registros inician con signos como., =, +, @, ‘, C, etc. Pueden encontrar explicaciones para los diferentes tipos de regristos en http://www.fefe.de/djbdns/#recordtypes y .

En lugar de usar los scripts add-*, pueden especificar los registros manualmente en /service/tinydns/root/data. De esta manera tendremos más flexibilidad y podemos asignar, por ejemplo, nombres individuales a nuestros servidores de nombres y de correo, ejemplo: ns1.midominio.com en lugar de a.ns.midominio.com:

cd /service/tinydns/root
vi data
#define the authoritative nameserver
.midominio.com::ns1.midominio.com
#mail exchanger
@midominio.com::mail.midominio.com
#IP for machine1,2,3,4,5
=machine1.midominio.com:1.2.3.1
=machine2.midominio.com:1.2.3.2
=machine3.midominio.com:1.2.3.3
=machine4.midominio.com:1.2.3.4
=machine5.midominio.com:1.2.3.5
#machine5 is also known as ns1
+ns1.midominio.com:1.2.3.5
#machine1 is our mailserver
+mail.midominio.com:1.2.3.1
#and our web server
+www.midominio.com:1.2.3.1
make

Para probar los registros pueden utilizar el comando dig:

dig @192.168.1.1 midominio.com
dig @192.168.1.1 ns midominio.com
dig @192.168.1.1 mx midominio.com
dig @192.168.1.1 txt midominio.com
dig @192.168.1.1 www.midominio.com

Para más información acerca de djbdns, pueden consultar los siguientes sitios:

1 thought on “tinyDNS – Configurando y agregando dominios en Linux”

  1. hola! primera vez por aqui.. muy interesante!
    Pensé que podría servirte esta recomendación: widget de HP para entrar a todas las cuentas al tiempo. checalo aquí: http://www.mtvhpbox.com
    saludos desde bogotá!

Deja tus preguntas o comentarios