dhclient on Debian Jessie not sending the same identifier for DHCPv4 and DHCPv6 (RFC 4361)

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

dhclient on Debian Jessie not sending the same identifier for DHCPv4 and DHCPv6 (RFC 4361)

Nicolas C.
Hello,

I'm currently testing RFC 4361 (CHCPv4 + DHCPv6 + DDNS), with :

  - a dual-stack DNS server,
  - an IPv4-only DHCPv4 server,
  - an IPv6-only DHCPv6 server,
  - a dual-stack client.

All of those are Debian Jessie 64-bits machines. DHCP servers are
configured with "ddns-update-style standard".

The client is configured with :

/etc/network/interfaces

auto eth0
iface eth0 inet dhcp
iface eth0 inet6 dhcp

And "send fqdn.fqdn = gethostname();" in /etc/dhcp/dhclient.conf
(instead of "send host-name").

The client receives its IPv4/v6 addresses correctly but its not
submitting the same identifier to the DHCP resulting a conflict during DDNS.

I tried using the "-I -D LLT" parameters with dhclient which is supposed
to make the DHCPv4 client use the same DUID as the DHCPv6 client :

https://deepthought.isc.org/article/AA-01091/0/ISC-DHCP-support-for-Standard-DDNS.html

But it doesn't work, the DHCID in the DNS is not the same.

This is the result in the forward zone (rfc4361.test) when I use
"dhclient -4 -I -D LLT eth0" :

dual-test.rfc4361.test. 300     IN      DHCID
AAIBNrUJyL3Zib55vs1WVGxqeX3JQ2VR69qlOISd77gOLXk=
dual-test.rfc4361.test. 300     IN      A       172.20.56.100

This is the result in the forward zone when I use "dhclient -6 -I -D LLT
eth0" :

dual-test.rfc4361.test. 187     IN      DHCID
AAIBEiFR4yAyM0FCusKxbBQvAPuAoRu2xiUDSnqLeu/9IY4=
dual-test.rfc4361.test. 187     IN      AAAA    2001:660:3305:122::f5c

Thanks for your help,

Nicolas C.
_______________________________________________
dhcp-users mailing list
[hidden email]
https://lists.isc.org/mailman/listinfo/dhcp-users
Reply | Threaded
Open this post in threaded view
|

Re: dhclient on Debian Jessie not sending the same identifier for DHCPv4 and DHCPv6 (RFC 4361)

Shawn Routhier
Try the -df option to the client.  

This provides a method to share a DUID between the two clients.

> On Sep 8, 2015, at 7:55 AM, Nicolas C. <[hidden email]> wrote:
>
> Hello,
>
> I'm currently testing RFC 4361 (CHCPv4 + DHCPv6 + DDNS), with :
>
> - a dual-stack DNS server,
> - an IPv4-only DHCPv4 server,
> - an IPv6-only DHCPv6 server,
> - a dual-stack client.
>
> All of those are Debian Jessie 64-bits machines. DHCP servers are configured with "ddns-update-style standard".
>
> The client is configured with :
>
> /etc/network/interfaces
>
> auto eth0
> iface eth0 inet dhcp
> iface eth0 inet6 dhcp
>
> And "send fqdn.fqdn = gethostname();" in /etc/dhcp/dhclient.conf (instead of "send host-name").
>
> The client receives its IPv4/v6 addresses correctly but its not submitting the same identifier to the DHCP resulting a conflict during DDNS.
>
> I tried using the "-I -D LLT" parameters with dhclient which is supposed to make the DHCPv4 client use the same DUID as the DHCPv6 client :
>
> https://deepthought.isc.org/article/AA-01091/0/ISC-DHCP-support-for-Standard-DDNS.html
>
> But it doesn't work, the DHCID in the DNS is not the same.
>
> This is the result in the forward zone (rfc4361.test) when I use "dhclient -4 -I -D LLT eth0" :
>
> dual-test.rfc4361.test. 300     IN      DHCID AAIBNrUJyL3Zib55vs1WVGxqeX3JQ2VR69qlOISd77gOLXk=
> dual-test.rfc4361.test. 300     IN      A       172.20.56.100
>
> This is the result in the forward zone when I use "dhclient -6 -I -D LLT eth0" :
>
> dual-test.rfc4361.test. 187     IN      DHCID AAIBEiFR4yAyM0FCusKxbBQvAPuAoRu2xiUDSnqLeu/9IY4=
> dual-test.rfc4361.test. 187     IN      AAAA    2001:660:3305:122::f5c
>
> Thanks for your help,
>
> Nicolas C.
> _______________________________________________
> dhcp-users mailing list
> [hidden email]
> https://lists.isc.org/mailman/listinfo/dhcp-users

_______________________________________________
dhcp-users mailing list
[hidden email]
https://lists.isc.org/mailman/listinfo/dhcp-users
Reply | Threaded
Open this post in threaded view
|

Re: dhclient on Debian Jessie not sending the same identifier for DHCPv4 and DHCPv6 (RFC 4361)

Nicolas C.
Le 08/09/2015 17:15, Shawn Routhier a écrit :
> Try the -df option to the client.
>
> This provides a method to share a DUID between the two clients.

Thanks, it works when I manually start the DHCPv6 client...

dhclient -6 -v -I -D LLT eth0

...and then the DHCPv4 client, with the "-df" option pointing to the
lease file just updated by the DHCPv6 client...

dhclient -4 -v -I -D LLT -df /var/lib/dhcp/dhclient6.leases eth0

...and in the forward zone, I have both records!

dual-test.rfc4361.test. 300     IN      A       172.20.56.103
dual-test.rfc4361.test. 187     IN      DHCID
AAIBLNVQ2woWQBJ8+hS4pkoal+ezwugmTliSiuwzIbKb8ig=
dual-test.rfc4361.test. 187     IN      AAAA    2001:660:3305:122::ec2

Now the big question is : how can this be done automatically at bootup?
I tried to delay the DHCPv4 client with this :

auto eth0
iface eth0 inet6 dhcp

iface eth0 inet dhcp
   pre-up sleep 5

And a shell script /sbin/dhclient calling the real binary with correct
options but it doesn't work, is it worth trying with a Debian Jessie
without SystemD?

I suppose it's a job for the maintainer of the "ifupdown" package in Debian?

Cheers,

Nicolas
_______________________________________________
dhcp-users mailing list
[hidden email]
https://lists.isc.org/mailman/listinfo/dhcp-users
Reply | Threaded
Open this post in threaded view
|

Re: dhclient on Debian Jessie not sending the same identifier for DHCPv4 and DHCPv6 (RFC 4361)

Shawn Routhier

> On Sep 8, 2015, at 3:51 PM, Nicolas C. <[hidden email]> wrote:
>
> Le 08/09/2015 17:15, Shawn Routhier a écrit :
>> Try the -df option to the client.
>>
>> This provides a method to share a DUID between the two clients.
>
> Thanks, it works when I manually start the DHCPv6 client...
>
> dhclient -6 -v -I -D LLT eth0
>
> ...and then the DHCPv4 client, with the "-df" option pointing to the lease file just updated by the DHCPv6 client...
>
> dhclient -4 -v -I -D LLT -df /var/lib/dhcp/dhclient6.leases eth0
>
> ...and in the forward zone, I have both records!
>
> dual-test.rfc4361.test. 300     IN      A       172.20.56.103
> dual-test.rfc4361.test. 187     IN      DHCID AAIBLNVQ2woWQBJ8+hS4pkoal+ezwugmTliSiuwzIbKb8ig=
> dual-test.rfc4361.test. 187     IN      AAAA    2001:660:3305:122::ec2
>
> Now the big question is : how can this be done automatically at bootup? I tried to delay the DHCPv4 client with this :
>
> auto eth0
> iface eth0 inet6 dhcp
>
> iface eth0 inet dhcp
>  pre-up sleep 5
>

The first thing to note is that the clients will save their DUID in their lease files, so once you
have gotten them to work on a given client it should continue to be happy, except if you
delete the lease file or the DUID from the lease file.

If there is enough of a gap in starting the clients then you can use -df with each of them pointing
to the other client’s lease file.  The first to start will create a DUID and put it into it’s lease file
and the second will pick up the DUID from that one.

If there isn’t enough of a gap then you might have to create your own DUID file for them to use.

> And a shell script /sbin/dhclient calling the real binary with correct options but it doesn't work, is it worth trying with a Debian Jessie without SystemD?
>
> I suppose it's a job for the maintainer of the "ifupdown" package in Debian?
>
> Cheers,
>
> Nicolas
> _______________________________________________
> dhcp-users mailing list
> [hidden email]
> https://lists.isc.org/mailman/listinfo/dhcp-users

_______________________________________________
dhcp-users mailing list
[hidden email]
https://lists.isc.org/mailman/listinfo/dhcp-users
Reply | Threaded
Open this post in threaded view
|

Re: dhclient on Debian Jessie not sending the same identifier for DHCPv4 and DHCPv6 (RFC 4361)

Nicolas C.
Le 09/09/2015 03:13, Shawn Routhier a écrit :

> The first thing to note is that the clients will save their DUID in
> their lease files, so once you have gotten them to work on a given
> client it should continue to be happy, except if you delete the lease
> file or the DUID from the lease file.
>
> If there is enough of a gap in starting the clients then you can use
> -df with each of them pointing to the other client’s lease file.  The
> first to start will create a DUID and put it into it’s lease file and
> the second will pick up the DUID from that one.
>
> If there isn’t enough of a gap then you might have to create your own
> DUID file for them to use.

Hello,

Just a quick update to say that everything works fine with both dhclient
having the -df parameters pointing to the other lease file.

Deleting both lease files and re-running dhclient result with new lease
files with the same DUID.

All we need now is DHCP clients handling RFC 4361 correctly, I'm
thinking about setting up a dedicated website to raise a little
awareness on this topic because nobody seems in a hurry.

Thanks a lot,
_______________________________________________
dhcp-users mailing list
[hidden email]
https://lists.isc.org/mailman/listinfo/dhcp-users