IPv6, DNSv6 e DHCPv6

Este artigo contém algumas informações destinadas para quem já tem algum conhecimento de redes e de GNU/Linux, porém, nada impede que um iniciante se interesse pelo assunto e, com algum estudo, aplique os conhecimentos aqui apresentados. Há algumas explicações básicas também.

[ Hits: 84.574 ]

Por: Buckminster em 10/06/2013


Configurações extras - DHCPv6



O Dynamic Host Configuration Protocol (DHCP) para IPv6 permite passar parâmetros de configuração de endereços IPv6 para endereços IPv6. Ele oferece a capacidade de alocação automática de endereços de rede reutilizáveis com bastante flexibilidade. De acordo com a RFC 3315, este protocolo é uma contrapartida stateful para "IPv6 Stateless Address Autoconfiguration" (RFC 2462), sendo que podem ser usados separadamente ou simultaneamente.

O DHCPv6 atua na camada de transporte utilizando pacotes UDP para transmitir informações entre o cliente e o servidor. Os clientes escutam na porta 546 enquanto que os servidores e relays escutam na porta 547. Os termos DHCPv4 e DHCPv6 são utilizados apenas em contextos onde é necessário evitar ambiguidades.

DHCP Unique Identifier (DUID)

Cada cliente e servidor DHCPv6 tem um DUID (Identificador Único DHCP). Os servidores DHCPs usam DUIDs para identificar clientes e selecionar parâmetros de configuração para associação de identidade para endereços não-temporários (IA - Identity Association for Non-Temporary Addresses) com os clientes. Clientes DHCP usam DUIDs para identificar os servidores.

Clientes e servidores devem tratar DUIDs como valores opacos e só devem comparar DUIDs e não devem, sob hipótese nenhuma, interpretar e nem restringir DUIDs.

O DUID pode ser de comprimento variável e não é necessário em todas as mensagens de DHCP. O DUID foi projetado para ser exclusivo e estável em todos os clientes e servidores DHCP. O DUID de um cliente ou servidor não deve mudar ao longo do tempo e, se possível, não deve ser alterado como resultado de uma mudança de hardware de rede em um dispositivo.

Isso é o que está na RFC 3315, a RFC do DHCPv6.

Para exemplificar vamos navegar até a seguinte chave do registro do Windows (7 e 8): HKLM\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters e aqui encontraremos o valor:
Dhcpv6DUID REG_BINARY 00 01 00 01 19 29 fa 52 00 ef 8c ea 6e 9b
Pois o Windows cria automaticamente um Túnel Teredo para conexão IPv6, mas que navega em poucos sites. Vemos que os 6 últimos grupos de 2 dígitos hexadecimais do DUID (00 ef 8c ea 6e 9b) é o endereço MAC padrão IEEE 802 da placa de rede e os 8 primeiros grupos de 2 dígitos é o endereço padrão EUI-64.

Existem dois tipos de endereços de interfaces: endereços de 64 bits (padrão EUI-64) e os já conhecidos endereços MAC de 48 bits (padrão IEEE 802). Os endereços EUI-64 são atribuídos a um adaptador de rede pela IEEE ou derivados dos endereços físicos MAC IEEE 802.

12 x 4 = 48 bits e 16 x 4 = 64 bits. Lembre-se que cada dígito hexadecimal corresponde a 4 bits e são separados em grupos de dois para representar um octeto (1 Byte = 8 bits).

O IID pode ser configurado de 4 maneiras: manualmente, a partir do mecanismo de autoconfiguração stateless do IPv6, a partir de servidores DHCPv6 (stateful), ou formados a partir de uma chave pública (CGA).

O identificador de interface (IID) é utilizado para distinguir as interfaces dentro de um enlace e deve ser único dentro do mesmo prefixo de sub-rede. O mesmo IID pode ser usado em várias interfaces em um único nó, porém, elas devem estar associadas a diferentes sub-redes.

Não confunda DUID com IID, são coisas diferentes, porém, os dois são obtidos através do endereço EUI-64 e do endereço MAC da placa de rede. E ainda temos o IA (IAID ou IA_NA), mencionado acima, o qual é outro tipo de identificação.

Se você está confuso, não se preocupe, todos esses controles estão vindos prontos, habilitados nos softwares dos roteadores e outros equipamentos. Você só terá o trabalho de estudar como funciona essa coisa toda para poder se precaver de todas essas identificações.

O endereço MAC acima não é o endereço verdadeiro, está clonado. Ao clonar o endereço MAC no Windows (7 e 8) altera-se o DUID e perde-se a conectividade não bastando mais reiniciar a máquina, mas tendo também que reiniciar manualmente a placa de rede através do prompt de comando.

No GNU/Linux, como não vem configurado o tal Túnel Teredo, aliás, não vem túnel nenhum configurado, isso não acontece. Basta alterar o MAC, executar ifdown ethx e depois ifup ethx que retorna a conectividade.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. IPv6
   3. DNSv6
   4. Cabeçalhos IPv4 e IPv6
   5. Configurações - DNS
   6. Configurações - Resolução reversa
   7. Configurações extras - Roteador
   8. Configurações extras - DHCPv6
   9. Implementação DHCPv6
   10. Conclusão
Outros artigos deste autor

Manual do IPtables - Comentários e sugestões de regras

kernel Linux otimizado - Compilação e teste

Instalando e Configurando o pgAgent no Linux (pgAdmin e PostgreSQL)

Compilação do Kernel

Instalar OBS Studio e VLC no Slackware 15

Leitura recomendada

Emulador de Redes Mininet

Montagem de um cluster com o MOSIX

Tutorial hadoop - Guia prático de um cluster com 3 computadores

Problemas encontrados na adoção do IPv6

Openconnect - Conexão de VPN Paloalto no Debian

  
Comentários
[1] Comentário enviado por danniel-lara em 10/06/2013 - 17:54h

Parabéns pelo Artigo , ficou bagual

[2] Comentário enviado por Buckminster em 10/06/2013 - 18:06h


[1] Comentário enviado por danniel-lara em 10/06/2013 - 17:54h:

Parabéns pelo Artigo , ficou bagual


Mas credo tchê, loco de especial!

Obrigado conterrâneo.

[3] Comentário enviado por joubertvh1 em 11/06/2013 - 07:54h

Parabéns mesmo muito interessante

[4] Comentário enviado por Buckminster em 11/06/2013 - 15:58h


[3] Comentário enviado por joubertvh1 em 11/06/2013 - 07:54h:

Parabéns mesmo muito interessante


Obrigado.

[5] Comentário enviado por Buckminster em 19/06/2013 - 00:18h

AQUI NESTA PARTE

zone "1.8.b.d.1.0.0.2.ip6.arpa" {
tope master;
file "/etc/bind/2001:db8::1.ip6.arpa";
};

O CERTO É

zone "1.8.b.d.1.0.0.2.ip6.arpa" {
type master;
file "/etc/bind/2001:db8::1.ip6.arpa";
};

[6] Comentário enviado por px em 19/06/2013 - 21:34h

bacana seu artigo, ótima contribuição para o VOL.

[7] Comentário enviado por Buckminster em 20/06/2013 - 12:44h


[6] Comentário enviado por px em 19/06/2013 - 21:34h:

bacana seu artigo, ótima contribuição para o VOL.


Obrigado.
Estamos aí.

[8] Comentário enviado por albfneto em 22/06/2013 - 21:52h

Muito legal, favoritado e 10! Por isso que a USP não atribuí IP estático pros micros dos alunos? Não pode encher uma rede de IPs fixos?

[9] Comentário enviado por Buckminster em 22/06/2013 - 23:25h


[8] Comentário enviado por albfneto em 22/06/2013 - 21:52h:

Muito legal, favoritado e 10! Por isso que a USP não atribuí IP estático pros micros dos alunos? Não pode encher uma rede de IPs fixos?


Obrigado.

IP estático causa problemas de segurança, além disso, dá um trabalho enorme fixar IPs máquina por máquina ou fixar no DHCP em redes grandes.
Se uma máquina com IP fixo tiver um problema na placa de rede, ao trocar a placa de rede terá que se fixar novamente o IP no DHCP, pois isso é feito pelo endereço MAC e cada placa tem seu próprio MAC.

O DHCP foi criado justamente por isso, para facilitar a distribuição de IPs automaticamente e para facilitar a vida dos administradores de redes.

IP estático, que eu saiba, só se usa em servidores (que não podem ficar mudando de IP toda hora, pois devem ser facilmente encontrados na rede) e em alguns casos específicos de máquinas clientes onde o acesso e o controle devem ser feitos por questões de segurança ou permitir fácil administração (diretoria, alguns setores, etc).

[10] Comentário enviado por matos.alessandro em 25/06/2013 - 09:34h

Quero aprender ipv6 e esse é um ótimo texto introdutório para esses serviços.

Quanto ao fornecimento de endereços de rede, sobre ipv4, o serviço dhcp pode fornecer ips de uma lista, de forma que o equipamento sempre receba o mesmo ip. Cadastra-se o mac-address da placa do equipamento e indica-se o ip e pronto. Tenho uma rede com 400 hosts onde tenho controle de que equipamento faz o que assim, sem problemas, casando isso com squid etc. Uma rotina shell dá conta do recado, buscando um arquivo .txt com as informações e populando o arquivo de configuração do dhcp, dentre outros...

/etc/dhcpd.conf
.
.
.
host INTRANET {
fixed-address 10.0.0.10;
hardware ethernet 00:0C:29:84:5C:99;
}
.
.
.

No ipv6, com certeza, há de haver solução similar ou mais interessante ainda.


Excelente artigo.

[11] Comentário enviado por Buckminster em 25/06/2013 - 10:25h



[12] Comentário enviado por Buckminster em 25/06/2013 - 10:30h



[13] Comentário enviado por Buckminster em 25/06/2013 - 10:31h


[12] Comentário enviado por Buckminster em 25/06/2013 - 10:30h:


[11] Comentário enviado por Buckminster em 25/06/2013 - 10:25h:


[10] Comentário enviado por matos.alessandro em 25/06/2013 - 09:34h:

Quero aprender ipv6 e esse é um ótimo texto introdutório para esses serviços.

Quanto ao fornecimento de endereços de rede, sobre ipv4, o serviço dhcp pode fornecer ips de uma lista, de forma que o equipamento sempre receba o mesmo ip. Cadastra-se o mac-address da placa do equipamento e indica-se o ip e pronto. Tenho uma rede com 400 hosts onde tenho controle de que equipamento faz o que assim, sem problemas, casando isso com squid etc. Uma rotina shell dá conta do recado, buscando um arquivo .txt com as informações e populando o arquivo de configuração do dhcp, dentre outros...

/etc/dhcpd.conf
.
.
.
host INTRANET {
fixed-address 10.0.0.10;
hardware ethernet 00:0C:29:84:5C:99;
}
.
.
.

No ipv6, com certeza, há de haver solução similar ou mais interessante ainda.


Excelente artigo.


Obrigado.
Sim, isso chama-se "amarração" de IPs pelo endereço MAC. No IPv6 também pode ser feita essa mesma amarração no caso de endereços de link local.

Você também pode amarrar os IPv4 pela tabela de ARP estática. Sendo teu servidor o gateway da sua rede local, é só criar o arquivo /etc/ethers com os MAC e os IPs de cada máquina:

00:11:22:33:44:55 192.168.0.2
11:22:33:44:55:66 192.168.0.3

Depois você coloca dentro do /etc/rc.local (ou similar, depende da distribuição) o comando arp -s para carregar a lista. Assim, se outra máquina colocar um IP fixo q não esteja associado ao MAC da sua máquina (que não esteja na lista), não conseguirá ter acesso.


[14] Comentário enviado por Buckminster em 25/06/2013 - 10:34h


[



[15] Comentário enviado por edersonschmitz em 24/09/2013 - 16:51h

Gostaria de fazer um dhcpd6.conf com endereços fixos, mas estou com dificuldade de obter a UID de cliente. Como faço para vincular o ip ao cliente?

[16] Comentário enviado por Buckminster em 29/11/2013 - 23:32h


[15] Comentário enviado por edersonschmitz em 24/09/2013 - 16:51h:

Gostaria de fazer um dhcpd6.conf com endereços fixos, mas estou com dificuldade de obter a UID de cliente. Como faço para vincular o ip ao cliente?


Vincule como no dhcp4, amarre o MAC ao endereço IP.

[17] Comentário enviado por andreyg em 13/03/2017 - 17:14h

Eu tenho que configurar um servidor DHCPV6 para testar telefones IPV6. (um servidor isolado para não enviar ipv6 para empresa toda) com posso fazer?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts