El DNS de horizonte dividido es un método de implementación que devuelve respuestas DNS diferentes para un mismo nombre de dominio en función del origen de la consulta; por lo general, proporciona direcciones privadas a los clientes internos y direcciones públicas a los clientes externos. Las organizaciones utilizan esta técnica para permitir que empleados y clientes accedan a servicios con el mismo nombre, al tiempo que mantienen la infraestructura interna oculta al reconocimiento público y evitan el enrutamiento ineficiente del tráfico interno hacia Internet y de vuelta. El principal riesgo operativo radica en que las vistas se desincronicen cuando las zonas internas y externas se mantienen por separado, lo que requiere automatización y control de cambios para evitar que los usuarios reciban direcciones incorrectas o sufran fallos en el servicio.
Cómo funciona el DNS de horizonte dividido
Una implementación de «split-horizon» mantiene dos conjuntos de respuestas para un mismo dominio y elige entre ellos cuando llega una consulta. Se puede implementar con servidores independientes o con un único servidor que admita vistas.
- Definir las vistas: El administrador crea una versión interna y una versión externa de la zona. La versión interna contiene direcciones privadas y hosts de uso exclusivamente interno, mientras que la versión externa solo contiene registros públicos.
- Comparación con el cliente: cuando llega una consulta, el servidor examina su origen —normalmente, la dirección IP del cliente— y lo compara con las reglas de acceso de cada vista. Algunos servidores también pueden realizar la comparación con la dirección de destino o con una clave de firma.
- Respuesta desde la vista correspondiente: el servidor responde utilizando únicamente los registros de la vista seleccionada. Un cliente interno que solicite un nombre de servicio podría recibir una dirección privada, mientras que un cliente externo que solicite el mismo nombre recibiría una dirección pública.
- Resolver consultas sin coincidencia: las consultas que no coinciden con ninguna regla interna se clasifican en la vista externa o en una vista predeterminada, de modo que las fuentes desconocidas nunca ven los datos internos.
Los servidores separados logran el mismo resultado colocando los resolutores internos en la red privada y los servidores de autoridad públicos en Internet. Los datos de las zonas internas y externas deben mantenerse sincronizados de forma manual o mediante automatización, ya que los pasos anteriores no lo hacen.
Problemas habituales del DNS de horizonte dividido
Se añadeun registro a la zona externa, pero no a la interna, o al revés. Los usuarios internos reciben entonces un error NXDOMAIN o direcciones obsoletas para nombres que funcionan desde casa o desde Internet.
Las reglas de acceso basadas en la dirección del cliente pueden hacer que los clientes de VPN, las redes Wi-Fi para invitados o las cargas de trabajo en la nube se muestren en la vista incorrecta. Los usuarios ven direcciones privadas a las que no pueden acceder, o direcciones públicas que salen y vuelven a entrar.
Los dispositivos configurados con un resolutor público, o los navegadores que utilizan DNS cifrado a través de un tercero, omiten los servidores internos. Los nombres internos no se resuelven o devuelven la dirección pública.
Los puntos finales internos y externos que se encuentran detrás de un mismo nombre pueden presentar certificados diferentes. Los clientes ven errores de confianza cuando la dirección interna presenta un certificado que no cubre el nombre compartido.
Un resolutor o reenviador con caché compartida situado delante de ambas vistas puede almacenar una respuesta de una vista y servirla a la otra audiencia. Los síntomas son direcciones erróneas intermitentes que desaparecen cuando caduca la caché.