Why does /etc/resolv.conf keep changing after Reboot?

The issue lies with systemd-resolved. On the latest Ubuntu systems, systemd-resolved is responsible for managing /etc/resolv.conf. By default, /etc/resolv.conf is a symbolic link to /run/systemd/resolve/resolv.conf, which is dynamically managed by systemd-resolved.

{tocify} $title={ Table of Contents }

Unfortunately, this means that any custom changes you make to /etc/resolv.conf will be overwritten upon reboot. After rebooting, the file typically resets to a default configuration such as:

nameserver 127.0.0.53

How to Fix It

To resolve this issue, follow these steps:

Update /etc/systemd/resolved.conf

Edit the /etc/systemd/resolved.conf file and set the desired DNS servers under the DNS and Fallback DNS options. For example:

DNS=1.1.1.1 8.8.8.8
FallbackDNS=8.8.4.4
#Domains=
#DNSSEC=no
#DNSOverTLS=no
#MulticastDNS=no
#LLMNR=no
#Cache=no-negative
#CacheFromLocalhost=no
#DNSStubListener=yes
#DNSStubListenerExtra=
#ReadEtcHosts=yes
#ResolveUnicastSingleLabel=no

Restart systemd-resolved

Apply the changes by restarting the service:

sudo systemctl restart systemd-resolved

Still Not Working?

If the problem persists, try the following steps to recreate the symbolic link:

sudo rm -f /etc/resolv.conf
sudo ln -sv /run/systemd/resolve/resolv.conf /etc/resolv.conf

In most cases, this should resolve the issue and prevent /etc/resolv.conf from reverting to its default state.

Hasnain Zaidi

Hey Folks! Welcome to my blog. Stay tuned as we will be discussing the Installation, Configuration and Troubleshooting of Systems, Networks, Cloud Integration and Bunch of other Tech Stuff.

Post a Comment (0)
Previous Post Next Post