it seems like the network-control interface offers you access to the dbus interface of systemd-resolved, perhaps you can create some wrapper service that utilizes it to set the right DNS entries on boot ?
I came across a similar issue when trying to run Adguard on a Raspberry Pi3. I could connect to it online but listen udp 0.0.0.0:53: bind: address was already in use. Is there a way to disable onboard dns and allow Adguard to be the dns server?
This blocks the ability for us to easily create and run a network appliance (think Pi-Hole) which does DNS using our stock core images. It would be great if we could indeed prevent certain services from running so an appliance / application can replace that functionality.
On the latest UC22, this problem is still around.
There’s a built-in DNS server, that we can disable easily by setting DNSStubListener=no, but that breaks the machine as the local DNS settings still point to localhost.
I am unable to change /etc/resolv.conf symlink to point to the network interface /run/systemd/resolve/resolv.conf doesn’t work as the file system is readonly.