I have a pi hole in my network and I set it as my primary DNS server, and my router (a Mikrotik) as secondary. DHCP sets the DNS servers as pihole, mikrotik
in this exact order and I want to keep it that way. I know systemd-resolved uses some algorithm to set the fastest dns as current server, but I don’t want/need that. Is there some way to do configure it to just let it be?
I’m running Fedora 40.
Via ChatGPT 4 (accuracy unverified):
Yes, you can configure
systemd-resolved
to use the DNS servers in the order provided without dynamically switching based on speed. Here’s how you can do it:Edit the resolved configuration file:
Open the
resolved.conf
file in a text editor:sudo nano /etc/systemd/resolved.conf
Modify or add the following line:
Replace
IP_of_pihole
andIP_of_mikrotik
with your actual DNS IP addresses. This tellssystemd-resolved
to only use the DNS servers in the order you’ve specified.Prevent automatic DNS changes by network manager:
If you’re using NetworkManager, create a drop-in configuration to prevent it from overriding DNS settings:
sudo mkdir -p /etc/NetworkManager/conf.d/ sudo nano /etc/NetworkManager/conf.d/dns.conf
Add the following content:
Restart services:
After making these changes, restart
systemd-resolved
andNetworkManager
:sudo systemctl restart systemd-resolved sudo systemctl restart NetworkManager
This should ensure that your system uses the DNS servers in the order provided without any automatic switching.