Configurando DNS Reverso para IPv4

Introdução

Da mesma forma que o DNS traduz Nomes para IPs, é possível traduzir IPs para Nomes - resolução reversa. Essa última tradução é possível graças à consultas nas bases do domínio reverso, previamente configurados.

Um exemplo de uso do DNS reverso bastante comum é no serviço de correio eletrônico, onde o servidor de e-mail faz uma checagem reversa do domínio para verificar se sua máquina é quem ela realmente diz ser. Porém seu uso não se limita a esse serviço, segundo a RFC 1912 (seção 2.1), todos os servidores na Internet devem ter um apontador de DNS reverso.

Funcionamento do serviço

O DNS reverso funciona de forma parecida às consultas de DNS direto. Para consultar o nome associado à um endereço IP o DNS reverso começa consultado seu provedor de acesso ou de meio físico, em nosso caso a RNP - orgão responsável pela distribuição de IPs para instituições de ensino e pesquisa no Brasil. Nesse momento a RNP informa qual servidor DNS reverso é responsável por aquele endereço IP. Uma nova consulta é feita a esse servidor DNS retornado anteriormente, esse servidor então procura nos dados das zonas por registros do tipo apontadores (PTR) e informa ao cliente qual nome está associado aquele IP, quando possível.

Dessa forma, é essencial que, além da configuração do servidor DNS reverso, informemos à nosso provedor de acesso, em nosso caso a RNP, sobre o(s) servidor(es) DNS responsável(veis) por nossa faixa de IPs. Um erro bastante comum é não fazer tal comunicação, o que inviabiliza o funcionamento do serviço. Não obstante, no caso da RNP, essa informação somente deve ser transmitida quando toda a estrutura do serviço já estiver configurada, conforme veremos abaixo.

Configurando DNS reverso

A configuração do DNS consiste nos seguintes passos:

  1. Definição da zona reversa;
  2. Criação do arquivo de zona para para um domínio reverso;
  3. Configuração de um servidor secundário para a zona reversa;
  4. Informar à RNP sobre a configuração realizada.

Os passos 1 até 3 acima são dependentes de qual software se está utilizando no serviço de DNS. Assim, nas seções seguintes, dividimos tal configuração em seções específicas para o BIND e para o Windows Server DNS. A última seção trata genericamente sobre à divulgação da configuração realizada ao orgão responsável, a RNP.

Para fornecer exemplos na configuração abaixo, utilizaremos o seguinte cenário:

  • Faixa de IPs da rede: 192.168.1.0/26
  • Servidor de DNS primário: ns.exemplo.com.br (172.1.0.1)
  • Domínio: exemplo.com.br
  • Responsável pelo sistema: admin@exemplo.com.br
  • Servidor de DNS secundário: dns.pop-ba.rnp.br (200.128.0.21)

Substitua os campos acima de acordo à estrutura de sua rede.

BIND

  • Edite o arquivo de definição de zonas, para acrescentar a zona reversa que estamos configurando. Na maioria das distribuições GNU/Linux esse arquivo é o /etc/bind/named.conf. Adicione o seguinte conteúdo:

zone "0-63.1.168.192.in-addr.arpa" {
     type master;
     file "192.168.1.rev";
     allow-transfer { 200.128.0.21; };
     allow-query { any; };
};

Perceba que na definição da zona, utilizamos a faixa de IPs de nossa rede de forma invertida. Como nossa rede tem uma máscara /26, adicionamos somente a faixa de IP que nos cabe, naquele caso os IPs da faixa 192.168.1.0 até 192.168.1.63. Caso sua rede fosse 192.168.1.0/27, por exemplo, a definição da zona seria 0-31.1.168.192.in-addr.arpa. Vale salientar que essa forma de criação da zona reversa segue a técnica descrita na RFC 2317 para configuração de zonas reversas em endereçamentos classless para o último octeto.

Se fosse um endereço com máscara classeful (/24), podemos omitir os octetos referentes ao host (por exemplo, 192.168.1.0/24 resultaria na zona 1.168.192.in-addr.arpa) e nosso arquivo de definição da zona ficaria da seguinte forma:

zone "1.168.192.in-addr.arpa" {
     type master;
     file "192.168.1.rev";
     allow-transfer { 200.128.0.21; };
     allow-query { any; };
};

Da configuração acima, o campo allow-transfer define o servidor secundário da zona. Para mais detalhes sobre a configuração de DNS secundário, veja o documento sobre Configuração de DNS secundário

  • Agora crie o arquivo da zona contendo os ponteiros de endereços IPs para domínios. Veja que na definição da zona acima, configuramos que o arquivo de declaração da zona é o 192.168.1.rev, ele deve estar localizado no diretório raiz da configuração do BIND (ver valor da variável directory nas opções daquela zona). Numa configuração padrão esse arquivo deveria ser criado em /etc/bind/192.168.1.rev, com o seguinte conteúdo:

$TTL 38400
; reverse address file for exemplo.com.br
;
@ IN SOA ns.exemplo.com.br. admin.exemplo.com.br. (
                                2009080401 ;serial
                                28800   ;refresh
                                7200    ;retry
                                3600000 ;expire
                                86400 ) ;minimum        


@         IN      NS   ns.exemplo.com.br.
@         IN    NS   dns.pop-ba.rnp.br.

;
;   Registers of exemplo.com.br
1    IN   PTR   server01.exemplo.com.br.
2    IN   PTR   server02.exemplo.com.br.
3    IN   PTR   mail.exemplo.com.br.

Mais uma vez, substitua os valores relativos à seu domínio e sua faixa de IPs na configuração acima.

Note que o uso do arroba (@) informa que o bind deverá preencher aqueles campos automaticamente conforme a definição da zona que fizemos anteriormente. Isso deixa nosso arquivo da zona mais limpo e pode evitar problemas no futuro com mudanças na definição da zona.

Para testar a consistência da definição acima usamos a seguinte ferramenta do bind:

named-checkzone 0-63.1.168.192.in-addr.arpa /etc/bind/192.168.1.rev
zone 0-63.1.168.192.in-addr.arpa/IN: loaded serial 2009080401
OK

  • Pronto, agora basta informar as configurações acima para a entidade responsável, conforme explicado abaixo.

Windows Server DNS

Usando a interface do Windows

  • Abra o gerenciador do DNS: Clique em Start, clique em Control Panel, clique-duplo em Administrative Tools, finalmente clique-duplo em DNS.
  • Na seção console, clique com botão direito em um servidor DNS e clique em New Zone para abrir uma caixa de dialogo que permitirá adicionar a zona reversa. Essa caixa de diálogo possui bastante documentação a cada passo, siga aquelas instruções para determinar sua zona reversa.
  • Configure o servidor DNS do PoP-BA como secundário para essa zona. Para isso, veja essa documentação.

Divulgando a configuração realizada ao orgão responsável

Após finalizar o processo de configuração da zona secundária, os clientes do PoP-Ba devem informar tal configuração ao registro.br, orgão responsável pelos ROOT servers brasileiros. Como a RNP é a detentora de todos os blocos IPs dados às instituições, as requisições de alteração ou inclusão de informações devem ser feitas pelo responsável pelo domínio diretamente à RNP (pelo e-mail registro@rnp.br), devendo ser enviada cópia para o PoP-BA (como forma de registro e acompanhamento da solicitação).

OBSERVAÇÃO: Recomendo fortemente conferir a se a zona está funcionando corretamente antes de pedir a delegação. Uma boa ferramenta para isso é a própria interface do Registro.br: https://registro.br/cgi-bin/nicbr/dnscheck