# this only works if the machine is directly on the internet
# not behind NAT!
# assuming 18.104.22.168 is the public IP in a connected network interface
# and 2002:601E:6FA5::1/64 as your IPv6 address, derived from IPv4
ip tunnel add tun6to4 mode sit ttl 128 remote any local 22.214.171.124
ip -6 addr add 2002:601E:6FA5::1/64 dev tun6to4
ip link set dev tun6to4 up
ip -6 route add 2000::/3 via ::126.96.36.199 dev tun6to4 metric 1
traceroute -6 google.com
This creates a 6to4 SIT tunnel provided by your ISP (if available).
Wiki info: https://en.wikipedia.org/wiki/6to4
This method gives you a /64 IPv6 in the 6to4 reserved range 2002::/16.
For this the machine has to be directly on the internet, in other worlds, a network interface has to have a public IPv4 address. In this example we use 188.8.131.52. Your IPv6 address range is derived from the IPv4 address. You can use this calculator to do that: http://silmor.de/ipaddrcalc.html#ip46 (the 6to4 prefix calculator).
First, check if your ISP is offering 6to4. Just traceroute to 184.108.40.206 and see if you get back a response.
If your IPv4 changes, you must recreate the tunnel with the new addresses.