Hello! Long time Debian user trying out Fedora for the first time, made the switch over the weekend. Everything is working great except for this local DNS issue I can’t quite figure out. Maybe I am just not understanding the process involved with systemd-resolved.
I have an internal DNS server running Pi-Hole (172.21.11.11
), which has a number of local DNS entries for some virtual servers in a homelab. The entries are using an internal-only subdomain on a public domain that I own through Cloudflare (let’s just call it internal.mydomain.com
, which is obviously not the real domain). I have also added these entries to my pfSense firewall (172.21.1.1
), which acts as a backup DNS. The DNS server addresses are handed out by DHCP.
All the entries I have manually added resolve correctly, though some of them would only work after adding them to the pfSense box. Either way, these entries work now.
However, let’s say I spin up a new VM for testing, and I don’t want to add a DNS entry. It’s a test SQL server, so we’ll call it testsql
. If I run ping testsql
from Windows, MacOS, or any of my other Debian servers, it resolves to the correct IP. It does not work on Fedora.
dig testsql
shows it timeout querying 127.0.0.53
, which I understand to be the system querying its own cache, and resolvectl testsql
shows testsql: 'testsql' not found
.
But if I run dig testsql @172.21.11.11
, the query returns successfully. I can also see the query in the Pi-Hole logs.
Curiously, if I run dig testsql.internal.mydomain.com
, it shows that it is checking the Cloudflare nameservers, but does not return a valid IP.
After an indeterminate amount of time, pinging testsql
will eventually show PING testsql.internal.mydomain.com (172.21.100.45)
indicating it is resolving and also using the DNS domain. dig
still times out even after this starts resolving successfully.
In summary: my hard-coded entries in Pi-Hole / pfSense work with no issues. Hostnames without hard coded entries can be resolved by every other system other than my Fedora system, until it eventually starts working for no apparent reason. Trying to figure out why internal DNS is resolving inconsistently.