
Heredé una implementación de powerdns 4.0.6 que se utiliza para dar servicio a una zona privada en un entorno de laboratorio. Estoy en el proceso de migrar este entorno a AWS y necesito powerdns para reenviar aws.internal.lan a un conjunto de solucionadores entrantes de Route53. Parece que debería poder hacer esto usando "forward-zones-recurse" en el recursor, pero parece que no puedo hacer que esto funcione con la configuración actual.
pdns.conf:
daemon=no
max-tcp-connections=1000
guardian=no
setuid=pdns
setgid=pdns
launch=gpgsql
allow-recursion=127.0.0.0/8, 10.0.0.0/8
recursor=127.0.0.1:5353
local-address=0.0.0.0
local-port=53
master=no
slave=yes
slave-cycle-interval=60
gpgsql-host=127.0.0.1
gpgsql-dbname=pdns
gpgsql-user=redacted
gpgsql-password=redacted
api-key=redacted
webserver=yes
webserver-address=0.0.0.0
webserver-port=8081
recursor.conf:
setuid=pdns-recursor
setgid=pdns-recursor
allow-from=127.0.0.0/8
local-address=127.0.0.1
local-port=5353
forward-zones-recurse=aws.internal.lan=10.162.67.202;10.162.73.199
El problema es que pdns no reenvía la zona a los solucionadores de Route53. Puedo confirmar que si hago un recurso dig @127.0.0.1 -p 5353 aws.internal.lan
, el recursor devuelve el registro correcto, pero solo puedo consultar el recursor desde el servidor ns local. ¿No debería el servidor autorizado que escucha en el puerto 53 reenviar esa solicitud al recursor que escucha en el puerto 5353?
Parece que esto debería funcionar, pero quizás me falta algo. Estoy usando una versión anterior de pdns, como puede ver en mi configuración, y parece que no puedo encontrar ninguna documentación sobre esta versión anterior. ¿Alguna idea de lo que estoy haciendo mal aquí?
Respuesta1
Estás entendiendo mal cómo funcionan las cosas.
El solucionador no reenvía solicitudes al recursor, ni tampoco a ningún lugar. El recursor, por otro lado, debe configurarse para reenviar solicitudes de las zonas administradas por el resolutor a ese.
Las consultas de los clientes siempre deben llegar al recursor, que luego reenviará las zonas locales al solucionador y resolverá las demás de forma adecuada. La configuración de 'recursor' no tiene función en el solucionador
En el recursor, necesitas configuraciones como
forward-zones=ponyville.eq.=127.0.0.1:5353
para reenviar solicitudes al solucionador (que está en el puerto 5353 y el recursor en el puerto 53)
Existe un problema adicional porque, si tiene servidores secundarios, el solucionador intenta enviar paquetes NOTIFY basados en los registros NS. Si su solucionador está en el puerto 5353, entonces estos paquetes de notificación llegan al recursor y necesita alguna configuración especial (demasiado compleja para ponerla aquí) para reenviarlos al solucionador. Solucionamos esto teniendo 2 direcciones IP en el host y teniendo el solucionador en una y el recursor en la otra, por lo que no es necesario tener diferentes puertos en el mismo nombre de host.
Entonces, en resumen,
- pdns no reenviará solicitudes a ninguna parte
- pdns-recusor reenviará sus solicitudes de route53 con su configuración
- pdns-recursor debe configurarse para reenviar sus zonas locales al solucionador
- Todas las solicitudes de los clientes deben llegar al solucionador.
- Necesitarás mucha magia extra para manejar los paquetes NOTIFICAR si quieres esto