ubuntu 锁定DNS,不自动修改成127.0.0.1:53

一次性彻底锁定、永远不会再变成 127.0.0.53 的方法(Ubuntu 18.04–24.04 通用)。

一、原理一句话

127.0.0.53systemd-resolved 这个本地 DNS 服务搞的鬼。

要彻底不出现它,只能:

  • 关掉并禁用 systemd-resolved
  • /etc/resolv.conf 改成普通文件加锁(chattr +i)

二、一键操作(直接复制执行)

# 1. 停止并禁用 systemd-resolved(关键)
sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved

# 2. 删除原来的软链接(指向 127.0.0.53 的那个)
sudo rm -f /etc/resolv.conf

# 3. 写入你要固定的 DNS(国内推荐 223.5.5.5、114.114.114.114)
sudo tee /etc/resolv.conf >/dev/null <<EOF
nameserver 223.5.5.5
nameserver 114.114.114.114
nameserver 8.8.8.8
options timeout:2 attempts:3
EOF

# 4. 锁定文件,任何程序/服务都无法修改(最关键)
sudo chattr +i /etc/resolv.conf

三、验证是否成功

# 看内容,必须是你写的 DNS,不能有 127.0.0.53
cat /etc/resolv.conf

# 看属性,有 i 表示锁定成功
lsattr /etc/resolv.conf

# 测试解析
ping baidu.com
nslookup github.com

以后重启、拔插网线、DHCP、NetworkManager 都不会再把它改成 127.0.0.53

以后想改 DNS 怎么办?

先解锁 → 修改 → 再锁定:

sudo chattr -i /etc/resolv.conf   # 解锁
sudo nano /etc/resolv.conf         # 修改
sudo chattr +i /etc/resolv.conf   # 重新锁定

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Captcha Code