Preste atenção pois o suporte aos túneis 6to4 atualmente não está implementado completamente no kernel vanilla da série 2.2.x (veja systemcheck/kernel para mais detalhes). Veja também que o tamanho do prefixo para um endereço 6to4 é 16, uma vez que do ponto de vista da rede, todos os outros hosts habilitados para 6to4 estão na mesma camada 2.
Antes de tudo, voce precisa calcular o seu prefixo 6to4 usando o seu endereço público IPv4 (se seu host não tem este endereço, é possível utilizar um NAT no router de borda em alguns casos especiais):
Assumindo que o seu endereço IPv4 seja este
1.2.3.4 |
o prefixo 6to4 gerado será este
2002:0102:0304:: |
Gateways locais 6to4 deveriam (mas não é uma regra fixa, pois voce pode escolher um sufixo arbitrário, se voce preferir) sempre assinalar o sufixo "::1", desta forma seu endereço local 6to4 será este
2002:0102:0304::1 |
Por exemplo, use a seguinte automação:
ipv4="1.2.3.4"; printf "2002:%02x%02x:%02x%02x::1" `echo $ipv4 | tr "." " "` |
Atualmente existem duas maneiras possíveis de configurar um túnel 6to4.
Esta é a maneira recomendada (um TTL deve ser especificado, pois o valor default é 0).
Criando um dispositivo de túnel
# /sbin/ip tunnel add tun6to4 mode sit ttl <ttldefault> remote any local ¬ <localipv4address> |
Ativando a interface
# /sbin/ip link set dev tun6to4 up |
Adicionando o endereço local 6to4 na interface (nota: o tamanho do prefixo - /16 - é importante!)
# /sbin/ip -6 addr add <local6to4address>/16 dev tun6to4 |
Adicionando uma rota default para a rede global IPv6 usando o endereço anycast IPv4 todos-6to4-router
# /sbin/ip -6 route add 2000::/3 via ::192.88.99.1 dev tun6to4 metric 1 |
É sabido que algumas versões do comando "ip" (exemplo SuSE Linux 9.0) não suportam endereços IPv6 no formato compatível IPv4 para seus gateways, e neste caso o endereço IPv6 relativo a ele deve ser usado:
# /sbin/ip -6 route add 2000::/3 via 2002:c058:6301::1 dev tun6to4 metric 1 |
Este método está obsoleto porque o uso de um túnel genérico sit0 não permite especificar filtros pelo dispositivo.
Ativando a interface genérica sit0
# /sbin/ifconfig sit0 up |
Adicionando um endereço 6to4 na interface
# /sbin/ifconfig sit0 add <local6to4address>/16 |
Adicionando uma rota default para a rede global IPv6 usando o endereço anycast IPv4 todos-6to4-router
# /sbin/route -A inet6 add 2000::/3 gw ::192.88.99.1 dev sit0 |
Remova todas as rotas que utilizam este dispositivo
# /sbin/ip -6 route flush dev tun6to4 |
Desligue a interface
# /sbin/ip link set dev tun6to4 down |
Remova o dispositivo criado
# /sbin/ip tunnel del tun6to4 |
Remova as rotas default que usam esta interface
# /sbin/route -A inet6 del 2000::/3 gw ::192.88.99.1 dev sit0 |
Remova o endereço local 6to4 desta interface
# /sbin/ifconfig sit0 del <local6to4address>/16 |
Desligue o dispositivo genérico de túnel (cuidado com isto, pois ela ainda pode estar em uso...)
# /sbin/ifconfig sit0 down |