DHCPv6 static mappings not expanded correctly for Unbound in 24.7.10

Started by gromit, December 05, 2024, 08:10:27 PM

Previous topic - Next topic
In my IPv6 setup I have IPv6 on WAN configured as DHCPv6 and all the local interfaces configured as "Track Interface". I have several ISC DHCPv6 static mappings configured for these "Track Interface" interfaces, using the "::1:2:3:4" suffix notation accordingly.

Since upgrading to 24.7.10 I've noticed that DHCPv6 static mapping hostnames are not resolved correctly by Unbound. Instead of prepending the DHCPv6-PD prefix to the suffix, it simply returns the suffix as-is. Looking at /var/unbound/host_entries.conf I see both local-data: and local-data-ptr: using just the suffix and not the full prefix+suffix one.

When I view the DHCPv6 static mappings in "Services: ISC DHCPv6: Leases" the correct, full IPv6 addresses are displayed.

Is this a regression in 24.7.10?

If you reapply Unbound it should be ok again? If yes it's a race condition because these constructs are fragile, but people keep asking for them. I think we discussed exactly this when including these or at least a few times now on similar subjects.


Cheers,
Franco

Quote from: franco on December 05, 2024, 09:42:16 PM
If you reapply Unbound it should be ok again? If yes it's a race condition because these constructs are fragile, but people keep asking for them. I think we discussed exactly this when including these or at least a few times now on similar subjects.

Thank you for the response.  Restarting the Unbound service has resulted in correctly-expanded IPv6 addresses.  Good to know for next time, if this happens again.

An unpopular workaround is binding your Unbound to the LAN devices receiving a PD /64 which forces an Unbound restart on IPv6 delivery (but also IPv4 for that matter).

The way Unbound implements binding and "reload" is very static meaning that you need to fully restart in order to get this into the daemon. To some degree the interface bind is a fix, but in some cases it can also be a curse due to overlapping service restarts and ensuing other race conditions.


Cheers,
Franco

A manual unbound restart is also neccesary when you add static DHCPv4 reservations.
Intel N100, 4 x I226-V, 16 GByte, 256 GByte NVME, ZTE F6005

1100 down / 800 up, Bufferbloat A+

The case is slightly different. Getting an new dynamic PD is involuntary and unsupervised, adding a static mapping is supervised and voluntary.


Cheers,
Franco