Update DNS settings
All DNS settings are stored in /etc/resolv.conf file, but it is not recommended to edit this file directly.
Use resolvconf to manage DNS settings, first install resolvconf package:
apt update && apt upgradeapt install -y resolvconfThere is a folder /etc/resolvconf/resolv.conf.d/ which contains base, head and tail files:
headAny entry in head is prepended at the beginning of the resultingresolv.conffiletailAny entry in tail is appended at the end of the resultingresolv.conffilebaseused, when no other DNS configuration is available - can be used to set default DNS serversoriginalis a backup of the original/etc/resolv.conffile at the time of installation of theresolvconfpackage
nano /etc/resolvconf/resolv.conf.d/headOpen /etc/resolvconf/resolv.conf.d/head with your favorite text editor and add the nameservers inside the opened file.
In the example we will add Cloudflare DNS servers:
nameserver 1.1.1.1nameserver 1.0.0.1nameserver 2606:4700:4700::1111nameserver 2606:4700:4700::1001or if you prefer Google DNS servers:
nameserver 8.8.8.8nameserver 8.8.4.4nameserver 2001:4860:4860:0:0:0:0:8888nameserver 2001:4860:4860:0:0:0:0:8844and save file and exit and update /etc/resolv.conf file:
resolvconf -uVerify the change:
cat /etc/resolv.confThen you need restart networking and resolvconf services to apply changes:
service resolvconf restartservice networking restartDisable systemd-resolved service
Section titled “Disable systemd-resolved service”To prevent overwriting /etc/resolv.conf file by systemd-resolved service you should disable it.
If you don’t do it, you will have to update /etc/resolv.conf file every time you reboot your system.
And will change your DNS settings back to default (127.0.0.53):
systemctl disable systemd-resolved.servicerebootYou can also set immutable attribute to /etc/resolv.conf file to prevent overwriting it:
chattr -i /etc/resolv.confPS: Anytime your solution involves chattr, it’s not really a solution.