Last Updated: February 25, 2016
·
2.612K
· finwë

Setting UP IPv6 on a Dedibox with dibbler-client

I recently had some troubles to setup ipv6 correctly at startup.

Here is what I've done to make it work at the startup.

1) Download the source on the official website : http://klub.com.pl/dhcpv6/#DOWNLOAD
Currently I'm using 0.8.4.

2) On Debian-like OS, install the build-essential package if you don't have it : # apt-get install build-essential

3) Extract / Compile : # tar -xvf dibbler-0.8.4.tar.gz && cd dibbler-0.8.4 && ./configure && make install clean

The problem with this method is that you do not have a daemon script for launching it at the boot.
I've installed the dibbler-client package from the Debian repositories and I've modified the path to the binary (/usr/sbin/dibbler-client => /usr/local/sbin/dibbler-client).

Here is the final version of this script : http://pastebin.com/tACkVS32

Just create a file "/etc/init.d/dibbler-client" and chmod it into 755 permissions.

4) Add the dibbler-client at the boot process : # update-rc.d dibbler-client defaults
5) Create the config file for dibbler "/etc/dibbler/client.conf"

You'll have to had something like this :

auth-protocol reconfigure-key
auth-replay monotonic
auth-methods digest-hmac-md5
duid-type duid-ll
inactive-mode
log-level 8
iface eth0 {
pd
}

The "inactive-mode" is important because it's telling dibbler to run even if the interface is not up, useful when you launch it at the startup.
For further information about dibbler, check the officiel website and the Online.net documentation :

6) Create the file "/var/lib/dibbler/client-duid" and put your DUID in it. You can get your duid directly in your administration panel.

Don't forget, you can split your /48 into multiples /56 and /64 in order to add IPv6 to all of you servers :)

You can also modify your 'log-level' in "client.conf" to 7 once everything works fine.

7) Then modify your "/etc/network/interfaces" and add something like that :

iface eth0 inet6 static 
    address YOUR /48 or /56 or /64
    netmask 48 or 56 or 64

8) You can also add any IPv6 you want within your block with virtual interface like eth0:0

Enjoy.