Me gustaría devolver un CNAME único para cada solicitud y agregar la dirección IP de ese CNAME a los archivos de zona. ¿Es posible?
Respuesta1
A tu pregunta le faltan detalles. ¿Por qué haces eso (¿por qué específicamente un CNAME?), quién hace la consulta, por qué necesitas poner el resultado en el archivo de zona, etc.
Así que a continuación se presentan sólo algunas ideas vagas.
Si su pregunta es sobre generar registros sobre la marcha, sí, puede hacerlo con bind y con otros servidores de nombres que le permiten elegir un backend "dinámico" con algún lenguaje de programación.
Ver:
- Bind puede servir "Zonas dinámicas", pero esto está principalmente vinculado a bases de datos, consultehttp://bind-dlz.sourceforge.net/yZonas cargables dinámicamente | Consorcio de sistemas de Internet; pero también puedes desarrollar tu propio backend
- Poder DNS:Parte trasera de Lua | Documentación del servidor autoritativo PowerDNS Este backend es sólo un "pegamento" entre PowerDNS y su propia aplicación Lua.; entonces, si escribe una aplicación Lua, puede publicar cualquier registro que desee para cada consulta.
- Yadifa y NSD no parecen capaces de hacer eso (pero existen varios parches e intentos de conectarlos a bases de datos SQL, por ejemplo)
Por supuesto, también podría, nuevamente dependiendo de sus necesidades, construir un pequeño servidor de nombres autorizado y simple en cualquier lenguaje de programación que elija que tenga una buena biblioteca de abstracción de DNS para manejar todos los detalles (y hay muchos) del protocolo DNS.
Otra forma económica de hacerlo: utilizar comodines. Pero con precaución. Sin embargo, en esencia, los comodines le permiten tener inmediatamente todos los CNAME que desee en su archivo de zona con una sola línea. Pero todo depende de quién consulte su servidor de nombres.
Recuerde que su servidor de nombres autorizado tiene como clientes los servidores de nombres recursivos, no los clientes finales, por lo que solo verá la dirección IP del último servidor de nombres recursivo utilizado por el cliente y no la IP del cliente. Tiene la opción Subred del cliente EDNS que, si es compatible con el solucionador recursivo, le dará una indicación sobre la subred de la dirección IP del cliente, pero nunca la dirección completa por razones de privacidad.
Para terminar, eche un vistazo a varias obras de Geoff Huston. Es un investigador de DNS en APNIC que realiza muchos estudios. Para realizarlos, a menudo compra anuncios que proporcionan enlaces únicos para cada cliente que apuntan a nombres específicos. Vea este ejemplo entre otros:Contando IPv6 en el DNS | La columna ISP Puede que le dé algunas ideas nuevas.
(Vea mi respuesta detallada a su consulta relacionada:¿Cómo asociar solicitudes de DNS con las solicitudes al servidor web que aloja ese nombre de dominio? | Fallo del servidor)