I have a network connection through a stock firmware router, for which my OpenWRT box acts as DHCP server (no routing) - meaning it configures all my hosts with IP address, subnet, gateway (the stock router) and DNS servers (standalone DNS, followed by OpenWRT, followed by the main router):
This works excellent for IPv4 but not for IPv6.
While the main router uses DHCPv6 to get its configuration from the ISP, hosts use SLAAC to configure themselves based on the RAs they get from the main router, which contains the prefix and the Recursive DNS servers it obtained from the ISP.
My issue is that Windows 10 now prefers the IPv6 DNS servers and I've lost both local hostname resolution and the filtering I would normally do through my standalone DNS server (PiHole). While I know that there's probably no way for OpenWRT to link the IPv4 hostnames to the IPv6 address they've autoconfigured themselves, I would like to be able to advertise my custom DNS server's IP address in the network (possibly through NDP? or an RA with only RDNSS?)
I've found this page on the wiki but I don't have a /etc/config/radvd
file, nor could I find any information about what happens if I configure Router Advertisement service as server/relay/hybrid in LuCI (right now it's disabled), and the same for DHCPv6-service and NDP-Proxy. I do have an "announced DNS servers" on the same page and I've put my standalone DNS's LinkLocal IPv6 address in it, but I still don't see any advertisements on the network containing that.
Edit: There's apparently an ip6neigh project which can use neighbor advertisements from hosts using SLAAC to match them with IPv4 hostname entries.