this post was submitted on 10 Aug 2024
24 points (100.0% liked)

Linux

48287 readers
657 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

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.

all 8 comments
sorted by: hot top controversial new old
[–] atzanteol@sh.itjust.works 2 points 3 months ago (1 children)

You can't. Well, you shouldn't rely on queries going out in any particular order. All of your DNS servers should behave the same way as clients may fail from the first one to a secondary.

Why do you care which one is being used? What are you trying to do?

[–] clmbmb@lemmy.dbzer0.com 1 points 3 months ago (1 children)

I want to have ads blocked with pihole and at the same time to have local DNS served by the router. I know pihole does local DNS, but RouterOS (mikrotik) is much better suited for that.

[–] skullgiver@popplesburger.hilciferous.nl 7 points 3 months ago* (last edited 2 months ago) (1 children)

[This comment has been deleted by an automated system]

[–] clmbmb@lemmy.dbzer0.com 1 points 3 months ago

Thank you. I'll have it set like this.

[–] Lemmchen@feddit.org 0 points 3 months ago
[–] nelsnelson@hexbear.net -3 points 3 months ago

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:

  1. Edit the resolved configuration file:

    Open the resolved.conf file in a text editor:

    sudo nano /etc/systemd/resolved.conf
    
  2. Modify or add the following line:

    DNS=`IP_of_pihole` `IP_of_mikrotik`
    DNSStubListener=no
    FallbackDNS=
    

    Replace IP_of_pihole and IP_of_mikrotik with your actual DNS IP addresses. This tells systemd-resolved to only use the DNS servers in the order you've specified.

  3. 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:

    [main]
    dns=none
    
  4. Restart services:

    After making these changes, restart systemd-resolved and NetworkManager:

    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.