CALCULANDO SUBNETS IPv6 COM SIPCALC

Share Button

Muito se tem falado em IPv6 com o esgotamento do IPv4. Para muitos o IPv6 ainda é um grande enigma pelo fato de ser “novo” e a primeira vista bem diferente do IPv4.

Para auxiliar a calcular sub-redes em IPv6 recentemente conheci uma ferramente que achei muito interessante, e particularmente a adotei para meus estudos e para meu dia a dia no trabalho.

O sipcalc é um projeto livre sobre licença GPL/BSD, que pode ser instalado na maioria dos sistemas operacionais derivados do UNIX, sua versão atual do pacote é 1.1.6.

Você poderá baixar o sipcalc AQUI ou instala-lo via apt-get em sistemas debian com o comando:

#apt-get install sipcalc.

Além do sipcalc também realizar calculo de subnet IPv4 como o conhecido ipcalc ele também disponibiliza de cálculos em IPv6.

Opções para IPv6:

IPv6 options:
  -e, --v4inv6			IPv4 compatible IPv6 information.
  -r, --v6rev			IPv6 reverse DNS output.
  -S, --v6split=MASK		Split the current network into subnets
				of MASK size.
  -t, --v6-standard		Standard IPv6. (default)

Visualizando uma classe IPv6

root@jorge:/home/jorge# sipcalc 2001:0DB8::/32 
-[ipv6 : 2001:0DB8::/32] - 0

[IPV6 INFO]
Expanded Address	- 2001:0db8:0000:0000:0000:0000:0000:0000
Compressed address	- 2001:db8::
Subnet prefix (masked)	- 2001:db8:0:0:0:0:0:0/32
Address ID (masked)	- 0:0:0:0:0:0:0:0/32
Prefix address		- ffff:ffff:0:0:0:0:0:0
Prefix length		- 32
Address type		- Aggregatable Global Unicast Addresses
Network range		- 2001:0db8:0000:0000:0000:0000:0000:0000 -
			  2001:0db8:ffff:ffff:ffff:ffff:ffff:ffff

-
root@jorge:/home/jorge#

Dividindo uma classe IPv6

root@jorge:/home/jorge# sipcalc -S /33 2001:0DB8::/32 
-[ipv6 : 2001:0DB8::/32] - 0

[Split network]
Network			- 2001:0db8:0000:0000:0000:0000:0000:0000 -
			  2001:0db8:7fff:ffff:ffff:ffff:ffff:ffff
Network			- 2001:0db8:8000:0000:0000:0000:0000:0000 -
			  2001:0db8:ffff:ffff:ffff:ffff:ffff:ffff

-
root@jorge:/home/jorge#

Com a opção -S podemos subdividir nossa classe /32 em quantas classes forem necessárias, vejamos o exemplo abaixo:

root@jorge:/home/jorge# sipcalc -S /64 2001:0DB8::/32
-[ipv6 : 2001:0DB8::/32] - 0

[Split network]
Network			- 2001:0db8:0000:0000:0000:0000:0000:0000 -
			  2001:0db8:0000:0000:ffff:ffff:ffff:ffff
Network			- 2001:0db8:0000:0001:0000:0000:0000:0000 -
			  2001:0db8:0000:0001:ffff:ffff:ffff:ffff
Network			- 2001:0db8:0000:0002:0000:0000:0000:0000 -
			  2001:0db8:0000:0002:ffff:ffff:ffff:ffff
Network			- 2001:0db8:0000:0003:0000:0000:0000:0000 -
			  2001:0db8:0000:0003:ffff:ffff:ffff:ffff
Network			- 2001:0db8:0000:0004:0000:0000:0000:0000 -
			  2001:0db8:0000:0004:ffff:ffff:ffff:ffff
Network			- 2001:0db8:0000:0005:0000:0000:0000:0000 -
			  2001:0db8:0000:0005:ffff:ffff:ffff:ffff
Network			- 2001:0db8:0000:0006:0000:0000:0000:0000 -
			  2001:0db8:0000:0006:ffff:ffff:ffff:ffff
Network			- 2001:0db8:0000:0007:0000:0000:0000:0000 -
			  2001:0db8:0000:0007:ffff:ffff:ffff:ffff

Nesse caso teremos mais de 65 mil classes possíveis contendo mais de 4 Bilhoẽs de endereços ao todo, ou seja um IPv4 todo.

Com esses resultados conseguimos visualizar onde a rede se inicia e termina, lembrando que no IPv6 não existe porção de rede e porção de host.

Podemos também gerar endereços para DNS reverso da seguinte maneira.

root@jorge:/home/jorge# sipcalc -r 2001:0DB8::/32
-[ipv6 : 2001:0DB8::/32] - 0

[IPV6 DNS]
Reverse DNS (ip6.arpa)	-
0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.

-
root@jorge:/home/jorge#

O sipcalc também disponibiliza opção para integração IPv4 com IPv6 em casos de utilização de tuneis 6to4.

root@jorge:/home/jorge# sipcalc -e 2001:0DB8:: 
-[ipv6 : 2001:0DB8::] - 0

[V4INV6]
Expanded v4inv6 address	- 2001:0db8:0000:0000:0000:0000:0.0.0.0
Compr. v4inv6 address	- 2001:db8::0.0.0.0

-
root@jorge:/home/jorge#

Mais sobre o projeto SIPCALC AQUI

Também não deixe de ler ESSE artigo sobre endereçamento IPv6 disponibilizado pelo ipv6.br