9.4. Configuração de túneis 6to4

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.

9.4.1. Adição de um túnel 6to4

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.

9.4.1.1. Usando "ip" e um dispositivo de túnel dedicado

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

9.4.1.2. Usando "ifconfig" e "route" e um dispositivo de túnel genérico "sit0" (obsoleto)

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

9.4.2. Removendo um túnel 6to4

9.4.2.1. Usando "ip" e um dispositivo de túnel dedicado

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 

9.4.2.2. Usando "ifconfig" e "route" e o dispositivo genérico de túnel "sit0" (obsoleto)

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