El DNS dinámico ( DDNS ) es un método para actualizar automáticamente un servidor de nombres en el Sistema de nombres de dominio (DNS), a menudo en tiempo real, con la configuración DDNS activa de sus nombres de host configurados, direcciones u otra información.
El término se utiliza para describir dos conceptos diferentes. El primero es la "actualización dinámica de DNS", que se refiere a los sistemas que se utilizan para actualizar los registros DNS tradicionales sin edición manual. [1] Estos mecanismos utilizan TSIG para proporcionar seguridad. El segundo tipo de DNS dinámico permite actualizaciones ligeras e inmediatas, a menudo utilizando un cliente de actualización, que no utiliza el estándar RFC 2136 para actualizar los registros DNS. Estos clientes proporcionan un método de direccionamiento persistente para dispositivos que cambian su ubicación, configuración o dirección IP con frecuencia.
En las etapas iniciales de Internet (ARPANET), el direccionamiento de los hosts en la red se lograba mediante tablas de traducción estáticas que asignaban nombres de host a direcciones IP . Las tablas se mantenían manualmente en forma de archivo de host . El Sistema de nombres de dominio trajo consigo un método de distribución automática de la misma información de dirección en línea a través de consultas recursivas a bases de datos remotas configuradas para cada red o dominio . Incluso esta función DNS todavía utilizaba tablas de búsqueda estáticas en cada nodo participante. Las direcciones IP, una vez asignadas a un host en particular, rara vez cambiaban y el mecanismo era inicialmente suficiente. Sin embargo, el rápido crecimiento de Internet y la proliferación de computadoras personales en el lugar de trabajo y en los hogares crearon la carga sustancial para los administradores de mantener un registro de las direcciones IP asignadas y administrar su espacio de direcciones . El Protocolo de configuración dinámica de host (DHCP) permitió a las empresas y a los proveedores de servicios de Internet (ISP) asignar direcciones a las computadoras automáticamente a medida que se encendían. Además, esto ayudó a conservar el espacio de direcciones disponible, ya que no todos los dispositivos podían usarse activamente en todo momento y las direcciones podían asignarse según fuera necesario. Esta característica requería que los servidores DNS también se mantuvieran actualizados automáticamente. Las primeras implementaciones de DNS dinámico cumplieron con este propósito: los equipos host adquirieron la función de notificar a su respectivo servidor DNS la dirección que habían recibido de un servidor DHCP o mediante la autoconfiguración. Este método de actualización de DNS basado en protocolo fue documentado y estandarizado en una publicación de IETF en 1997 [1] y se ha convertido en una parte estándar del protocolo DNS (consulte también el programa nsupdate ).
El crecimiento explosivo y la proliferación de Internet en los hogares trajo consigo una creciente escasez de direcciones IP disponibles . DHCP se convirtió también en una herramienta importante para los ISP para gestionar sus espacios de direcciones para conectar a los usuarios finales domésticos y de pequeñas empresas con una única dirección IP cada uno mediante la implementación de la traducción de direcciones de red (NAT) en el enrutador de las instalaciones del cliente. La red privada detrás de estos enrutadores utiliza el espacio de direcciones reservado para estos fines, [2] enmascarado por el dispositivo NAT. Sin embargo, esto rompió el principio de extremo a extremo de la arquitectura de Internet y se requirieron métodos para permitir que las redes privadas, con direcciones IP externas que cambian con frecuencia, descubran su dirección pública y la inserten en el Sistema de nombres de dominio para participar en las comunicaciones de Internet correctamente. Hoy en día, numerosos proveedores, llamados proveedores de servicios DNS dinámicos , ofrecen dicha tecnología y servicios en Internet.
El sistema DNS se basa en una base de datos distribuida que tarda un tiempo en actualizarse globalmente. Cuando se introdujo el sistema DNS por primera vez, la base de datos era pequeña y se podía mantener fácilmente de forma manual. A medida que el sistema creció, esta tarea se volvió difícil de manejar para cualquier sitio, y se introdujo una nueva estructura de administración para distribuir las actualizaciones entre muchos registradores de nombres de dominio . En la actualidad, los registradores ofrecen a los usuarios finales la posibilidad de actualizar la información de su cuenta, generalmente mediante un formulario basado en la web, y luego el registrador envía la información actualizada a otros servidores DNS.
Debido a la naturaleza distribuida de los sistemas de nombres de dominio y sus registradores, las actualizaciones del DNS global pueden tardar horas en distribuirse. Por lo tanto, el DNS solo es adecuado para servicios que no cambian su dirección IP muy a menudo, como es el caso de la mayoría de los servicios grandes como Wikipedia. Sin embargo, los servicios más pequeños generalmente tienen muchas más probabilidades de moverse de un host a otro en períodos de tiempo más cortos. Los servidores que se ejecutan en ciertos tipos de proveedores de servicios de Internet , en particular los módems de cable , probablemente cambien su dirección IP en períodos de tiempo muy cortos, del orden de días u horas. El DNS dinámico es un sistema que aborda el problema de las actualizaciones rápidas.
El término DDNS se utiliza de dos maneras que, si bien son técnicamente similares, tienen propósitos y poblaciones de usuarios muy diferentes. La primera es el DDNS basado en estándares , que utiliza una extensión del protocolo DNS para solicitar una actualización; esto se usa a menudo para que las computadoras portátiles de la empresa registren su dirección. La segunda es el DDNS propietario , generalmente un protocolo basado en la web, normalmente una única búsqueda HTTP con nombre de usuario y contraseña que luego actualiza algunos registros DNS (por algún método no especificado); esto se usa comúnmente para que una computadora doméstica se registre con un nombre conocido públicamente para que un grupo más amplio la encuentre, por ejemplo, como un servidor de juegos o una cámara web.
Los usuarios finales de acceso a Internet reciben una asignación de direcciones IP, a menudo una única dirección, por parte de su proveedor de servicios de Internet. Las direcciones asignadas pueden ser fijas (es decir, estáticas) o pueden cambiar de vez en cuando, una situación denominada dinámica . Las direcciones dinámicas generalmente se otorgan solo a clientes residenciales y pequeñas empresas, ya que la mayoría de las empresas requieren específicamente direcciones estáticas.
Las direcciones IP dinámicas presentan un problema si el cliente desea proporcionar un servicio a otros usuarios en Internet, como un servicio web. Como la dirección IP puede cambiar con frecuencia, los nombres de dominio correspondientes deben reasignarse rápidamente en el DNS para mantener la accesibilidad mediante una URL conocida.
Muchos proveedores ofrecen un servicio de DNS dinámico comercial o gratuito para este escenario. La reconfiguración automática generalmente se implementa en el enrutador o la computadora del usuario, que ejecuta el software para actualizar el servicio DDNS. La comunicación entre el equipo del usuario y el proveedor no está estandarizada, aunque con el tiempo han surgido algunos métodos estándar de actualización basados en la web.
El método estandarizado de actualización dinámica de registros de servidores de nombres de dominio está prescrito por RFC 2136, comúnmente conocido como actualización dinámica de DNS. El método descrito por RFC 2136 es un protocolo de red para uso con servidores DNS administrados e incluye un mecanismo de seguridad. RFC 2136 admite todos los tipos de registros DNS, pero a menudo se utiliza solo como una extensión del sistema DHCP , y en el que los servidores DHCP autorizados registran los registros del cliente en el DNS. Esta forma de compatibilidad con RFC 2136 la proporciona una gran cantidad de software de cliente y servidor, incluidos los que son componentes de la mayoría de los sistemas operativos actuales. La compatibilidad con RFC 2136 también es una parte integral de muchos servicios de directorio , incluidos LDAP y los dominios Active Directory de Windows .
En las redes de Microsoft Windows , el DNS dinámico es una parte integral de Active Directory , porque los controladores de dominio registran sus tipos de servicios de red en DNS para que otras computadoras en el dominio (o bosque) puedan acceder a ellos.
Los esfuerzos cada vez mayores para proteger las comunicaciones de Internet hoy en día implican el cifrado de todas las actualizaciones dinámicas a través de Internet pública, ya que estos servicios DNS dinámicos públicos se han utilizado cada vez más para diseñar brechas de seguridad. Se han desarrollado métodos basados en estándares dentro del conjunto de protocolos DNSSEC , como TSIG , para proteger las actualizaciones de DNS, pero no se utilizan ampliamente. Microsoft desarrolló una tecnología alternativa ( GSS-TSIG ) basada en la autenticación Kerberos .
Algunos sistemas de software de servidor DNS gratuitos , como dnsmasq , admiten un procedimiento de actualización dinámica que involucra directamente a un servidor DHCP integrado . Este servidor actualiza o agrega automáticamente los registros DNS a medida que asigna direcciones, lo que libera al administrador de la tarea de configurar específicamente las actualizaciones dinámicas.
Los proveedores de DNS dinámico ofrecen un programa cliente de software que automatiza el descubrimiento y registro de las direcciones IP públicas del sistema cliente. El programa cliente se ejecuta en un ordenador o dispositivo de la red privada. Se conecta a los sistemas del proveedor de DDNS con un nombre de inicio de sesión único; el proveedor utiliza el nombre para vincular la dirección IP pública descubierta de la red doméstica con un nombre de host en el sistema de nombres de dominio. Según el proveedor, el nombre de host se registra dentro de un dominio propiedad del proveedor o dentro del nombre de dominio del cliente. Estos servicios pueden funcionar mediante varios mecanismos. A menudo utilizan una solicitud de servicio HTTP , ya que incluso los entornos restrictivos suelen permitir el servicio HTTP. La mayoría de los proveedores tienen una API similar a un primer proveedor DynDNS (Dyn.com), por lo que a menudo se le llama DynDNS2.
Muchos módems/enrutadores de redes domésticas incluyen aplicaciones cliente en su firmware , compatibles con una variedad de proveedores DDNS.
El DNS dinámico es una característica esperada o incluso un requisito para los dispositivos de seguridad basados en IP, como DVR y cámaras IP . [ cita requerida ] Hay muchas opciones disponibles para los fabricantes actuales, y estas incluyen el uso de servicios DDNS existentes o el uso de servicios personalizados alojados por los propios fabricantes.
En casi todos los casos, se utiliza una API de actualización basada en HTTP simple , ya que permite una fácil integración de un cliente DDNS en el firmware de un dispositivo . Existen varias herramientas predefinidas que pueden ayudar a aliviar la carga del desarrollo del servidor y del cliente, como MintDNS, [3] cURL e Inadyn. [4] La mayoría de los servicios DDNS basados en la web utilizan un esquema de seguridad de nombre de usuario y contraseña estándar. Esto requiere que un usuario primero cree una cuenta en el sitio web del servidor DDNS y luego configure el dispositivo para enviar actualizaciones al servidor DDNS siempre que se detecte un cambio de dirección IP .
Algunos fabricantes de dispositivos van un paso más allá y permiten que su servicio DDNS solo lo utilicen los dispositivos que fabrican, y también eliminan por completo la necesidad de nombres de usuario y contraseñas. Generalmente, esto se logra cifrando la dirección MAC del dispositivo mediante un algoritmo criptográfico que se mantiene en secreto tanto en el servidor DDNS como en el firmware del dispositivo. El descifrado o la falla de descifrado resultante se utilizan para proteger o denegar las actualizaciones. Los recursos para el desarrollo de servicios DDNS personalizados son generalmente limitados e implican un ciclo completo de desarrollo de software para diseñar y poner en funcionamiento un servidor DDNS seguro y robusto.