Guia para configuração de zona reversa para IPv6

Introdução

A resolução reversa de DNS é o processo responsável por determinar um nome de domínio que é associado com um endereço IP, através do protocolo DNS. A resolução reversa é importante pois alguns serviços de Internet checam se esta configuração está correta, rejeitando as conexões onde esse mapeamento falha. Um exemplo de serviço onde essa checagem é comum é no servidor de e-mails. 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.

A base do DNS reverso consiste do TDL Address and Routing Parameter Area (arpa). IPv4 utiliza o pseudo-domínio in-addr.arpa., já IPv6 utiliza o pseudo-domínio ip6.arpa.. O processo de resolução reversa é idêntica à resolução direta, porém com o uso do registro PTR (invés dos convencionais CNAME/A/AAA).

Este documento descreve os passos para configuração da zona reversa IPv6 em servidores DNS baseados no BIND. Os princípios discutidos abaixo devem ser os mesmos para outros softwares de DNS; no entanto, os detalhes provavelmente serão diferentes. Caso não esteja usando o BIND, consulte a documentação para o pacote de software que você está usando.

O registro PTR

Criar uma zona reversa é idêntico a criar qualquer outro arquivo de zona. O registro Start of Authority (SOA) e o registro NS (Name Server) são os mesmos que outras zonas. Todavia, você precisará criar registros PTR adicionais.

O registro PTR, ou apontador de domínio (domain pointer), é o registro responsável por mapear um IP em um nome. Um exemplo de registro PTR pode ser visto abaixo:
1.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.4.0.0.0.0.0.0.0.6.8.0.0.1.0.8.2.ip6.arpa. IN PTR server1.pop-ba.rnp.br.

Note que o registro DNS foi pós-fixado com o domínio ip6.arpa. e que o IPv6 foi invertido, separando-se cada digito por um ponto ("."). É dessa forma que configuramos os registros IPv6.

Obviamente, inverter o endereço IPv6 não é uma tarefa fácil. Existem algumas ferramentas na Internet que ajudam nesse sentido, por exemplo FPSN.NET IPv6 Reverse DNS Zone Builder for BIND. Além disso, como você já declara o prefixo da zona no registro SOA, a declaração dos registros seguintes não precisam definir o domínio completo. Por exemplo, no caso do prefixo 2801:86:0:4::/64, podemos declarar IPs como o seguinte (atente-se para ausência do ponto no fim da declaração do nome):
1.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR server1.pop-ba.rnp.br

Definição da zona

Abaixo temos um exemplo que ilustra a definição de uma zona reversa para IPv6. Utilizaremos o prefixo 2001:db8:1::/48 (um prefixo reservado para documentação). O arquivo de zonas fica assim (/etc/bind/zonas/reverso-primario/2001:db8:1.zone):

$TTL 604800
@   IN   SOA ns1.example.org. hostmaster.example.org. (
      2011080301   ; Serial
      10800      ; Refresh
      3600      ; Retry
      2419200      ; Expire
      604800 )   ; Default TTL

      NS   ns1.example.org.
      NS   ns2.example.org.

;; exemplo de delegacao: 2001:db8:1:10::/64 -> client2.otherdomain.org.
0.1.0.0    IN   NS   client2.otherdomain.org.

;; um host na rede 2001:db8:1:a::/64
1.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.a.0.0.0.1.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.         IN      PTR     srv01.otherdomain.org.

;; hosts na rede 2001:db8:1:1::/64
;; usamos o ORIGIN para evitar escrever o prefixo diversas vezes
$ORIGIN 1.0.0.0.1.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.
1.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0         IN      PTR     fileserver.example.org.
0.3.0.0.0.0.0.0.0.0.0.0.0.0.0.0         IN      PTR     www.example.org.
; ...

Neste exemplo, podemos verificar algumas configurações referentes à delegação de zonas reversas, utilização da tag ORIGIN, e o cadastro completo do registro v6.

Incluindo a zona na configuração do BIND

Após definir a zona conforme explicamos acima, devemos incluí-la na configuração do BIND. Para isso, precisaremos editar o named.conf (ou equivalente do seu S.O.) e incluir os seguintes parâmetros:

zone "1.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa." {
   type master;
   file "/etc/bind/zonas/reverso-primario/2001:db8:1.zone";
   allow-transfer { 192.168.0.1; }; // secondary servers
};

Feito isso, devemos checar se a sintaxe dos arquivos está correta (evitando que introduzamos erros ao servidor):

named-checkconf

Finalmente, deve-se checar também a definição da zona propriamente dita (altere os parâmetros apropriadamente):

named-checkzone 1.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa. /etc/bind/zonas/reverso-primario/2001:db8:1.zone

Divulgando a configuração realizada ao órgão responsável

Após finalizar o processo de configuração da zona reversa, os clientes do PoP-Ba devem informar tal configuração ao NOC do PoP-BA, que é autoritativo para o prefixo IPv6 utilizado nos clientes. Para isso, basta abrir uma requisição no sistema de chamados do PoP-BA.

Referências