Estoy intentando lograr lo siguiente:
- Un servidor de nombres público para mi dominio que apunta
example.com
a una dirección IP pública. - Un servidor de nombres privado para el mismo dominio que se ejecuta dentro de una LAN y que, en cambio, dirige a los clientes a una dirección IP privada en la misma LAN.
- DNSSEC habilitado.
Por supuesto, lograr juntos el primer y el último punto es comparativamente fácil, por lo que la cuestión es lograr que el componente privado funcione.
En términos de mi configuración real:
- Estoy usando el servicio DNS de Cloudflare, donde tengo un registro A para mi dominio que apunta a una dirección IP pública y DNSSEC habilitado.
- En mi registrador, agregué un registro DS basado en lo que me brinda Cloudflare y configuré los servidores de nombres de Cloudflare. Todo esto funciona bien, como era de esperar.
- Internamente, estoy ejecutando Pi-Hole (configurado como servidor DNS para clientes en mi LAN) que está configurado con DNSSEC habilitado y apunta a una instancia local de CoreDNS como solucionador ascendente.
- En CoreDNS, tengo una zona configurada
example.com
que está firmada con claves generadas porcoredns-keygen
. Tiene un registro A que apunta a una dirección IP interna. - Tengo un segundo registro DS en mi registrador basado en la clave utilizada internamente por CoreDNS.
Lo que sucede:
- La configuración general funciona para resolver dominios que no son míos.
- Pi-Hole responde
SERVFAIL
y registraABANDONED
cuando intento resolver mi dominio. - Pero, si apunto un cliente directamente a CoreDNS (por ejemplo, con
dig
), obtengo la respuesta esperada con la dirección IP de LAN. - Además, si desactivo DNSSEC en Pi-Hole, funciona bien.
Entonces mis preguntas son:
- ¿Es posible lo que estoy tratando de lograr?
- Estoy empezando a preguntarme si tener registros DS separados en mi registrador está mal, pero no creo que pueda recuperar la clave privada que usa Cloudflare y tampoco puedo cargar claves personalizadas, así que no estoy seguro de cómo puedo usarlas. las mismas claves para público y privado.
- ¿Hay alguna razón por la que las cosas parecen funcionar si dirijo a mis clientes a CoreDNS directamente pero Pi-Hole se niega a cooperar?
¡Gracias!