[Dnsmasq-discuss] DHCPv6 and MAC

Dan Williams dcbw at redhat.com
Mon Feb 11 21:11:33 GMT 2013


On Mon, 2013-02-11 at 15:46 -0500, Gene Czarcinski wrote:
> On 02/11/2013 12:13 PM, Dan Williams wrote:
> > The option you're looking for*is*  to set default-duid in the lease
> > file.  That's exactly how you tell NM to use the DUID you want.
> > Otherwise, NM will generate the DUID-UUID.
> See my other message.  This appears to be not working.
> 
> Do you want me to create a bugzilla report on this?
> >
> > As I mentioned in other mails to this thread, the DUID-UUID gets used
> > for a number of reasons (all quotes from RFC 3315):
> >
> > 1) the RFC specifies that the DUID is*per machine*, not per-interface,
> > and that one DUID is used for any client run on that machine.
> > Furthermore, "the DUID must be globally unique".
> Well, actually, I believe it says "per device".  Also, RFC6355 says that 
> the only solution they consider is firmware based which /etc/machine-id 
> is not or it would not vary between OS installs.

Now I see what you're saying; I think there's a case to be made for
generating /etc/machine-id from whatever firmware information is
available if requested by the system administrator. Essentially,
machine-id *should* be the abstraction from getting that ID from CPUID,
BIOS Asset Number, NVRAM, whatever.  But neither NM itself nor dhclient
should really be in the business of doing that.

So I think we should push for getting machine-id to optionally (or even
by default) generate the ID from hardware/firmware information if
possible.  At the moment, the only requirement that machine-id does
*not* fulfill from 6355 is the "OS reinstall" one, so (a) it's the best
we've got so far, and (b) we can work to make it more 6355-compliant.

Dan

> > 2) A machine may contain more than one network interface and since under
> > Linux, interface enumeration is not stable, there's no way to
> > consistently choose which interface to use for the DUID-LL.  Since the
> > RFC indicates that the same DUID should be used for all interfaces
> > ("each DHCP client and server should have exactly one DUID"), it's
> > really a toss-up which interface is the "main" interface from which we
> > should generate the machine-wide DUID.
> >
> > 3) Since the RFCs state that the DUID should not change as a result of
> > changes to network interfaces, addition/removal of hardware, etc ("a
> > device's DUID should not change as a result of a change in the device's
> > network hardware") this implies that it must be stored somewhere.  This
> > causes a problem when network booting or cloning system images, since a
> > stored DUID would be used for all machines and would no longer be
> > globally unique as required by #1.  Since /etc/machine-id is already
> > supposed to be globally unique, it must already be handled by the
> > cloning/network-boot case, and thus we can use it as a basis for the
> > DUID-UUID without creating extra work for the administrator.
> >
> > But again, you're free to override this behavior by modifying the
> > default leasefile in /etc/dhclient6.leases with whatever DUID you
> > desire.
> I had considered /etc/dhclient6.leases and rejected it but I do not 
> remember why.  Now, it seems like the "right" solution.  Since almost 
> all my installs use kickstart, I could set this in my post-install script.
> 
> I think I have beaten this dead horse more than enough.
> 
> Gene
> 
> 
> _______________________________________________
> Dnsmasq-discuss mailing list
> Dnsmasq-discuss at lists.thekelleys.org.uk
> http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss





More information about the Dnsmasq-discuss mailing list