ویرگول
ورودثبت نام
alikarimi20200
alikarimi20200Software engineer - نوشتن کار سختیه-ولی کار سخت رو دوست دارم
alikarimi20200
alikarimi20200
خواندن ۱ دقیقه·۲۰ روز پیش

تنظیمات resolv.conf

On modern Linux systems, /etc/resolv.conf is often auto-generated, so any manual edits get overwritten. This is expected behavior, not a bug.

Below is why it happens and how to control it, depending on what manages DNS on your system.


Why /etc/resolv.conf keeps changing

One (or more) of these services rewrites it:

  1. systemd-resolved

  2. NetworkManager

  3. DHCP client (dhclient)

  4. resolvconf / openresolv

You can’t safely edit /etc/resolv.conf directly unless you disable the manager that owns it.


Identify who manages it

Run:

ls -l /etc/resolv.conf

Common results:

  • /run/systemd/resolve/stub-resolv.conf → systemd-resolved

  • /run/NetworkManager/resolv.conf → NetworkManager

  • /etc/resolvconf/run/resolv.conf → resolvconf

  • Regular file → possibly dhclient or static


Fixes by manager

✅ systemd-resolved (most common)

Option A: Set DNS properly (recommended)

Edit:

sudo nano /etc/systemd/resolved.conf

Example:

[Resolve] DNS=1.1.1.1 8.8.8.8 FallbackDNS=9.9.9.9

Apply:

sudo systemctl restart systemd-resolved

Option B: Disable systemd-resolved (advanced)

sudo systemctl disable --now systemd-resolved sudo rm /etc/resolv.conf

Create a static file:

sudo nano /etc/resolv.conf
nameserver 1.1.1.1 nameserver 8.8.8.8

⚠️ This removes DNS auto-management (not recommended on laptops).


✅ NetworkManager

Edit the connection:

nmcli connection show nmcli connection modify <connection-name> ipv4.ignore-auto-dns yes nmcli connection modify <connection-name> ipv4.dns "1.1.1.1 8.8.8.8" nmcli connection up <connection-name>

✅ DHCP client (dhclient)

Prevent DNS overwrite:

sudo nano /etc/dhcp/dhclient.conf

Add:

supersede domain-name-servers 1.1.1.1, 8.8.8.8;

✅ resolvconf / openresolv

Edit:

sudo nano /etc/resolvconf.conf

Or add DNS to:

/etc/resolvconf/resolv.conf.d/head

Then apply:

sudo resolvconf -u

🚫 What NOT to do

  • ❌ Don’t edit /etc/resolv.conf directly unless you know it’s unmanaged

  • ❌ Don’t chattr +i /etc/resolv.conf (breaks networking tools)


Quick recommendation

  • Desktop / laptop → Configure DNS via systemd-resolved or NetworkManager

  • Server → Either systemd-resolved config or static /etc/resolv.conf


dns
۰
۰
alikarimi20200
alikarimi20200
Software engineer - نوشتن کار سختیه-ولی کار سخت رو دوست دارم
شاید از این پست‌ها خوشتان بیاید