Dnsmasq-full vs odhcpd for IPv6 (DHCPv6/SLAAC)

I've recently been experiencing some problems with one of my IPv6 leases disappearing off clients after some time, both with DHCPv6 (Windows client) and SLAAC (Android). Interestingly it's happening on a specific IPv6 prefix but not another as I'm multihomed. Based on the documentation odhcpd is the default application that handles this.

I was reading an interesting article here: https://blog.hansenpartnership.com/creating-a-home-ipv6-network/ that talks about disabling odhcpd entirely and instead using dnsmasq for IPv6 and RAs. I already use dnsmasq-full for ipset, what are people's experience with using dnsmasq for DHCPv6 and SLAAC? Does this integrate with LuCI and the OpenWrt config files in a similar way to odhcpd as a drop in replacement?

odhcpd seems to have worked fine up until more recently but losing a IPv6 address lease on multiple clients seems to indicate there's a configuration issue or specific issue somewhere, I was however interested in learning you could use dnsmasq alone, which I was going to potentially test to see if it resolves the issue, as I haven't really got much to go on, other than going back to an older OpenWrt build to see if it's a regression.

This is probably still valid to some extent:
Device get incorrect ipv6 and dns - #4 by vgaetera

Interesting, thanks for sharing that information. Since switching the dnsmasq to handle IPv6 with the enable-ra, I don't seem to be having the same issues I've had with IPv6 leases being lost on clients after a while, so I may just keep dnsmasq for IPv6 and have odhcpd disabled.

I have noticed that when using dnsmasq for IPv6 clients, within LuCI and the DHCP and leases menu the DUID value has colons in the value, even though in the dnsmasq config they don't have them set for each dhcp-host line. Not sure if that's a LuCI bug.

1 Like