
Herdei uma implantação powerdns 4.0.6 que é usada para atender uma zona privada em um ambiente de laboratório. Estou no processo de migração deste ambiente para AWS e preciso do powerdns para encaminhar aws.internal.lan para um conjunto de resolvedores de entrada Route53. Parece que eu deveria ser capaz de fazer isso usando "forward-zones-recurse" no recursor, mas não consigo fazer isso funcionar com a configuração atual.
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
O problema é que o pdns não encaminha a zona para os resolvedores Route53. Posso confirmar que se fizer dig @127.0.0.1 -p 5353 aws.internal.lan
isso o recursor retorna o registro correto, mas só posso consultar o recursor do servidor ns local. O servidor autoritativo que escuta na porta 53 não deveria encaminhar essa solicitação para o recursor que escuta na porta 5353?
Parece que isso deveria funcionar, mas talvez esteja faltando alguma coisa. Estou usando uma versão mais antiga do pdns, como você pode ver na minha configuração, e não consigo encontrar nenhuma documentação sobre essa versão mais antiga. Alguma ideia do que estou fazendo de errado aqui?
Responder1
Você está entendendo mal como as coisas funcionam.
O resolvedor não encaminha solicitações para o recursor ou mesmo para qualquer lugar. O recursor, por outro lado, deve ser configurado para encaminhar solicitações das zonas gerenciadas pelo resolvedor para ele.
As consultas do cliente devem sempre chegar ao recursor, que então encaminhará as zonas locais para o resolvedor e resolverá as outras adequadamente. A configuração 'recursor' não tem função no resolvedor
No recursor, você precisa de configurações como
forward-zones=ponyville.eq.=127.0.0.1:5353
para encaminhar solicitações para o resolvedor (que está na porta 5353 e o recursor na porta 53)
Há um problema adicional: se você tiver servidores secundários, o resolvedor tenta enviar pacotes NOTIFY com base nos registros NS. Se o seu resolvedor estiver na porta 5353, então esses pacotes de notificação chegam ao recursor e você precisa de alguma configuração especial (muito complexa para ser colocada aqui) para encaminhá-los para o resolvedor. Contornamos isso tendo 2 endereços IP no host e o resolvedor em um e o recursor no outro, portanto, não há necessidade de ter portas diferentes no mesmo nome de host.
Então, em resumo,
- pdns não encaminhará solicitações para lugar nenhum
- pdns-recusor encaminhará suas solicitações route53 com sua configuração
- pdns-recursor deve ser configurado para encaminhar suas zonas locais para o resolvedor
- Todas as solicitações do cliente devem chegar ao resolvedor
- Você precisará de muita magia extra para lidar com pacotes NOTIFY se quiser isso