Choosing an open source DHCPv6 client

Vikram Agrawal vikram.agrawal at ipinfusion.com
Wed Oct 19 09:28:08 CEST 2011


Thanks for the inputs.
I have stuck to using ISC DHCP client.

But there's another thing which I figured was not working on ISC DHCP Client
which is;

ISC DHCP Client - Does not pick up the cilent duid from config file.

isc-dhclient-4.1.1-P1 did not allow for any duid specific configuration on
the command line.
Dhclient - isc-dhclient-4.2.2 is better in the sense that it provides an
option -D to pick up either the LL or LLD.
The DUID taken is either the LL ( link layer) or the LLT (link layer with
timestamp).

The dhclient.conf file states that the duid could be provided with a
send dhcp-client-identifier <address>

So I had the dhclient.conf configured likewise with the same option outside
of any scope.

But the DUID picked up is still the LLT.

Kindly let know if I am missing something.

Regards,
Vikram






-----Original Message-----
From: Bjørn Mork [mailto:bjorn at mork.no]
Sent: 02 October 2011 17:59
To: Vikram Agrawal
Cc: ipv6-ops at lists.cluenet.de
Subject: Re: Choosing an open source DHCPv6 client

Vikram Agrawal <vikram.agrawal at ipinfusion.com> writes:

> Hi,
>
>
>
> Was curious if anyone has figured out a way to
>
> convert this very simple wide-dhcpv6 config to ISC
>
> dhclient config:
>
>
>
> interface eth0
>
> {
>
>   send ia-pd 0;
>
>   script "/etc/wide-dhcpv6/dhcp6c-script";
>
> };
>
>
>
> id-assoc pd {
>
>         prefix-interface eth1 {
>
>                 sla-id 0;
>
>         };
>
> };

I don't think you currently can.  There is no way to set a specific IAID as
far as I know.  But then again, you probably don't need that?

The real missing part is how to map the delegated prefix to local interface
configuration.  I have no idea how that is supposed to be done with the ISC
client, but you can do it with an advanced enough script.

Running e.g "dhclient -P -sf <script> <interface>" will request an IA_PD
with an IAID based on your mac address (or maybe it's the link local
address? - doesn't really matter). Then it will call <script> with a number
of enviroment variables set.  Use a debug script to log'em all.

Among the interesting ones are "reason" (BOUND6, RENEW6) and
"new_ip6_prefix" (which of course will be set to your delegated prefix).
Your script will then need to split this prefix into appropriate /64s and
configure your interfaces with those.


Bjørn



More information about the ipv6-ops mailing list