Geralmente, apenas configuro um túnel IPv6 (de sixxs.net ou he.net) se eles ainda não têm IPv6 e, dessa forma, o computador tem um endereço estático e não preciso mexer no NAT. Também gosto de configurar a autenticação baseada em chave (eles não precisam informar sua senha).
O Sixxs tem seu próprio cliente que você usa. Ele funciona por trás de quase qualquer NAT e é atualizado automaticamente quando o endereço IPv4 é alterado. Eles têm instruções sobre como configurá-lo e estão empacotados para o Ubuntu.
O Hurricane Electric usa um túnel no qual os pacotes IPv6 são enviados como a carga útil de um pacote IPv4. Ao contrário do Sixxs, nenhum TCP / UDP é usado. Isso significa que o NAT que você está atrasado deve oferecer suporte ao encaminhamento do PROTOCOL 41 (não porta) e apenas um computador atrás do NAT pode usá-lo. O software para usar um túnel como esse está embutido no Ubuntu.
Para ELE, eu uso algo assim em /etc/network/interfaces
:
auto he-ipv6
iface he-ipv6 inet6 v4tunnel
endpoint 216.218.226.238
address 2001:470:a29f::2
netmask 64
ttl 64
up ip -6 route add default dev he-ipv6
down ip -6 route del default dev he-ipv6
A outra coisa que você precisa fazer é atualizar o terminal do túnel. Como você não sabe quando o IP externo muda, será necessário apenas tentar atualizar o terminal a cada poucos minutos. Você pode usar algo parecido com isto e executá-lo no cron:
#!/bin/sh
echo -n "Hurricane Electric Proto-41 tunnel endpoint update: "
#(C) 2010 Erik B. Andersen This script is licensed under the latest version of the
# AGPL published by the Free Software Foundation at http://www.gnu.org/licenses/ .
####Set these for each different site#########
pass="passwordhere"
user_id="a765b8e2f474667dcb56e08c5f1aa05b"
tunnel_id="97817"
####Past here doesn't need to be changed######
wget -4 "https://ipv4.tunnelbroker.net/ipv4_end.php?ipv4b=AUTO&pass=$(echo -n "${pass}" | md5sum | grep -o -E "[0-9a-fA-F]{32}")&user_id=${user_id}&tunnel_id=${tunnel_id}" -O /dev/null -o /dev/null --no-check-certificate
echo " Done"