Hurricane Electric IPv6 – Sage

Friday, January 22nd, 2010

I had some free time and I could finally complete the HE’s IPv6 certification. After setting up postfix as an experimental mail server and taking care of reverse DNS for my routed IP’s (most of the other things were taken care of before), I became a “Sage” :)

IPv6 Certification Badge for N37L0RD

I don’t think of this certification as any real knowledge indicator but it sure is a great way to motivate you to explore the world of IPv6.

DHCPv6 (relay) and RADVD in harmony

Saturday, January 9th, 2010

Today it was time to test IPv6 routing on a much bigger scale than any of my previous tests and it took me and a friend a few hours to find a solution to a supposably simple problem.

Ok, first some theory about what we were trying to achieve. In IPv4 world, DHCP server sets client’s IP address, DNS servers, gateway and many other optional parameters and it all works great from one place. However, in IPv6 world, DHCP server doesn’t set your gateway address. Why is that so? Well, I can’t think of a good reason, but I guess this is because of some “architectural” changes in IPv6.

I have known this before and I also had a solution to that problem – mix it with radvd (Router Advertisement Daemon). What does radvd do? It advertises your router and IPv6 prefix to the connected clients and enables them to configure IPv6 much like a DHCPv6. So why can’t we use just one of them? Because radvd also gives your client a gateway address, but it can’t set things like DNS or NTP servers and other DHCP-like parameters.

And this is where we encountered a problem…

It all worked great (and as expected) when we had only one of them working (except that some of the things were missing), but when we started both of them it simply ignored DHCPv6. Ok… so we now need to persuade clients to use both of them to configure their networking and we need to make that on the server-side.

And just how do we do that? Well, after about two hours of searching, I dug into radvd.conf Manpage and what did I see?


AdvManagedFlag on|off

When set, hosts use the administered (stateful) protocol for address autoconfiguration in addition to any addresses autoconfigured using stateless address autoconfiguration. The use of this flag is described in RFC 2462.

Default: off

And after setting this parameter in my radvd configuration file, clients started to pump information from both radvd and DHCPv6.

At the end I would like to recommend Dibbler – a portable DHCPv6 as your DHCPv6 server or relay agent as it really worked out of the box and after a few configuration changes we were ready to roll.