[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: DHCPv6-PD requests, and virtual machines



Michael Richardson <mcr@sandelman.ca> writes:

> https://www.rfc-editor.org/rfc/rfc9096.html was just published.
> While is has specific relevance to those running Debian as their CPE, it also
> has relevance to people running Debian on a desktop or laptop, and also using
> virtual machines.
>
> It is not yet popular to get prefixes via DHCPv6-PD for use with VMs (LXCs,
> Dockers...), I think that part of this is due to lack of clear infrastructure
> for doing that.
>
> In particular, RFC9096 makes it clear that DHCPv6-PD clients ought to store
> the prefixes they got in stable fashion that survives reboots.
> The question is, where would we do that on Debian?
> It would be nice if we could do this in a fashion that was independant of the
> various tool options that exist to manage things.

Yes, standardised persistent lease and DUID storage would be nice.

But I think we can start much simpler by making sure we follow
https://datatracker.ietf.org/doc/html/rfc9096#section-3.1
everywhere.

ifupdown has this extremely annoying misfeature that it forces a release
on shutdown, both for DHCP and DHCPv6.  The automatic release on every
restart forces an unwanted and unnecessary renumbering event.

Personally, I just gave up on the whole thing and started configuring my
interfaces as manual instead.  Using stanzas similar to this:

 iface foo0 inet manual
     up   /sbin/dhclient -4 -v -i    -pf /run/dhclient.$IFACE.pid  -lf /var/lib/dhcp/dhclient.$IFACE.leases $IFACE 
     up   /sbin/dhclient -P -v       -pf /run/dhclient6.$IFACE.pid -lf /var/lib/dhcp/dhclient6.$IFACE.leases $IFACE 
     down /sbin/dhclient -4 -v -i -x -pf /run/dhclient.$IFACE.pid  -lf /var/lib/dhcp/dhclient.$IFACE.leases $IFACE 
     doen /sbin/dhclient -P -v    -x -pf /run/dhclient6.$IFACE.pid -lf /var/lib/dhcp/dhclient6.$IFACE.leases $IFACE


If it's not obvious:  That is exactly what ifupdown would do with
"dhcp" except that we run the client with -x (stop) instead of -r
(release) on interface down.



Bjørn


Reply to: