Thiago Alves da Silva <thiago@rnp.br>
Serviço de Suporte a Operações (SSO)
Rede Nacional de Ensino e Pesquisa (RNP)
Resumo
1. Introdução
1.1 Onde Encontrar?
1.2 Requisitos
2. Configuração
2.1 Resolução de nomes
2.2 Resolução reversa
3. Delegação de prefixos
4. Novos registros
5. Conclusão
Referências bibliográficas
Resumo
Este artigo é um guia para a configuração de um serviço de nomes com suporte ao IPv6. Para o melhor entendimento, é necessário um conhecimento prévio básico sobre esse novo protocolo.
1. Introdução
Com o desenvolvimento do IPv6, surge a necessidade de provermos um serviço de nomes que suporte esse novo protocolo. Para isso, foi criado um novo registro que armazena endereços no formato do IPv6, o AAAA. Estão em fase de desenvolvimento novos tipos de registros que facilitarão a manutenção desse serviço. Além disso, um novo domínio foi criado para a resolução de reverso, o ip6.int.
Esse domínio está em fase de transição para um outro domínio de reverso, o ip6.arpa, seguindo as orientações da RFC 3152. A forma de atribuição e delegação de reverso permanece a mesma. Para efeitos de compatibilidade, o seu serviço de DNS deve suportar ambos.
Hoje não contamos com nenhum servidor de DNS no topo da hierarquia com suporte nativo IPv6. Assim sendo, toda consulta é realizada usando o atual protocolo, o IPv4.
Como servidor de nomes utilizaremos o BIND versão 9, cuja implementação é a mais robusta.
1.1 Onde Encontrar?
Durante a produção desse artigo, a versão mais estável do software se encontrava na 9.2.0. Versões mais recentes podem ser utilizadas.
Código fonte: ftp://ftp.isc.org/isc/bind9/9.2.0/bind-9.2.0.tar.gz
Assinatura PGP do código fonte: ftp://ftp.isc.org/isc/bind9/9.2.0/bind-9.2.0.tar.gz.asc
Chave Pública PGP do ISC: http://www.isc.org/ISC/isckey.txt
1.2 Requisitos
Para aqueles que não estão familiarizados com esse software ou com a versão 9, é fortemente recomendada aleitura do artigo "Bind versão 9: Procedimento de Instalação e Configuração", que pode ser encontrada em http://www.rnp.br/newsgen/0105/bind9.html.
O principal requisito é um sistema operacional que suporte, e que esteja com o protocolo habilitado, SUN Solaris, FreeBSD, OpenBSD, entre outros.
O tutorial de compilação do BIND pode ser consultado no artigo mencionado acima. A instalação automaticamente detectará o suporte a IPv6 do sistema operacional e compilará o software com suporte ao IPv6.
2. Configuração
Com o software instalado, basta configurar as zonas com endereços IPv6, juntamente com o reverso. Mais adiante discutiremos a maneira correta de delegarmos blocos para o reverso.
A edição do arquivo de configuração, "named.conf", só será necessária para o cadastro da zona de reverso.
2.1 Resolução de nomes
O mapeamento nome / ip apenas requer a inclusão dos registros do tipo AAAA no arquivo da zona já existente do seu domínio, junto com os endereços IPv4.
Ex:
sp IN AAAA 2001:04A0:0:1::D
rj IN AAAA 2001:04A0:0:1::9
rs IN AAAA 2001:04A0:0:1::B
rn IN AAAA 2001:04A0:0:1::A
2.2 Resolução reversa
Para a resolução reversa precisamos editar o arquivo de configuração "named.conf" e incluir uma nova zona, a reversa.
O bloco "2001:04A0:0001::/48" foi delegado para testes. Assim sendo, devemos proceder da seguinte forma com a configuração:
Arquivo: named.conf
zone "1.0.0.0.0.a.4.0.1.0.0.2.ip6.int" {
type master;
file "2001:4a0:0001.ip6.int";
};
zone "1.0.0.0.0.a.4.0.1.0.0.2.ip6.arpa" {
type master;
file "2001:4a0:0001.ip6.arpa";
};
Passamos, assim, a responder pelo reverso do bloco que foi cedido. Tal prefixo já deve ter sido delegado pelo provedor de endereços IPv6, da mesma forma como ocorre na delegação de subdomínios.
A forma como se declara o registro reverso é semelhante ao IPv4, ou seja, começando pelo último dígito hexadecimal do endereço, e é denominado de "nibble format".
Arquivo: 2001:4a0:0001.ip6.int
$TTL 86400
@ IN SOA ns.pop-xx.rnp.br. root.pop-xx.rnp.br. (
2001112201
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS ns.pop-xx.rnp.br.
1.b.0.5.6.e.e.f.f.f.c.a.4.0.2.0.0.0.0.0 IN PTR x.pop-xx.rnp.br
b.1.e.c.2.6.e.f.f.f.9.2.6.0.2.0.0.0.0.0 IN PTR y.pop-xx.rnp.br
6.1.1.7.6.e.e.f.f.f.c.a.4.0.2.0.0.0.0.0 IN PTR z.pop.xx.rnp.br
Arquivo: 2001:4a0:0001.ip6.arpa
$TTL 86400
@ IN SOA ns.pop-xx.rnp.br. root.pop-xx.rnp.br. (
2001112201
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS ns.pop-xx.rnp.br.
1.b.0.5.6.e.e.f.f.f.c.a.4.0.2.0.0.0.0.0 IN PTR x.pop-xx.rnp.br
b.1.e.c.2.6.e.f.f.f.9.2.6.0.2.0.0.0.0.0 IN PTR y.pop-xx.rnp.br
6.1.1.7.6.e.e.f.f.f.c.a.4.0.2.0.0.0.0.0 IN PTR z.pop.xx.rnp.br
3. Delegação de prefixos
A forma como se delega blocos de endereços é usando o registro do tipo "NS".
Suponhamos que atribuímos um bloco a nosso cliente e queremos que ele esteja apto a resolver endereços para nomes.
Nosso bloco: 2001:04A0:0001::/48
Bloco atribuído: 2001:04A0:0001:0100::/56
Assim sendo, teremos que adicionar as seguintes informações em nosso arquivo "2001:4a0:0001.ip6.int":
$ORIGIN 0.0.1.0.1.0.0.0.0.A.4.0.1.0.0.2.ip6.int.
@ IN NS xpto.dominio.br.
IN NS xyz.dominio.br.
E nosso arquivo "2001:4a0:0001.ip6.arpa":
$ORIGIN 0.0.1.0.1.0.0.0.0.A.4.0.1.0.0.2.ip6.arpa.
@ IN NS xpto.dominio.br.
IN NS xyz.dominio.br.
4. Novos registros
Segundo a RFC 2874, novos registros para a manutenção das zonas de DNS foram introduzidos:
A6 - substituir o AAAA
DNAME - Delegação de reverso
Esses tipos não serão abordados nesse documento, pois ainda se discute muito da sua real eficiência e utilidade.
Um novo formato para a representação de registros reversos foi também introduzido, tomando o lugar do "nibble format". Estamos falando do uso do "Bitstring label" [5].
Essas novas funções já estão implementas, só que hoje existe uma grande discussão em torno do custo x benefício que essas propostas podem trazer e já se pensa em abandoná-las [6].
5. Conclusão
Como qualquer novo protocolo é normal que tenhamos essas mudanças, e que caminhemos a passos lentos, pois é fundamental que exista a precaução com os efeitos colaterais que essas medidas podem causar no funcionamento da Internet.
Referências bibliográficas
[1] Documentação fornecida com o software.
[2] "Tutorial para o 6BONE", http://www.isi.edu/~bmanning/v6DNS.html.
[3] Bush, R., "Delegation of IP6.ARPA", RFC 3152, Agosto 2001.
[4] Crawford, M. e C. Huitema, "DNS Extensions to Support IPv6 Address Aggregation and Renumbering", RFC 2874, Julho 2000.
[5] Crawford, M., "Binary Labels in the Domain Name System", RFC 2673, Agosto 1999.
[6] Bush, R., Durand, A., Fink, B., Gudmundsson, O. e Hain, T., "Representing IPv6 addresses in DNS", draft-ietf-dnsext-ipv6-addresses-01, Março de 2002.
NewsGeneration, um serviço oferecido pela RNP – Rede Nacional de Ensino e Pesquisa
Copyright © RNP, 1997 – 2004
