IPv6 with Online.net and Dibbler
After getting a bit fed up with OVH, I recently moved my personal server to Online.net. Like OVH, they are a French-based provider of low price, but high performance servers – great for my needs of a powerful box for all my experiments and personal web, voice etc hosting.
Unfortunately, getting IPv6 working with Online.net is somewhat more involved than with OVH. With OVH, you just enter in the static IPv6 addressing you’ve been assigned and you’re done. In comparison, Online.net requires that you use a DHCPv6 client to request an address before it will permit traffic to flow. If you just configure your interface with the IPv6 addressing you’ve been assigned, you won’t get anywhere. In addition, there is no default gateway to define, the link-local IPv6 gateway is used. If this is a good design architecture, I can’t comment, but it certainly makes the setup a bit more involved.
My server runs Windows Server 2012 R2 (running plenty of Linux-based HyperV VMs however), so this guide will focus more on the setup of Dibbler under Windows. However, considering how sparse Online.net’s documentation is, Linux users may also find this useful. The documentation Online.net provides for using Dibbler can be found here, albeit in French only.
Windows does support DHCPv6, but the setup process for it is also somewhat convoluted, hence the suggested Online.net DHCPv6 client was used – Dibbler, which can be downloaded from SourceForge.
Before installing and configuring Dibbler, you will need to configure your IPv6 address on Windows. In Network Connections, double-click on your Internet-connected Ethernet adapter, click Properties and then double-click on Internet Protocol Version 6 (TCP/IPv6). In the IPv6 address box, enter your assigned IPv6 address, followed by ::1. E.g, if you have been assigned 2001:bc8:8234, enter 2001:bc8:8234::1. In the subnet prefix length, enter 48 (if you have delegated your prefix, you will need to enter different values for the address and prefix length, but you should know what these are if you are delegating). Counterintuitively, leave the Default gateway box blank. Click OK twice. The default gateway is left blank because as mentioned earlier, Online.net’s setup uses the link-local default gateway rather than one that can be routed to.
Now install Dibbler, once installed you will need to configure it. Browse to the installation directory (the default is C:\Program Files (x86)\dibbler) and edit the client.conf file. My configuration is as below;
log-level 8 iface "vEthernet (HP Ethernet 1Gb 2-port 332i Adapter - Virtual Switch)" { pd option dns-server option domain }
The log-level statement defines how verbose Dibbler is in the log. I’ve left it at the default of 8 as this appears to be verbose enough. The iface must be the full name of the interface as it appears in Network Connections – if you’re not using HyperV like me then it is likely just “Ethernet” or similar. Make sure you put the right interface here as otherwise it won’t work. Most Online.net servers come with two network connections – the main internet connection and the private network (RPN), so check the address configuration on the interface to be sure. pd (prefix delegation) tells Dibbler to ask for a prefix (address). The option dns-server and option domain statements tell Dibbler to ask for DNS information.
Next, edit the client-duid file. In here, only place your assigned DUID which can be found on the IPv6 page of your server’s configuration on the Online.net console. The DUID is a long hexadecimal number seperated by colons that is a unique identifier for your server. Dibbler sends this out when asking for address information so that Online.net’s DHCPv6 servers assign the correct address.
Now Dibbler should be configured and ready to go. Open up a Command Line prompt and navigate to the Dibbler directory (hint: Shift-Right Click in the directory in Windows Explorer and select the Open command window here option). Next, run the command dibbler-client.exe run. This runs Dibbler in a console so that you can see the log messages, rather than in the background. You should see Dibbler sending out a request and then receiving the response. Don’t worry that it assigns the prefix to the wrong interface, since we’ve already configured our interface with our IPv6 address Windows knows which prefix to use.
Now that Dibbler has requested and received a prefix, IPv6 connectivity should be working. Verify this by using an IPv6 tester, such as test-ipv6.com. If everything is configured correctly, then you should pass all the tests.
Of course, running Dibbler in console mode is less than ideal – it means that you need to remained logged on to your Windows server and make sure that you run Dibbler when restarting your server. Ideally, you want to run Dibbler as a service and it does support this. Unfortunately, i’ve yet to be able to get it to do this, as running dibber-client.exe start results in the error “Service DHCPv6Client startup failed”. I’m going to keep having a look at it however and will update this post when I do get it working successfully in service mode.
Update: I’ve found out how to get the Dibber client working as a service.
Which is the client-duid file in windows?
It should be in your Dibbler program folder. If it does not exist, just create it. The file has no extension, it is just named client-duid.
Hi there !
What dibbler version have you used for this guide ? I can´t make this work for me with the last version and windows 2012 r2 server. Thanks !
I’m afraid I no longer have this setup in place – I moved from using Windows 2012 R2 to VMware ESXi for VM hosting. However, based on the date of the post I was likely using the 0.8.4 or 1.0.0 versions of Dibbler.