I have a Linux server that runs Bind but also a podman container.
Since the last updates (between 2024-08-10 and 2024-08-30) something has changed that quickly makes bind (I’m assuming) use up port 53 on any new ip that shows up on the server and prevent anything else from using it.
When starting a podman container that has port 2053 mapped to 53 on the container the container fails to start because port 53 is in use on the host’s virtual network ip.
Which is how it was designed because the host is running bind and is supposed to serve DNS to whatever is on the virtual network and this worked great till yesterday’s updates.
I then tried to set up KVM, because I’m already not a fan of containers, with the idea of ‘well lets just put this on an actual VM instead of container’ but for KVM it’s virtual NAT network also fails to start with the exact same error.
So something funky is going on that has been changed in the last month but I can’t figure out what it is.
I already disabled systemd-resolved and dnsmasq also is not running.
So my main suspects are firewalld and network-manager but I don’t mess with podman/kvm enough to know why this is happening.
Use sudo ss -tapn to see what is listening on 53 for the interface.
You can configure bind with an explicit list of interfaces I recall, which would avoid this.
It’s named that is listening on port 53 as it should be.
I just found the issue though, at least for the podman part.
Somehow in the network config ‘dns_enabled’ was re-set to ‘true’ which obviously won’t work because there is an actual DNS server active.
I edited the json in /etc/containers/networks to be “dns_enabled”: false, and then podman started to work again.
I have no idea how it ended up re-enabled as I’m fairly confident i had disabled it when first setting up podman.
That just leaves KVM/QEMU which for some reason is also insisting to try and set up dnsmasq on its virtual interface. (Which won’t work because there is an actual DNS server)
Which I found the solution to while writing this response.
/etc/libvirt/qemu/networks and then edit the xml to have in the section.
So for anyone else who gets confused: