Qual seria o procedimento de configuração correto para o servidor PDNS?

4

Sou novo no mundo dos servidores DNS, mas como parte do meu trabalho atual, devo fazer upgrade na infraestrutura de rede do escritório.

Depois de analisar as opções disponíveis, decidi usar o servidor PDNS da solução PowerDNS. Principalmente por causa da opção de gerenciamento fácil através do backend do MySQL.

Já tenho servidor PDNS em execução e até mesmo trabalhando para as minhas necessidades, mas vejo algumas diferenças significativas entre as respostas do nosso antigo BIND9 e do novo PDNS: seção adicional está ausente, a resposta é "não autorativa", etc.

Basicamente, os requisitos para o nosso DNS são:

  • Se o domínio solicitado estiver em registros no backend do MySQL (por exemplo, intranet-domain.ourdomain.com), a resposta deverá ser autoritária.
  • Se o domínio solicitado não estiver em registros no backend do MySQL, a solicitação deverá ser encaminhada para a rede externa para obter resposta do DNS autoritário apropriado.

Nossa configuração atual é:

  • Debian 7
  • pdns (3.2 do repositório padrão) + pdns-backend-mysql + poweradmin
  • pdns-recursor (caso contrário, não estava resolvendo nenhum nome de domínio externo)

Perguntas :

  • Eu realmente preciso do pdns-recursor para fazer com que a resolução de endereços externos funcione? Se houver uma maneira de encaminhar endereços desconhecidos para o DNS do ISP, por favor me esclareça.
  • Como tornar as respostas mais parecidas com o BIND9? Por exemplo, eu também quero ver uma seção adicional informando sobre NS para o endereço solicitado, etc.
  • Além disso, se eu colocar o PDNS do DHCP como primário e o BIND9 como secundário, a resposta sempre virá do BIND9 em vez do PDNS. Embora eu tenha importado todos os registros e zonas do BIND9 para o backend do MySQL. Como consertar isso?

pdns.conf :

allow-recursion=192.168.1.0/8,10.0.0.0/16,127.0.0.0/8 
allow-recursion-override=on 
config-dir=/etc/powerdns 
daemon=yes 
disable-axfr=yes 
guardian=yes 
lazy-recursion=yes 
local-address=192.168.1.5 
local-port=53 
master=yes 
module-dir=/usr/lib/powerdns 
recursor=127.0.0.1 
setgid=pdns 
setuid=pdns 
socket-dir=/var/run 
version-string=powerdns 
out-of-zone-additional-processing=yes 
include=/etc/powerdns/pdns.d

recursor.conf :

local-address=127.0.0.1
local-port=53
quiet=yes
setgid=pdns
setuid=pdns

pdns.local.gmysql :

launch=gmysql
gmysql-host=localhost
gmysql-port=
gmysql-dbname=pdns
gmysql-user=pdns
gmysql-password=pdns
gmysql-dnssec=yes
    
por Alexey Kamenskiy 14.11.2013 / 10:32

1 resposta

2

Parece que você deseja combinar um resolvedor recursivo e um servidor de nomes autoritativo em um servidor.

By specifying the recursor option in the configuration file, questions requiring recursive treatment will be handed over to the IP address specified

link

O documento continua, N.B. :

Take care not to point recursor to the PowerDNS Authoritative Server itself, which leads to a very tight packet loop!

Parece que você conseguiu separar os dois colocando o pdns-recursor em 127.0.0.1 somente.

Você pode testar enviando um comando dig ou host para o IP do seu servidor e observar o que acontece com o wireshark ou o tcpdump em todas as interfaces do seu servidor dns.

Com relação à sinalização autoritativa, consulte a pergunta número 3:

link

EDIT com base no comentário:

Se você quiser usar outro servidor de nomes como seu recursor, configure-o na configuração do pdns.conf do recursor. Por exemplo:

recursor: 8.8.8.8

    
por 15.11.2013 / 08:08