Ir ao conteúdo

Configurando o PowerDNS para funcionar como Master e Slave

Salve Salve Pessoal!

Dando continuidade a serie de posts sobre o PowerDNS, hoje vamos ver como podemos configurar o PowerDNS para trabalhar como Master e Slave fazendo a replicação dos dados automaticamente.

Para quem não acompanhou meu outros posts sobre o PowerDNS segue os links abaixo:

1Instalando o PowerDNS 4.3 Authoritative no CentOS 8 / Oracle Linux 8 / RHEL 8

2Gerenciando o PowerDNS com o PowerDNS-Admin

Temos diversas possibilidades de replicação dos dados, normalmente o próprio banco de dados nos dá essa possíbilidade, mas podemos configurar para que o próprio PowerDNS gerencie e faça esse serviço.

Vamos usar o mesmo servidor que configuramos nos outros dois posts como Master (10.20.30.220) e precisaremos criar mais um servidor para usarmos como Slave (10.20.30.217).

Para configurar o servidor Slave crie uma nova máquina, faça a instalação do sistema operacional e basta seguir os mesmo passos descritos no post de instalação do PowerDNS(Instalando o PowerDNS 4.3 Authoritative no CentOS 8 / Oracle Linux 8 / RHEL 8), porém só até o passo 15.

Vamos as configurações. 😀

Olhando a configuração atual do nosso servidor que vai ser o Master, podemos verificar que ele esta trabalhando com o tipo Native, em modo único.

A primeira coisa que precisamos fazer é mudar as configurações desse servidor para Master, podemos fazer isso via console do banco de dados ou através do PowerDNS-Admin.

Vamos fazer essas configurações usando o PowerDNS-Admin, assim começamos a conhecer um pouco a ferramenta também.

1 – Acesse o PowerDNS-Admin e veja o domínio que deseja configurar, observer que ele já informa o tipo de funcionamento do servidor na coluna Type, clique em Admin para mudarmos.

2 – Em Change Type, selecione Master em New Domain Type Setting e depois clique em Change type for SEU DONÍNIO.

3 – Em Change SOA-EDIT-API, selecione INCRASE em New SOA-EDIT-API Setting para incrementar o serial a cada mudança no domínio e clique em Change SOA-EDIT-API setting for SEU DOMÍNIO.

Quando você voltar ao dashboard verá que a coluna Type estará como Master agora.

4 – Agora acesse seu servidor Master via SSH e vamos inserir as seguintes linhas no arquivo de configuração /etc/pdns/pdns.conf.

master=yes 
allow-axfr-ips=10.20.30.217 
also-notify=10.20.30.217

OBS: Substitua os endereços IP pelos endereços IP do seu servidor Slave.

5 – Reinicie o PowerDNS.

# systemctl restart pdns

Pronto, terminamos as configurações em nosso servidor Master, agora vamos configurar o nosso servidor Slave.

Se você fez todos os passos do outro post como mencionei no inicio do post, está na hora de configurarmos o banco de dados no servidor Slave.

6 – Acesse o banco de dados.

# mysql -u pdnsuser -p powerdns

7 – Vamos criar o mesmo domínio que já tem no master.

# INSERT INTO domains (name, master, type) VALUES ('rodrigolira.lab', '10.20.30.220', 'SLAVE');

Observer que estamos criando o domínio com o mesmo nome do domínio no master rodrigolira.lab, estamos passando o endereço IP do nosso servidor Master (10.20.30.220) e o tipo como SLAVE.

OBS: A replicação é feita por domínio, ou seja, se você desejar que todos os domínios que o PowerDNS gerência sejam replicados você precisa fazer esse passo para todos.

8 – Agora vamos editar o arquivo de configuração /etc/pdns/pdns.conf, insira as linhas abaixo.

slave=yes 
slave-cycle-interval=60

9 – Reinicie o PowerDNS.

# systemctl restart pdns

Pronto, Master e Slave configurados, agora vamos verificar se estão sincronizando as informações corretamente.

10 – No servidor Slave execute o seguinte comando.

# pdns_control list-zones

O retorno do comando deve ser os seus domínios cadastrados, como a imagem abaixo.

11 – Vamos criar um novo registro no servidor Master através do PowerDNS-Admin e vamos acompanhar os logs no Master e Slave.

Acesse via SSH o Master e o  Slave e execute o comando abaixo para acompanhar os logs.

# tail -f -n 0 /var/log/messages | grep pdns_server

Agora acesse o PowerDNS-Admin e clique em Manager no seu domínio.

Clique em Add Record, insira os dados e clique em Save.

Clique em Apply Changes e depois Apply para confirmar.

Pronto, o novo registro é adicionado.

Agora veja os logs, observer que o Slave inicia uma nova transferência depois que ele identifica que houve mudança no serial.

Master

Slave

Para finalizar use o DIG de seu desktop e verifique se os servidores estão respondendo corretamente.

Pronto, é isso ai, espero que tenham gostado.

Até a próxima!

😀

Publicado emLINUXREDES

2 Comentários

  1. Lucas Schneider Lucas Schneider

    Sei que o post é um pouco antigo, mas só para deixar a informação completa:
    Não é necessário adicionar a diretriz also-notify, e nem adicionar o domínio manualmente no banco do slave, à tabela domains.
    No lugar disso, no slave, faça um insert na tabela supermasters. Esta configuração é suficiente para que o slave crie automaticamente os domínios. Exemplo de insert:
    insert into supermasters (ip, nameserver, account) values (“192.168.101.100″,”ns1.example.com”,”admin”);
    Onde: ip é o IP do master; nameserver é o hostname do slave; e account pode ser nulo, mas “admin” deve bastar.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

Descubra mais sobre Rodrigo Lira

Assine agora mesmo para continuar lendo e ter acesso ao arquivo completo.

Continue reading