Route IPv6 addresses to your linux containers (LXC) at OVH.
First make sure you have IPv6 running on the host, newer OVH hosts should have this activated by default.
Allow IPv6 forwarding and proxy ndp, edit /etc/sysctl.conf:
net.ipv6.conf.all.forwarding = 1 net.ipv6.conf.all.proxy_ndp = 1
Now install an neighbor proxy daemon on your host to do IPv6 neighbor solicitations automatically. Download npd6 from https://code.google.com/p/npd6/, you may build a Debian package for Wheezy, see https://code.google.com/p/npd6/wiki/Building_npd6Example.
Building npd6 1.0 for amd64 on Debian Wheezy:
apt-get install make svnversion gcc debuild build-essential dpkg-buildpackage pdebuild-cross cdbs quilt wget http://npd6.googlecode.com/files/npd6-1.0.0.tar.gz tar xzf npd6-1.0.0.tar.gz cd npd6-1.0.0 make debian cd .. dpkg -i npd6_1.0.0_amd64.deb
Now edit /etc/npd6.conf (see /etc/npd6.conf.sample for an example):
// The prefix portion that we will match on //prefix=2a01:0123:4567:89aa: prefix=2001:41d0:x:xxxx: // Which interface are we monitoring and using? interface = br0
Now start ndp6 with “/etc/init.d/ndp6 start”. See “man npd6” for help.
Set an IPv6 address in your LXC config, gateway in my case the br0 interface on the host:
lxc.network.type = veth lxc.network.flags = up lxc.network.link = br0 lxc.network.name = eth0 lxc.network.ipv6 = 2001:41d0:x:xxxx::10/64 lxc.network.ipv6.gateway = 2001:41d0:x:xxxx::2
Network interface config /etc/network/interfaces inside LXC:
auto lo iface lo inet loopback auto eth0 iface eth0 inet6 manual
DNS config /etc/resolv.conf inside LXC:
nameserver 127.0.0.1 nameserver 2001:41d0:3:163::1 search ovh.net
More info:
http://help.ovh.com/Ipv4Ipv6
http://en.wikipedia.org/wiki/Neighbor_Discovery_Protocol