defining a static host identifier in ipv6

Andrew Daviel advax at
Wed Mar 17 08:47:59 UTC 2010

I am trying to understand how to use DHCP in IPv6, using ISC dhcp 4.1.1 
on Linux.

In IPv4 I have dhcp.conf entries like:
  host foobar {
    hardware ethernet 00:40:96:15:ae:94;
    fixed-address foobar ;
with a corresponding entry for foobar in DNS

In IPv6 I try
  host foobar {
    host-identifier option dhcp6.client-id 00:40:96:15:ae:94 ;
    fixed-address6 foobar ;
which fails with "Invalid IPv6 address". I presume that I must give a 
numeric address not a resolvable name.

   fixed-address6 2001:4978:280::34;
parses OK and runs, but does not work.

I find I can set an ID as a string in dhclient.conf with
   interface "eth0" {
     send  dhcp6.client-id "foobar-id" ;
and use dhcpd.conf
   host-identifier option dhcp6.client-id "foobar-id" ;
which seems inelegant.

As far as I can tell, dhcpd defaults to duid-llt so that the client DUID 
is different every time dhclient is started. It appears to be saved in 
the client lease file, so that if I do not delete that, I can extract the 
DUID from the lease file and use it in the server config to get
a static address.

This seems a ludicrous way to do things.

Have I overlooked something obvious ?
Is there a way to get the IPv4 type behaviour, where I can just list 
clients by MAC address and get a static IPv6 address assigned ?

Andrew Daviel, TRIUMF, Canada

More information about the dhcp-users mailing list