How are you doing DHCPv6 ?

Ray Soucy rps at maine.edu
Tue Jan 24 17:09:56 UTC 2012


As we're talking about "the exception, not the rule" I'll note that
the majority of systems generate their DUID based on the MAC address
of their adapter.

ISC DHCPd does in fact allow you to configure static assignments using
MAC and will match a DUID that was generated for that MAC.

Assuming the MAC of 01:23:45:67:89:ab, and a DUID of
00:03:00:01:01:23:45:67:89:ab

The ISC DHCPd configuration for a static host using a DUID:
----8<----
host my-pc.example.com {
  host-identifier option dhcp6.client-id 00:03:00:01:01:23:45:67:89:ab;
  fixed-address6 2001:db8:1:2::3;
}
----8<----

For a MAC:
----8<----
host my-pc.example.com {
  host-identifier option dhcp6.client-id 00:03:00:01:01:23:45:67:89:ab;
  hardware ethernet 01:23:45:67:89:ab;
}
----8<----

As with DHCPd for IPv4, you can make multiple entries to support both
the MAC and DUID method by using the option host-name directive for
additional entries:
----8<----
host my-pc.example.com {
  host-identifier option dhcp6.client-id 00:03:00:01:01:23:45:67:89:ab;
  fixed-address6 2001:db8:1:2::3;
}
host my-pc.example.com-1 {
  option host-name "my-pc.example.com";
  hardware ethernet 01:23:45:67:89:ab;
  fixed-address6 2001:db8:1:2::3;
}
----8<----

Note that this is checking the MAC address used in DUID type 1 or type
3, not the actual MAC address of the system.

What we do right now (as a transition mechanism) in our IPAM is say
that if we see a DUID that is based on a known MAC, then it's probably
the same host, and add the association in the database.

Generating a DHCPv6 configuration file using the "hardware ethernet"
directive will get the majority of systems a v6 address in a dual
stack environment.

On a side note, DHCPv6 isn't the only place to address concerns.

Before DHCPv6 was an option, we implemented a system that polls
network routers and switches for ARP tables, IPv6 neighbor tables, and
MAC address tables, then throws the full association (IP, MAC, Device,
Port) into a MySQL database.  Data is compressed into rows with "first
seen" and "last seen" timestamps to save on table sizes (along with
monthly rotation of tables).  This provides us with the ability to see
what MAC had what IP (or IPv6) address and where it was connected.
Mainly for incident response.  We also poll for IPv6 routers seen to
catch rogue RA, though that has mostly gone away since putting PACLs
in place to filter unauthorized RA.

This database allows us to make the association of IPv4 and IPv6, even
in a SLAAC environment; it also provides us with the history of that
association (and even logs link-local addresses).

When we disable a host, the database is checked so both IPv4 and IPv6
address can be disabled.

As far as DUID discovery, though.  It would be nice if logging changes
previously mentioned were made to ISC DHCPd so we can see the DUIDs
attempting to get an address along with the MAC requesting it.




On Tue, Jan 24, 2012 at 11:18 AM, Randy Carpenter <rcarpen at network1.net> wrote:
>
> I understand that MACs can be changed/spoofed. But that is the exception, not the rule.
>
> That isn't the biggest issue, though. The biggest issue is how to correlate the MAC and the DUID. That is the only way to properly authenticate and account for users that have both v4 and v6 (which is everyone)
>
> I don't care if their MAC changes, if that happens, they just need to reauthenticate. But, not having any way to know what their DUID is going to be, makes it impossible to also give them v6.
>
>
> -Randy
>
> ----- Original Message -----
>> "You shouldn't assume a MAC isn't constant" should read "is", double
>> negative failure.
>>
>> On Tue, Jan 24, 2012 at 8:49 AM, Ray Soucy <rps at maine.edu> wrote:
>> > You shouldn't assume a MAC isn't constant.  Our students spoof
>> > their
>> > MACs all the time (thinking it will save them from getting a DMCA
>> > notice).
>> >
>> > The RFC suggests that DUIDs are stored in non-volatile memory or
>> > that
>> > an algorithm be used that can consistently reproduce the DUID (and
>> > IAID) for a system in the absence of persistent storage.
>> >
>> > For fixed hardware devices, I suspect most would opt for the use of
>> > DUID-LL type, which essentially the MAC with a DUID preamble, and
>> > doesn't need to be stored in memory since it's based on a MAC that
>> > can
>> > not be changed.  It would be simple to create a DUID sticker at
>> > that
>> > point, even retroactively.  I think the idea that DUID is random
>> > and
>> > getting worked up that it's not written on the side of the device
>> > is a
>> > little more FUD than fact.
>> >
>> > There _are_ things we need to address to make DHCPv6 easier to roll
>> > out (mainly on the server side), but just making bogus nitpick
>> > attacks
>> > distracts from the real issues, IMHO.
>> >
>> >
>> >
>> >
>> > On Mon, Jan 23, 2012 at 6:12 PM, Randy Carpenter
>> > <rcarpen at network1.net> wrote:
>> >>
>> >> Controlled by software = not constant.
>> >>
>> >> It is also not likely to be something that is knowable on a piece
>> >> of electronic gear that is not a PC, nor will it be something
>> >> that can be printed on the outside of the device, like most
>> >> today.
>> >>
>> >> -Randy
>> >>
>> >>
>> >> ----- Original Message -----
>> >>> Yes, DUID and IAID should be persistent on systems.  If they are
>> >>> not
>> >>> then they are not following the RFC.
>> >>>
>> >>> Note that bad practices, though, can remove that persistence
>> >>> (e.g.
>> >>> deleting the DUID, or replicating the DUID on other systems).
>> >>>
>> >>> On Mon, Jan 23, 2012 at 5:56 PM, Karl Auer <kauer at biplane.com.au>
>> >>> wrote:
>> >>> > On Mon, 2012-01-23 at 17:26 -0500, Randy Carpenter wrote:
>> >>> >> One major issue is that there is no way to associate a user's
>> >>> >> MAC
>> >>> >> (for
>> >>> >> IPv4) with their DUID. I haven't been able to find a way to
>> >>> >> account
>> >>> >> for this without making the user authenticate once for IPv4,
>> >>> >> and
>> >>> >> then
>> >>> >> again for IPv6. This is cumbersome to the user. Also, in the
>> >>> >> past
>> >>> >> there have been various reason why we want to pre-authenticate
>> >>> >> a
>> >>> >> client's MAC address (mostly for game consoles, and such,
>> >>> >> which
>> >>> >> have
>> >>> >> the MAC written on the outside of the machine). How can this
>> >>> >> be
>> >>> >> done
>> >>> >> with IPv6, which the DUID is not constant?
>> >>> >
>> >>> > Perhaps I misunderstand you (or the RFCs) but it seems to me
>> >>> > that
>> >>> > the
>> >>> > DUID *is* constant. Reading section 9 of RFC 3315, it's pretty
>> >>> > clear
>> >>> > that a DUID is generated once, according to simple rules, and
>> >>> > does
>> >>> > not
>> >>> > change once it has been generated. Barring intervention, of
>> >>> > course.
>> >>> >
>> >>> > The problem is how to either find out ahead of time what DUID a
>> >>> > client
>> >>> > has OR how to impose a specific DUID on a client as part of
>> >>> > provisioning
>> >>> > it. Neither of those issues looks particularly intractable,
>> >>> > especially
>> >>> > if vendors start shipping with pre-configured DUIDs that are
>> >>> > written on
>> >>> > the boxes.
>> >>> >
>> >>> > What do you mean by "authenticate"? Do you mean something like
>> >>> > 802.1x?
>> >>> >
>> >>> > Regards, K.
>> >>> >
>> >>> > --
>> >>> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> >>> > Karl Auer (kauer at biplane.com.au)
>> >>> > http://www.biplane.com.au/kauer
>> >>> >
>> >>> > GPG fingerprint: AE1D 4868 6420 AD9A A698 5251 1699 7B78 4EEE
>> >>> > 6017
>> >>> > Old fingerprint: DA41 51B1 1481 16E1 F7E2 B2E9 3007 14ED 5736
>> >>> > F687
>> >>>
>> >>>
>> >>>
>> >>> --
>> >>> Ray Soucy
>> >>>
>> >>> Epic Communications Specialist
>> >>>
>> >>> Phone: +1 (207) 561-3526
>> >>>
>> >>> Networkmaine, a Unit of the University of Maine System
>> >>> http://www.networkmaine.net/
>> >>>
>> >>>
>> >>>
>> >
>> >
>> >
>> > --
>> > Ray Soucy
>> >
>> > Epic Communications Specialist
>> >
>> > Phone: +1 (207) 561-3526
>> >
>> > Networkmaine, a Unit of the University of Maine System
>> > http://www.networkmaine.net/
>>
>>
>>
>> --
>> Ray Soucy
>>
>> Epic Communications Specialist
>>
>> Phone: +1 (207) 561-3526
>>
>> Networkmaine, a Unit of the University of Maine System
>> http://www.networkmaine.net/
>>
>>



-- 
Ray Soucy

Epic Communications Specialist

Phone: +1 (207) 561-3526

Networkmaine, a Unit of the University of Maine System
http://www.networkmaine.net/




More information about the NANOG mailing list