Estoy buscando una configuración de ejemplo en la que CoreDNS leerá el registro CNAME del archivo (complemento de archivo) y luego lo resolverá utilizando un solucionador personalizado (¿complemento de reenvío?). Un cliente no debe obtener el registro CNAME sino solo los registros A.
Por ejemplo:
- si el cliente solicita al CoreDNS
test.r1.svc
- entonces el CoreDNS obtiene el
CNAME
registrotest IN CNAME test.r2.svc.
- luego solicite al solucionador
10.11.12.13:53
extranjerotest.r2.svc
- y respuesta al cliente con los
A
registros
¿Es posible?
Esta configuración no me funciona:
Corefile
# root
. {
log
errors
}
r1.svc {
file r1.svc
forward r2.svc 10.11.12.13:53
log
errors
}
r1.svc
archivo
$ORIGIN r1.svc.
@ 3600 IN SOA sns.dns.icann.org. noc.dns.icann.org. (
202211241713 ; serial
7200 ; refresh (2 hours)
3600 ; retry (1 hour)
1209600 ; expire (2 weeks)
3600 ; minimum (1 hour)
)
3600 IN NS a.iana-servers.net.
3600 IN NS b.iana-servers.net.
test IN CNAME test.r2.svc.
Respuesta1
Puede que me equivoque, pero forward r2.svc 10.11.12.13:53
está en el r1.svc
bloque, por lo que nunca lo llamarán.
Client asks for test.r1.svc
Server responds that it's a CNAME for test.r2.svc
Client asks for test.r2.svc
Server doesn't know how to process the answer
Mover la forward r2.svc 10.11.12.13:53
línea al .
bloque debería permitirle procesar la segunda solicitud.
Respuesta2
Escribí un complemento para CoreDNS para hacerlo:https://github.com/kinjelom/coredns-recursor