Categories
Linux Tutoriais

Como verificar se seu sistema Linux tem suporte a IPv6

Como verificar se seu sistema GNU/Linux é compatível e oferece total suporte ao protocolo de rede IPv6.

Com a popularização (que já está passando da hora) do padrão IPv6, parece pertinente verificar se seu sistema já possui suporte a este protocolo.
Se você está usando uma distribuição atualizada do GNU/Linux, provavelmente tudo estará pronto.
Contudo, sabendo que é fácil, por que não fazer um ou dois testes simples?
Há várias formas de testar o suporte ao IPv6, no Linux.
ipv6 logo gray on white

Como verificar o suporte ao IPv6 no kernel

Como já expliquei antes, o sistema de arquivos /proc funciona como um conjunto de janelas, que nos permitem espiar as condições do kernel.
Para isto, basta usar o comando cat (às vezes combinado ao comando grep) sobre algum dos arquivos virtuais do /proc.
Se o arquivo /proc/net/if_inet6 existe, então o suporte está lá.
Ao olhar o seu conteúdo, é possível verificar quais interfaces, no seu sistema, estão funcionando com suporte ao IPv6:

cat /proc/net/if_inet6 

No meu caso, as interfaces de rede loopback e wireless estão operando com o suporte ao novo protocolo:

00000000000000000000000000000001 01 80 10 80       lo
fe80000000000000c68508fffea50aaa 03 40 20 80    wlan0

Se você preferir, use a seguinte linha de comando, para rodar um teste:

test -f /proc/net/if_inet6 && echo "Este kernel está pronto pro IPv6!"

Se o arquivo if_inet6 estiver presente, o resultado será:

Este kernel está pronto pro IPv6!

Você pode usar esta linha comando em um script, que precise verificar as condições de rede do sistema.
Em máquinas que estejam rodando versões antigas do kernel (anterior ao 2.2.x), você pode verificar se o módulo de suporte ao IPv6 está carregado no kernel:

lsmod |grep -w 'ipv6'
ipv6
268960 12

Nas versões atuais do kernel isto é desnecessário (e não vai retornar qualquer resultado) por que o suporte já vem incluído e compilado.
Você pode usar o comando uname para determinar que versão do kernel está rodando na sua máquina:

uname -r
3.16.0-4-amd64

Obviamente, verificar a versão do kernel, podia ter sido feito logo no começo — e a gente já teria cortado todo este “papo furado”… Mas estamos aqui para aprender. 😉

use o comando ping6 para determinar o suporte ao IPv6

O ping6 é a versão IPv6 do conhecido comando ping. Veja como usar:

ping6 -c4 localhost
PING localhost(localhost) 56 data bytes
64 bytes from localhost: icmp_seq=1 ttl=64 time=0.031 ms
64 bytes from localhost: icmp_seq=2 ttl=64 time=0.034 ms
64 bytes from localhost: icmp_seq=3 ttl=64 time=0.038 ms
64 bytes from localhost: icmp_seq=4 ttl=64 time=0.038 ms

--- localhost ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2998ms
rtt min/avg/max/mdev = 0.031/0.035/0.038/0.005 ms

O resultado, acima, indica que o meu sistema está ok para o IPv6.

Todas as distribuições GNU/Linux atuais e mantidas por suas equipes de desenvolvedores, têm suporte ao protocolo IPv6, sem a necessidade de se fazer qualquer configuração extra.

Se a sua distro não suporta o IPv6, o que é raro, sugiro a leitura do HOWTO no link abaixo (em inglês).

Referências

http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/systemcheck-kernel.html.

By Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia.
Fã de séries, como "Rick and Morty" e "BoJack Horseman".
Me siga no Twitter e vamos trocar ideias!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.