I'm using PiHole in my network and configure it on devices via DHCP(v6) like this:
# /etc/config/dhcp
config dhcp 'guest'
option leasetime '12h'
option interface 'guest'
option start '2'
option limit '253'
option ra 'server'
option dhcpv6 'server'
option ra_management '1'
list dhcp_option '6,192.168.178.2'
list dns 'fd3b:2815:be50:4::967'
I want to override this for some clients. This works fine with DHCP and DHCPv6:
# /etc/config/network
config host
option name 'foobar'
option mac 'XX:XX:XX:XX:XX:XX'
option tag 'openwrt_dns'
config tag 'openwrt_dns'
list dhcp_option '6,192.168.178.1'
list dns 'fd3b:2815:be50:2::1'
This doesn't work with Android devices since they don't use DHCPv6 but SLAAC only. The problem is that those devices will receive the OpenWRT IPv4 DNS via DHCPv4 but also the default PiHole IPv6 DNS via SLAAC. This causes all sorts of weird issues (mostly suddenly blocked things that worked before because the device randomly decides to use the IPv6 DNS).
Is there some way around this? I want to avoid creating a separate VLAN/SSID just for two devices that need this.