My previous experiences with Sixxs service have been very positive but this time I used Freenet6 for no other reason but just to try out another one. And like Sixxs, this one seems to be well done. Setup was easy with two minor hiccups. (I will elaborate later in the text)

This site has a little LAN with an IPv4 Internet access through many-to-one NAT, via wireless router. My plan was to use the old desktop machine and install Virtualbox on it. Then I would create a new virtual host with Ubuntu Server as OS and use this as my IPv6 router.

Gogo-client’s configuration

if_prefix means the interface on which I want my prefix to be advertised. This would be the interface facing the LAN with the client computers.

tunnel_mode The mode i chose is the one meant for hosts that are unfortunate enough to connect from behind NAT.

Connecting to IPv6 Internet

After modifying the gogoc config file, I attempted to connect. Here was a minor issue. I could make the connection to work if I changed the config to use anonymous connection. Connecting authenticated would not work. After wondering about for a while I found out (by running the client on foreground) that while attempting authenticated connection the client’s script was asking Yes/No question about wether or not I want to accept a servers key. I once accepted it and after that running client on background produced a working connection.

Run Gogo-client by commanding
sudo gogoc

Then check that you have a new tunnel interface with an IPv6 address and a globally valid-looking IPv6 address in your LAN interface.
ifconfig

Sometimes the connecting seems to take a while. Be patient and if you lose faith, check the log to see what is going on.

tail -F /var/log/gogoc/gogoc.log

You can increase logging verbosity by adjusting values in gogoc.conf.

Since I got connected after few tries, I was then able to ping and trace around

ping6 ipv6.google.com
traceroute6 ipv6.google.com

ip6tables firewall

Here is my ip6tables firewall config.

Save it for example to /home/admin/firewall6 and apply it by saying
sudo ip6tables-restore < /home/admin/firewall6

That mkdir -command is there because of the second issue I experienced.

Every time I rebooted my host, gogoc would not connect because of missing

/var/run/gogoc

This is my quick and very dirty fix to that. You may want to try if you get it rolling without such ridiculous trick.

Conclusion

Everything works now the way I was hoping. Client computers can access Internet hosts with both IPv4 and IPv6. The configurations on my Linux router persist over reloads. Client computers use for now only IPv4-based name server.