Olá Pessoal.
No livro "IPv6 - O Novo Protocolo da Internet" explico ao leitor que uma particularidade do DNS é que, diferente do que acontece com outros serviços, não existe uma versão DNSv4 e outra DNSv6. O serviço DNS continua sendo o mesmo em execução nos servidores, o que muda na realidade é que existe uma nova classe de registros para IPv6 denominada AAAA (quad-A).
No IPv4 o mapeamento entre endereços v4 e nomes de domínio é realizado adicionando novas entradas A, procedimento detalhado em outro artigo intitulado "Servidor DNS no Sistema Operacional Linux". Ocorre que para endereços IPv6 essas entradas chamam AAAA, uma alusão ao fato de que os endereços v6 são quatro vezes mais extensos do que os endereços v4.
Este artigo tem por objetivo apresentar o processo de configuração de endereços IPv6 nas zonas direta e reversa de um servidor DNS baseado em Linux Debian rodando o Bind. As configurações estão baseadas na topologia abaixo, em que temos um servidor DNS primário (2001:db8:cafe::201) e outro secundário (2001:db8:cafe::202) responsáveis pelo domínio "nome.com.br" na rede 2001:db8:cafe:0::/64.
A primeira etapa consiste na instalação do pacote "bind9" para que o Linux possa ser posteriormente configurado como servidor primário DNS na rede. Essa tarefa é simples e rápida através do APT.
root@ns1:/# apt-get install bind9
Os arquivos de configuração ficam armazenados em "/etc/bind". No arquivo de configuração "/etc/bind/named.conf.local" são realizadas as primeiras configurações da zona direta de domínio (forward) e da zona reversa.
#--- em /etc/bind/named.conf.local
zone "nome.com.br"
{
type master;
file "/etc/bind/nome.com.br.forward";
allow-transfer { 2001:db8:cafe::202; };
};
zone "0.0.0.0.e.f.a.c.8.b.d.0.1.0.0.2.ip6.arpa"
{
type master;
file "/etc/bind/nome.com.br.reverse.ipv6";
allow-transfer { 2001:db8:cafe::202; };
};
Para o exemplo da topologia apresentada neste artigo, a configuração do arquivo da zona direta deve ficar da seguinte maneira:
Outra observação importante diz respeito à entrada do endereço IPv6 reverso, aquele que faz a resolução inversa de endereços em nomes. O endereço reverso não pode ser abreviado, cada caractere é separado por ponto, ele é totalmente escrito de trás para frente e seu domínio raíz é ip6.arpa (RFC 3596). Por exemplo, veja nas configurações que a versão reversa do prefixo 2001:db8:cafe:0::/64 é 0.0.0.0.e.f.a.c.8.b.d.0.1.0.0.2.ip6.arpa, enquanto que o mapeamento reverso (PTR) do host 2001:db8:cafe:0::1 na zona reversa do prefixo anterior seria:
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR host.nome.com.br.
Obs.: Nesse sentido, de fato a configuração de DNS para endereços IPv6 ficou mais complicada, não porque seja diferente do processo de configuração de endereços IPv4, mas só porque os endereços são mais complexos.
A configuração do arquivo de zona reversa ficaria da seguinte maneira:
;--- /etc/bind/nome.com.br.reverse.ipv6
; BIND - Zona Reversa IPv6 (nome.com.br)
;---
$TTL 604800
@ IN SOA ns1.nome.com.br. root.nome.com.br. (
2015091802 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.nome.com.br.
@ IN NS ns2.nome.com.br.
;
7.3.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR host1.nome.com.br.
1.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR ns1.nome.com.br.
2.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR ns2.nome.com.br.
4.5.2.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR gateway.nome.com.br.
Antes de tentar inicializar o serviço é importante fazer uma verificação de erros de sintaxe nos arquivos de configuração através das ferramentas named-checkconf e named-checkzone. Se algum erro for indicado, verifique novamente os arquivos.
root@ns1:/# named-checkconf /etc/bind/named.conf.local
root@ns1:/# named-checkzone nome.com.br /etc/bind/nome.com.br.forward
root@ns1:/# named-checkzone 0.0.0.0.e.f.a.c.8.b.d.0.1.0.0.2.ip6.arpa /etc/bind/nome.com.br.reverse.ipv6
No servidor secundário basta configurar o arquivo named.conf.local da maneira abaixo que os arquivos das zonas direta e reversa serão transferidos automaticamente a partir do servidor primário:
#--- em /etc/bind/named.conf.local
zone "nome.com.br"
{
type slave;
file "/etc/bind/nome.com.br.forward";
masters { 2001:db8:cafe::201; };
};
zone "0.0.0.0.e.f.a.c.8.b.d.0.1.0.0.2.ip6.arpa"
{
type slave;
file "/etc/bind/nome.com.br.reverse.ipv6";
masters { 2001:db8:cafe::201; };
};
Façam seus testes...
No IPv4 o mapeamento entre endereços v4 e nomes de domínio é realizado adicionando novas entradas A, procedimento detalhado em outro artigo intitulado "Servidor DNS no Sistema Operacional Linux". Ocorre que para endereços IPv6 essas entradas chamam AAAA, uma alusão ao fato de que os endereços v6 são quatro vezes mais extensos do que os endereços v4.
Este artigo tem por objetivo apresentar o processo de configuração de endereços IPv6 nas zonas direta e reversa de um servidor DNS baseado em Linux Debian rodando o Bind. As configurações estão baseadas na topologia abaixo, em que temos um servidor DNS primário (2001:db8:cafe::201) e outro secundário (2001:db8:cafe::202) responsáveis pelo domínio "nome.com.br" na rede 2001:db8:cafe:0::/64.
A primeira etapa consiste na instalação do pacote "bind9" para que o Linux possa ser posteriormente configurado como servidor primário DNS na rede. Essa tarefa é simples e rápida através do APT.
root@ns1:/# apt-get install bind9
Os arquivos de configuração ficam armazenados em "/etc/bind". No arquivo de configuração "/etc/bind/named.conf.local" são realizadas as primeiras configurações da zona direta de domínio (forward) e da zona reversa.
#--- em /etc/bind/named.conf.local
zone "nome.com.br"
{
type master;
file "/etc/bind/nome.com.br.forward";
allow-transfer { 2001:db8:cafe::202; };
};
zone "0.0.0.0.e.f.a.c.8.b.d.0.1.0.0.2.ip6.arpa"
{
type master;
file "/etc/bind/nome.com.br.reverse.ipv6";
allow-transfer { 2001:db8:cafe::202; };
};
Para o exemplo da topologia apresentada neste artigo, a configuração do arquivo da zona direta deve ficar da seguinte maneira:
;--- /etc/bind/nome.com.br.forward
; BIND - Zona Direta (nome.com.br)
;---
$TTL 604800
@ IN SOA ns1.nome.com.br. root.nome.com.br. (
2014051801 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.nome.com.br.
@ IN NS ns2.nome.com.br.
;
host1 IN AAAA 2001:db8:cafe::37
ns1 IN AAAA 2001:db8:cafe::201
ns2 IN AAAA 2001:db8:cafe::202
gateway IN AAAA 2001:db8:cafe::254Outra observação importante diz respeito à entrada do endereço IPv6 reverso, aquele que faz a resolução inversa de endereços em nomes. O endereço reverso não pode ser abreviado, cada caractere é separado por ponto, ele é totalmente escrito de trás para frente e seu domínio raíz é ip6.arpa (RFC 3596). Por exemplo, veja nas configurações que a versão reversa do prefixo 2001:db8:cafe:0::/64 é 0.0.0.0.e.f.a.c.8.b.d.0.1.0.0.2.ip6.arpa, enquanto que o mapeamento reverso (PTR) do host 2001:db8:cafe:0::1 na zona reversa do prefixo anterior seria:
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR host.nome.com.br.
Obs.: Nesse sentido, de fato a configuração de DNS para endereços IPv6 ficou mais complicada, não porque seja diferente do processo de configuração de endereços IPv4, mas só porque os endereços são mais complexos.
A configuração do arquivo de zona reversa ficaria da seguinte maneira:
;--- /etc/bind/nome.com.br.reverse.ipv6
; BIND - Zona Reversa IPv6 (nome.com.br)
;---
$TTL 604800
@ IN SOA ns1.nome.com.br. root.nome.com.br. (
2015091802 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.nome.com.br.
@ IN NS ns2.nome.com.br.
;
7.3.0.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR host1.nome.com.br.
1.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR ns1.nome.com.br.
2.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR ns2.nome.com.br.
4.5.2.0.0.0.0.0.0.0.0.0.0.0.0.0 IN PTR gateway.nome.com.br.
Antes de tentar inicializar o serviço é importante fazer uma verificação de erros de sintaxe nos arquivos de configuração através das ferramentas named-checkconf e named-checkzone. Se algum erro for indicado, verifique novamente os arquivos.
root@ns1:/# named-checkconf /etc/bind/named.conf.local
root@ns1:/# named-checkzone nome.com.br /etc/bind/nome.com.br.forward
root@ns1:/# named-checkzone 0.0.0.0.e.f.a.c.8.b.d.0.1.0.0.2.ip6.arpa /etc/bind/nome.com.br.reverse.ipv6
Por fim, depois de configurado o servidor, basta iniciar o serviço para validar todas as configurações realizadas. A partir de agora os clintes da rede já podem utilizar o servidor de nomes interno, algo ainda mais importante no contexto do IPv6 em que os endereços são mais complexos.
root@ns1:/# service bind9 start
[ ok ] Starting domain name service...: bind9.
No servidor secundário basta configurar o arquivo named.conf.local da maneira abaixo que os arquivos das zonas direta e reversa serão transferidos automaticamente a partir do servidor primário:
#--- em /etc/bind/named.conf.local
zone "nome.com.br"
{
type slave;
file "/etc/bind/nome.com.br.forward";
masters { 2001:db8:cafe::201; };
};
zone "0.0.0.0.e.f.a.c.8.b.d.0.1.0.0.2.ip6.arpa"
{
type slave;
file "/etc/bind/nome.com.br.reverse.ipv6";
masters { 2001:db8:cafe::201; };
};
Façam seus testes...
Samuel.