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: 78.627 ]

Por: Buckminster em 10/06/2013


IPv6



O Protocolo de Internet (Internet Protocol) versão 6 (IPv6) é o protocolo de comunicações que fornece um sistema de identificação e localização de computadores em redes e rotas de tráfego através da internet. O IPv6, assim como o IPv4, foi desenvolvido pela Engenharia da Task Force Internet (IETF). O IPv6 está sendo implantado gradativamente e pode funcionar conjuntamente em "Pilha Dupla" (Dual Stack) com o IPv4 através de Túneis (conectando endereços IPv6 entre si), por Tradução de Pacotes (redes IPv4 conversando com redes IPv6) e/ou Tradução de Aplicações (ALG -Application Layer Gateways).

O IPv6 não é só um "upgrade" do IPv4. Ele é um protocolo novo e está requerendo mudanças importantes nos equipamentos, principalmente nos roteadores e está requerendo mudanças nas estruturas de dados das APIs dos softwares, além de novas funções para suportar a conversão de nomes em endereços e vice-versa.

Por isso alguns problemas atualmente de determinados sites que volta e meia ficam "fora do ar" devido à questões de DNS e incompatibilidade com o proxy.

Um endereço IPv4 é formado por 32 bits:
2 elevado à 32 = 4.294.967.296 de combinações possíveis (cerca de 4 bilhões de endereços).

Um endereço IPv6 é formado por 128 bits:
2 elevado à 128 = 340.282.366.920.938.463.463.374.607.431.768.211.456 de combinações possíveis (cerca de 340 undecilhões de endereços).

Toma-se o número 2 como base porque é em sistema binário.

Obs.: esta mesma conta podemos fazer para diferenciar sistemas operacionais de 32 e 64 bits. Sistemas de 64 bits NÃO são o dobro mais rápidos que sistemas de 32 bits.

2 elevado à 32 = 4.294.967.296 (cerca de 4 bilhões).
2 elevado à 64 = 18.446.744.073.709.551.616 (cerca de 18 sextilhões).

Portanto, vê-se que são precisamente 4.294.967.296 de vezes mais rápidos que sistemas de 32 bits (4.294.967.296 x 4.294.967.296 = 18.446.744.073.709.551.616). Ou cerca de 4 bilhões de vezes mais rápidos. Sistemas de 64 bits podem endereçar 16 hexabytes de memória, porém, ainda não se tem essa tecnologia, por isso sistemas de 64 bits endereçam somente 128 Gigabytes.

Um endereço IPv6 tem 8 blocos de 16 bits cada, separados pelo caractere dois pontos (:). Cada grupo de 16 bits tem 4 números hexadecimais que variam de 0000 a FFFF onde cada dígito tem 4 bits.

A representação dos endereços IPv6, divide o endereço em oito grupos de 16 bits, separando-os por ":", escritos com dígitos hexadecimais:
2001:0DB8:AD1F:25E2:CADE:CAFE:F0CA:84C1
Na representação de um endereço IPv6 é permitido:
  • Utilizar caracteres maiúsculos ou minúsculos.
  • Omitir os zeros à esquerda.
  • Representar os zeros contínuos por "::".

Exemplo:

2001:0DB8:0000:0000:130F:0000:0000:140B
  • Formato correto → 2001:db8:0:0:130f::140b
  • Formato inválido → 2001:db8::130f::140b (gera ambiguidade)

Somente um bloco de zeros pode ser omitido entre dois pontos, se estiverem separados.

Outro exemplo:

2001:12f0:09c0:0064:0000:0000:0000:0201, temos:
  • 2001:12f0:9c0:64::201 (é endereço de interface)
  • 2001:12f0:09c0::/48 (é identificação de rede)
  • 2001:12f0:09c0:0064::/64 (é identificação de sub-rede)

Não vou me estender com o IPv6, pois o assunto é longo. No link abaixo tem uma boa apostila:
Lembrando que números hexadecimais vão de 0 à F:
0 1 2 3 4 5 6 7 8 9 A B C D E F = 16 dígitos.
Onde A, B, C, D, E e F não são letras, são números que representam 10, 11, 12, 13, 14 e 15, respectivamente, em decimal.

Com o IPv6 será possível cada máquina navegar na internet com seu próprio endereço IP, não necessitando mais de sub-redes internas e, por conseguinte, não necessitando mais de NAT (Network Address Translation, Tradução de Endereços de Rede).

Isso gera discussão, pois haverá um controle maior na internet. Cada roteador utilizando o protocolo IPv6 deixará no cabeçalho IPv6 o endereço IP da máquina que fez a solicitação (de um site, por exemplo), diferentemente da maneira que é feito hoje com o NAT, onde o roteador seta na sua tabela de roteamento o endereço IP de origem da máquina cliente, porém, não repassa essa informação adiante. Somente guarda para ele, afim de que possa retransmitir a resposta do pacote quando ela voltar para a máquina cliente que o solicitou, e o roteador envia o pacote para fora colocando no cabeçalho o seu próprio endereço IP como sendo o IP de origem.

E o IPv6 sairá com o endereço MAC da placa de rede embutido nele. Ou seja, a internet toda terá uma estrutura quase que ponto a ponto.

A menos que seja colocado um NAT no protocolo IPv6. Entretanto, alguns autores discordam alegando que o NAT acaba com o modelo de funcionamento fim a fim (peer to peer), trazendo complicações ou impedindo o funcionamento de uma série de aplicações, como por exemplo, aplicações de voz sobre IP baseadas em SIP; ele não escala bem, pois exige processamento pesado; ele não funciona com IPsec; ele funciona como um stateful firewall, dando uma falsa sensação de segurança a muitos administradores de rede e colaborando para a não adoção de boas práticas de segurança nas empresas; entre outros.

Em contrapartida, com o IPv6 sem NAT, você poderá, por exemplo, acessar sua impressora doméstica do computador de seu serviço, se quiser. Outros equipamentos também poderão também ser ligados à internet, como fogões, geladeiras, cafeteiras, lâmpadas, câmeras de vigilância, etc.; dessa forma será possível controlá-los ou visualizá-los à distância. Não sei porquê alguém iria querer controlar sua cafeteira pela internet, mas, enfim.

Quem controla a distribuição de endereços IPs no mundo é a IANA (Internet Assigned Number Authority). A IANA dividiu o mundo em cinco regiões (África, Ásia, América do Norte, América Latina e Europa) e cada uma dessas regiões tem um escritório regional que cuida da alocação de endereços IPs. Aliás, esse é o órgão que determina as normas mundiais para a internet. Essas regiões são os RIRs (Regional Internet Registry - Registros Regionais para a Internet).
  • American Registry for Internet Numbers (ARIN) :: para a América do Norte e partes da região do Caribe.
  • RIPE Network Coordination Centre (RIPE NCC) :: para a Europa, Oriente Médio e parte central da Ásia.
  • Asia-Pacific Network Information Centre (APNIC) :: para a Asia e regiões do Pacífico.
  • Latin American and Caribbean Internet Addresses Registry (LACNIC) :: para a América Latina e partes da região do Caribe.
  • African Network Information Centre (AfriNIC) :: para a África.

Em cada país existe um órgão que controla os domínios que serão criados. No Brasil esse órgão é o Registro.br que regulamenta e monitora as atividades de registro e manutenção de domínios do tipo .br.

Para colocar um site "no ar" se faz necessário o registro no Registro.br, onde a pessoa verifica a disponibilidade do domínio que ela deseja, ou seja, se ninguém o registrou.

E depois desse registro, o domínio criado (www.algumacoisa.com.br, por exemplo) é associado a um endereço IP e o domínio é colocado "no ar". Para ter o próprio servidor web, o vivente deverá adquirir um IP fixo junto à sua operadora de telefonia.

Para fazer esse registro é necessário fornecer ao Registro.br dois DNSs (pode-se utilizar os DNSs do próprio Registro.br) e pagar uma taxa anual, se não o site não irá "para o ar". Entretanto, é uma taxa que não é alta.

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

Configuração do sistema, DHCP, compartilhamento e DNS no Debian Squeeze

DHCP com controle de IP e compartilhamento no Debian Squeeze

Manual traduzido do Squid - Parte 3

Squid - Entendendo um pouco as configurações

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

Leitura recomendada

Como encontrar o NetID e o Broadcast de uma determinada rede

Docker - Containers em Linux

Redes de Computadores · IPtables · Endereços IPs - Explicações básicas

"TORIFICANDO" todo um sistema GNU/Linux utilizando a rede TOR

Proxy Squid com SquidGuard + Controle de Banda e Autenticação NTLM no Samba 4 (CentOS 6.5 - 64 bits Minimal)

  
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
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts