Eu tive o mesmo problema e resolvi o problema. Sua pergunta me ajudou muito, na verdade. O tunelamento de loopback foi o truque.
Houve mudanças significativas no SO do ASA, especialmente no que diz respeito ao NAT, na versão 8.3. É isso que estou executando, então é provável que a sintaxe não funcione antes do 8.3. Eu não sei se você poderia fazer isso antes de 8.3.
Veja como está configurado. Vou incluir alguns trechos de configuração abaixo para confirmar isso.
Como você, eu tenho um ASA entre meu roteador de borda e minha rede interna. Eu tenho apenas um endereço IPv4 publicamente endereçável. Consegui o tráfego do protocolo NAT 41 entre um host externo específico e um host interno específico usando o endereço IP público externo do ASA. O túnel é terminado em um host interno.
O host interno possui duas interfaces ethernet. Um deles, conectado à rede interna, só executa o IPv4. O outro, conectado ao mesmo segmento da interface externa do ASA, só executa o IPv6. Há também uma interface de túnel para o túnel IPv6. A configuração do túnel veio diretamente do site da Hurricane Electric. Se você tiver um túnel configurado com eles, eles poderão mostrar instruções de configuração detalhadas para pelo menos oito sistemas operacionais diferentes.
O ASA usa o endereço IPv4 do roteador de borda como a rota IPv4 padrão. Ele usa o endereço IPv6 do ponto final do túnel, pois é o endereço IPv6 padrão. Os hosts internos usam o ASA como sua rota padrão para qualquer versão, exceto o ponto de extremidade do túnel, que usa sua interface de túnel como o padrão para o IPv6.
Os pacotes IPv6 passam pelo ASA duas vezes em cada direção. Fora, eles passam pelo ASA, até o ponto final do túnel, onde são colocados no túnel, e saem novamente pelo ASA. Tanto o IPv4 quanto o IPv6 obtêm todos os benefícios do firewall ASA.
O verdadeiro truque foi obter o tráfego do protocolo 41 através do ASA. Aqui estão as peças que fizeram esse trabalho:
object service 6in4
service 41
object network ipv6_remote_endpoint
host x.x.x.x
object network ipv6_local_endpoint
host y.y.y.y
access-list outside_in extended permit object 6in4 object ipv6_remote_endpoint object ipv6_local_endpoint
nat (inside,outside) source static ipv6_local_endpoint interface destination static ipv6_remote_endpoint ipv6_remote_endpoint
Boa sorte com isso!
Rob