Setting up IPv6 radvd and dibbler to work together on Ubuntu 10.04

Unfortunately a lot of devices don’t pass on RDNS information from radvd  even though it’s included in the RFC. The best it can do is a default gateway and an IPv6 address. You are supposed to be able to pass RDNS information, but I’ve found that the devices that I’ve tried (Windows 7 and Android Gingerbread, still don’t support that part of the Request for Comment) hence the use of DHCPv6.

The host that I use to allocate IPv6 addresses has its firewall set to deny all as default, so I had to open the following port to allow DHCPv6 to work. You can probably ignore the step below, (it’s just a reminder to me to check these things) 😀

SLAAC (Stateless Address Auto Configuration) with stateless DHCPv6

We will use SLAAC to assign our client PCs a valid IPv6 address and assign a valid IPv6 gateway and use a stateless configuration of DHCPv6 to assign our DNS (RDNSS) servers.

You may or may not want to read RFC 4862 which defines SLAAC and RFC 5175 which defines RA (router adverts) so you understand the whole process better. Specifically you need to understand how the Managed address configuration flag and Other configuration flag effect your RADVd configuration and your DCHPv6 configuration.

  • The Managed address configuration flag expressed as AdvManagedFlag on/off in your /etc/radvd.conf file controls rather the host will use DHCPv6 to obtain its IPv6 address and IPv6 gateway settings. In the ON setting we are saying we want to use statefull DHCPv6 where the DHCP daemon provides all IPv6 addressing information. We can still use RA (radvd daemon) to assign the default gateway(s) for the broadcast domain.
  • The Other configuration flag expressed as AdvOtherConfigFlag on/off in your /etc/radvd.conf file controls rather the host will use DHCPv6 to get additional information like the address of DNS (RDNSS) server(s). In the OFF state the host will NOT use DHCPv6 to get DNS server information, ON will have the host use DHCP for DNS server assignment.

So, for this configuration to work, we will need to set the AdvManagedFlag off and AdvOtherConfigFlag on in our /etc/radvd.conf file. First though, we’ll install radvd on our system.

Install radvd.

Now, we’ll rename the original /etc/radvd.conf file to /etc/radvd.conf.old.

We’ll now create a radvd file with the appropriate settings.

Add the following settings.

Now we need to start radvd to ensure everything is working, use the following command.

To check that radvd is working correctly, type the following.

If you get the following message (apart from the prefix) then everything is working as expected.

Install dibbler.

Select No when prompted to start dibbler when the system starts.
(See screen shot)

Change directory to the dibbler configuration directory

Move the default server.conf to server.conf.old

Create a new server.conf and add the following.

Add the following to the server.conf file remembering to change the IPv6 prefix and CIDR to your own network address allocation

To start dibbler at the command prompt type.

To check and see if dibbler is running, you can type the following.

You should see the following:

Final step, now need to set up dibbler to start automatically when the server is rebooted. To do this, we need to add the daemon to the the default runlevels by using the following command.

All done, now whenever the server is rebooted it should automatically start dibbler. RADVd should start automatically, as the installer add’s the default runlevels.

References:
Why you want IPv6 – Linux Review
How to get IPv6 on your Home Network – Lars Strand’s blog
IETF.org RFC3315
DHCPv6, Dynamic Host Configuration Protocol for IPv6
radvd – IPv6 Friday
Wikipedia DHCP Reference
Dibbler Users Guide
Radvd Users Guide
Ubuntu Forum

2 thoughts on “Setting up IPv6 radvd and dibbler to work together on Ubuntu 10.04

  1. What is your kernel version? i have issues with dibbler-server on Lucid. I am using kernel 3.0.0-24-server

  2. Hi Halim,

    I was using 2.6.32-25.45-generic and have since upgraded to Ubuntu 3.2.0-34-generic-pae. Not tested on the new Kernel though.

    Hope that helps.

    Billy

Leave a Reply