selected snippets from https://wiki.debian.org/NetworkConfiguration#Defining_the_.28DNS.29_Nameservers

You can make /etc/resolv.conf immutable, so it cannot be changed by any package:

openresolv lets you tell it to do nothing whenever some daemon tries to modify resolv.conf, by putting resolvconf=NO in the /etc/resolvconf.conf file. (Note: this is not the /etc/resolv.conf file!)

The setting you want is: supersede domain-name-servers 12.34.56.78, 12.34.56.79

And my personal favorite:

echo ‘make_resolv_conf() { :; }’ > /etc/dhcp/dhclient-enter-hooks.d/leave_my_resolv_conf_alone; chmod 755 /etc/dhcp/dhclient-enter-hooks.d/leave_my_resolv_conf_alone

How the fuck did we get here? Aren’t these docs an admission that it’s a clusterfuck?

That page says don’t forget the “s” on dns-nameservers when using /etc/networking/interfaces, but https://manpages.debian.org/trixie/resolvconf/resolvconf.8.en.html omits it!

  • A_norny_mousse@feddit.org
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 hour ago

    IMO this is largely Debian-specific: this distro seems to hold backward comaptibility in very high regard, so any problem is bound to have a multitude of solutions. In addition, the Debian Wiki is not as well maintained as you-know-whose.

    I see nothing untoward here.

    Except maybe that last sentence, what “s” are you talking about (fwiw, the man page that comes with an installed package should™ be the ultimate authority)?

  • non_burglar@lemmy.world
    link
    fedilink
    English
    arrow-up
    5
    ·
    5 hours ago

    If you’re not fond of manipulating config files manually, just use nmcli (from your link):

    You can get an idea of NetworkManager’s settings by running nmcli on the command line.

    It is a bunch simpler. The days of just raw-dogging resolve.conf and nsswitch are long behind us.

    Aren’t these docs an admission that it’s a clusterfuck?

    The Debian wiki admittedly needs work, but it is a wiki, so make an account and update what you think is lacking or unclear.

      • tal@lemmy.today
        link
        fedilink
        English
        arrow-up
        5
        ·
        4 hours ago

        From my /etc/resolv.conf on Debian trixie, which isn’t using openresolv:

        # Third party programs should typically not access this file directly, but only
        # through the symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a
        # different way, replace this symlink by a static file or a different symlink.
        

        I mean, if you want to just write a static resolv.conf, I don’t think that you normally need to have it flagged immutable. You just put the text file you want in place of the symlink.

  • lemming741@lemmy.worldOP
    link
    fedilink
    English
    arrow-up
    2
    ·
    4 hours ago

    dhcpcd overwrites is. I only have one static address, but DHCP does other stuff too it seems

  • rtxn@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    ·
    edit-2
    5 hours ago

    Interface configuration and DNS resolution are managed by different systems. Their file structures are different. It’s been like this for many decades, and changing it is just not worth breaking existing systems.