dhcpcd-discuss

AW: Re: [Feature Request] Extended SLAAC option: Multiple options, per prefix, preferred lifetime, inform6, temporary addresses

harald.albrecht

Fri Aug 25 16:45:30 2017

Debian Stretch 9 has systemd-network enabled in full glory. Can someone please explain how networkd and dhcpcd relate to reach other? I'm still scratching my head!
Thanks,Harald

-------- Ursprüngliche Nachricht --------
Von: Roy Marples <roy@xxxxxxxxxxxx> 
Datum: 25.08.17  17:10  (GMT+01:00) 
An: "M. Buecher" <maddes+dhcpcd@xxxxxxxxxx>, dhcpcd-discuss@xxxxxxxxxxxx 
Betreff: Re: [dhcpcd-discuss] [Feature Request] Extended SLAAC option:
&nbsp; Multiple options, per prefix, preferred lifetime, inform6, temporary
&nbsp; addresses 

Hi

On 25/08/2017 14:37, M. Buecher wrote:
> Hello developers,
> 
> I have a feature request to extend the SLAAC option for more
> flexibility, plus a question in point d).
> Ideas are based on Raspbian with dhcpcd 6.10.1 from the Debian 9
> "Stretch" package.
> Please bear with me as I'm not an IPv6 professional, just an enthusiast
> trying to manage his LAN with dhcpcd+dnsmasq on Raspbian.
> 
> *a) Support multiple SLAAC options at the same time*
> 
> Allow multiple SLAAC lines for combining different methods.
> Using multiple lines will still allow that the SLAAC option itself can
> be easily enhanced.
> 
> Example:
> ## Default to stable private addresses
> slaac stableprivate
> 
> interface eth0
>   ## Stable private addresses for services
>   slaac stableprivate
>   ## Additional hardware-based addresses as workaround for some routers
> that always
>   ## uses these for port forwarding and cannot be changed until the
> firmware has been updated somewhen:(
>   slaac hwaddr

Please open a ticket for this at https://dev.marples.name/

> *b) Support SLAAC options per prefix with preferred lifetime*
> 
> Allow to specify for which prefix range a SLAAC option is valid for and
> specify its preferred lifetime.
> 
> Example:
> ## Default to stable private addresses for all GUA
> slaac stableprivate 2000::/3
> 
> interface eth0
>   ## Stable private addresses for services for all prefixes (ULA, etc.)
> on this interface
>   slaac stableprivate ::/0
>   ## Additional hardware-based addresses only for GUA as workaround for
> some routers that always
>   ## uses these for port forwarding and cannot be changed until the
> firmware has been updated somewhen:(
>   ## Preferred as the very last for outgoing connections
>   slaac hwaddr 2000::/3 PLFT=0

Please open a seperate ticket for this at https://dev.marples.name/

> *c) Support "inform6" on stable SLAAC addresses
> *
> 
>  
> 
> Add support to inform DHCPv6 server about SLAAC address (found out about
> "inform6" in the dev area).
> 
> Example:
> ## Default to stable private addresses for all GUA
> slaac stableprivate 2000::/3
> 
> interface eth0
>   ## Stable private addresses for services for all prefixes (ULA, etc.)
> on this interface
>   slaac stableprivate ::/0 inform6
>   ## Additional hardware-based addresses only for GUA as workaround for
> some routers that always
>   ## uses these for port forwarding and cannot be changed until the
> firmware has been updated somewhen:(
>   ## Preferred as the very last for outgoing connections
>   slaac hwaddr 2000::/3 PLFT=0

I'm not sure what you mean by this.
DHCP6 has INFORMATION REQUST and doesn't actually notify the DHCPv6
server what addresses it has.

> *d) Support Privacy Extensions "temporary addresses"*
> 
>  
> 
> Add support for Privacy Extensions "temporary addresses" (RFC 4941
> <https://tools.ietf.org/html/rfc4941> [1], obsoleted RFC 3041)
> Preferrable for outgoing connections. In contrast to stable private
> addresses (RFC 7217 <https://tools.ietf.org/html/rfc7217> [2]) for
> incoming connections.
> This should allow to get rid of /etc/interfaces completely, no more
> "iface eth0 inet6 auto" with "privext 2" needed for privacy extensions
> and no more hardware-address based addresses.
> I assume this can be heavily discussed, as sysctl
> <https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt> [3]
> plays another rule in this topic
> (/proc/sys/net/ipv6/conf/<interface>/use_tempaddr).
> 
> Or is there another way to *only* have stable private and temporary
> addresses assigned via SLAAC? No hardware-based addresses anymore.
> 
> Example:
> ## Default to additional temporary addresses for GUA
> slaac temporary 2000::/3
> ## ULA is handled by dhcp, no SLAAC
> 
> interface eth0
>   ## Temporary addresses for GUA
>   slaac temporary 2000::/3
>   ## Stable private addresses for services on GUA, preferred as the very
> last for outgoing connections (that's what the temporary address is for)
>   slaac stableprivate 2000::/3 PLFT=0 inform6
>   ## ULA is handled by dhcp, no SLAAC
> 
> [1] https://tools.ietf.org/html/rfc4941
> [2] https://tools.ietf.org/html/rfc7217
> [3] https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt
> [4] Linux: ipv6_create_tempaddr()

Temporary addresses should already work.
But I've not tested this in a long time, so could be broken.
I'll look into this tonight.

> Kind regards and thanks for considering any of these ideas
> Maddes
> 
> P.S.:
> Unfortunately the Debian package has only the older version dhcpcd
> 6.10.1 (without static ip6_address), so I do not know if any of these
> have already been addressed.

Yeah, debian really needs to update.
I would do it myself, but I find dealing with their overly complex
packaging system too time consuming.

> 
> P.P.S.:
> Didn't know if I should have created a task for this feature request at
> https://dev.marples.name/ as I assume this feature request will be split
> in different tasks.

Split out yes.
Discussing here is fine, but I like to ask that the requestor makes the
tasks at the above link.

Roy


Follow-Ups:
Re: AW: Re: [Feature Request] Extended SLAAC option: Multiple options, per prefix, preferred lifetime, inform6, temporary addressesRoy Marples
Archive administrator: postmaster@marples.name