24x7 Linux Página personal y profesional HTML 4.01 válido CSS válido
Servidor de nombres DNS con backend MySQL

El protocolo DNS es el responsable (entre otras cosas) de averiguar la dirección IP asociada a los nombres de servidores que usamos a diario en Internet, tanto para hacer referencia a las webs que navegamos, los servidores de archivos FTP de donde bajamos programas, o los servidores de correo a los que enviamos o de los que recibimos nuestros email.

Los seres humanos somos razonablemente buenos recordando nombres textuales asociados a las personas o empresas con las que nos comunicamos, pero todos los protocolos de Internet usan internamente direcciones IP numéricas. La misión del protocolo DNS es convertir los nombres textuales usados por las personas en direcciones IP numéricas, usadas por los programas y por las máquinas. Por ejemplo, el nombre de máquina www.24x7linux.com equivale a la dirección IP 66.227.74.170. Esta equivalencia se define en una máquina concreta de Internet el servidor DNS primario para el dominio 24x7linux.com.

Otra información que suele definirse en ese servidor de nombres primario suele ser el servidor que se encarga de recibir todo el correo destinado a usuarios del dominio, en el ejemplo, para todos los usuarios con dirección de correo con el dominio @24x7linux.com. Estas equivalencias (y otras muchas más) se almacenan en el servidor de nombres en formas diversas, dependiendo de la implementación instalada de que se trate.

El servidor de nombres DNS más usado en Internet es BIND en cualquiera de sus versiones (4.x, 8.x o 9.x). Todos ellos almacenan las equivalencias (conocidas como RR o Resource Records) en archivos de texto plano, que el administrador puede editar directamente en un formato bien documentado. Cuando el servidor inicia lee los archivos de texto con los RR, los almacena en memoria (por muchos que sean) en un formato optimizado para su consulta. Sin embargo, cualquier cambio en los archivos de texto exige al administrador forzar la relectura de los RR, lo cual puede no resultar conveniente.

Otros servidores DNS almacenan los RR en otros formatos o almacenamientos físicos distintos (lo que se conoce como backend). Por una parte implementan el protocolo DNS, pero los datos residen físicamente en, por ejemplo, un servidor de directorio LDAP o en una base de datos SQL. MyDNS es un ejemplo de servidor DNS con backend SQL, en concreto, MySQL.

MySQL es un servidor de bases de datos relacional SQL especialmente optimizada para un patrón de uso con muchas consultas y pocas actualizaciones (típico de las informaciones gestionadas por el protocolo DNS). MyDNS implementa la mayor parte de los protocolos del servicio de nombres en Internet, de manera perfectamente interoperable con cualquier otra implementación como BIND, pero los datos están almacenados en una base de datos SQL.

Este backend SQL permite actualizar continuamente los RR sin tener que recargar los datos en memoria. También permite que cada cliente gestione la información de su dominio gracias al completo y flexible sistema de permisos de MySQL. Y como este servidor de bases de datos está especialmente ideado para patrones de uso similares a los habituales en el servicio DNS proporciona elevados rendimientos, medidos en respuestas DNS por segundo.

MyDNS lo desarrolla Don Moore, y el idioma tanto de los mensajes, como de la documentación y de los archivos de log es el inglés. Aprovechando que estaba probando este servidor DNS inicié la traducción al castellano de todo el producto, de tal manera que la futura versión 1.0 estará disponible tanto en inglés como en castellano. Así no hay excusa alguna para no probar esta magnífica implementación alternativa del servicio DNS.

Última modificación: 06-January-2003 13:39:47 -0500

© 2002-2007 José Luis Domingo López. Todos los derechos reservados.
Contacte con el webmaster para informarle de fallos, incorrecciones o sugerencias.
Esta página cumple con los estándares HTML 4.01 y CSS2 del World Wide Web Consortium.