Monthly Archives: February 2014

IPv6 Only Proxmox Containers

So I use an OVH Kimsufi box (kimsufi.com) and have done for the past two years, I love their service but additional IPv4 addresses are £1.50 (ex VAT) a pop per month and you can’t get RIPE blocks allocated on Kimsufi boxes, However you do receive a hefty /64 of IPv6 addresses which equates to around about 18 quintillion addresses.

I’ve been a user of IPv6 since first starting some of my minecraft servers back in 2010. Now I use Proxmox to virtualise servers and recently wondered if one could set up a container with IPv6 only. So here’s the process for any of you wanting to try.

Adding an IPv6 Only Container:

I am using Proxmox version 3.1-21, this process may not produce the same effects in newer/older versions! Be warned :)

Here I am downloading a openvz container template which I will use later to install and configure debian 7, to do this you must go to your desired node, then to storage > content > templates.

Downloading a turnkey linux CT template

Now click your node in the left hand drop down and click create CT, setup your CT with an internal address of 10.0.0.1 or similar for now, we can’t add IPv6 addresses in the web interface and will have to change the IP and DNS settings with the vzctl client on the node shell.

Configuration steps of your new CT (Right to left)

After you have successfully configured and created your CT, you will need to SSH into your Proxmox node in which the CT resides and start by entering

vzctl set <container ID ex: 105> --ipadd [IPv6 Address w/CIDR notation Ex:2001:41d0:8:67d2::80/64] --save

Seeing as you are still in the node’s shell, add the following lines to the bottom of /etc/sysctl.conf

net.ipv6.conf.all.forwarding=1
net.ipv6.conf.all.proxy_ndp=1
net.ipv6.bindv6only=1

And then run a cheeky

sysctl -p

Now we set the new container’s IPv6 name servers with

vzctl set 105 --nameserver 2001:4860:4860::88 --save

This doesn’t give us much flexibility though, so we can manually edit /etc/pve/openvz/[container ID].conf and change the line

NAMESERVER="2001:4860:4860::8844"

to

NAMESERVER="2001:4860:4860::8888 2001:4860:4860::8844 8.8.8.8 8.8.4.4"

And now we can boot the container using the Proxmox web interface!
Log into your CT via proxmox shell/vncproxy and try to ping google.com, if you get replies, success! However if you do not, enter

ip route add ::/0 dev venet0

and confirm your added route with

ip -6 route show

If all works, congratulations, you have a virtual machine with an IPv6 interface, you could always add a v4 address if the pains of not being able to easily access rubygems and github are overcoming you :<

Good luck!

IPv6 Rocks! (Excuse the derpy motd)