Playing around with 6to4 tunneling in GNS, it looks like the source that's used for the tunnel interface has to have an IPv4 address assigned to it. I had the following:
ip address 10.10.20.1 255.255.255.0
ipv6 address 2002.x.x.x.x.x/64 (the ipv4 equivalent of the ip address above)
ipv6 address 2002.x.x.x.x.x/64 the ipv4 equivalent of lo1, but different host address
tunnel source lo1
The above worked fine, but I tried to remove the ipv4 address from the loopback interface, and the tunnel interface went down. Is that normal? What happens if I want to have an ipv6 network only on the inside, but I can only transmit traffic over an ipv4 backbone? Would the relay router be the one to be dual stack and then create the tunnel to the ipv4 network on the other side?
6To4 allows to build automatic tunnels between multiple IPV6 islands
each IPv6 island border device has to be dual stack with an ipv4 interface to the ipv4 backbone.
notice that this is point-to-multipoint the destination ipv4 address is embedded on the ipv6 address as you did.
This provides 6to4 a built-in resolution method to find the right endpoint for a packet knowing its ipv6 next-hop ip address
From the ipv6 routing point of view all the 2002/16 is reachable via the single 6to4 tunnel with an explicitly configured ipv6 static route that specifies the tunnel as the outgoing interface.
Then with a recursion more specific static routes for the real ipv6 destination subnets use specific next-hops in 2002:/16.
If you have experience of it you can compare 6to4 with DMVPN where you use mGRE and resolution mechanism (private ipv4 address to public ipv4 address) is provided by NHRP.
For all the reasons stated above:
the tunnel source interface needs to have an ipv4 address and the same happens on the other side.
Hope to help