应修改 /etc/systemd/resolved.conf 并重启 systemd-resolved 服务,而非手动编辑 /etc/resolv.conf;先用 ls -l /etc/resolv.conf 确认其为指向 /run/systemd/resolve/stub-resolv.conf 的软链,再执行 sudo systemctl restart systemd-resolved 并用 resolvectl status 验证。

直接改 /etc/resolv.conf 通常无效,除非你确认系统没启用 systemd-resolved 或 NetworkManager —— 大多数现代发行版(Ubuntu 20.04+、Fedora、Debian 12+)都启用了其中至少一个。
先判断 /etc/resolv.conf 是不是被动态管理的
它常是符号链接,手动改完一重启或重连网络就回滚。别跳过这步:
- 运行
ls -l /etc/resolv.conf:如果输出带->(比如指向/run/systemd/resolve/stub-resolv.conf),说明它被接管了 - 再跑
systemctl is-active systemd-resolved和systemctl is-active NetworkManager,看哪个是active - 两个都 active?以
systemd-resolved为准(它会覆盖 NetworkManager 的 DNS 设置) - 只有
NetworkManageractive?那你得用nmcli配 - 两个都 inactive?这时
/etc/resolv.conf才是真实文件,可直接编辑
用 systemd-resolved 永久改 DNS(推荐给大多数桌面/服务器环境)
这是当前主流方案,统一处理解析逻辑,还能配域名分流(比如只让 internal.example.com 走内网 DNS):
在无 root/sudo 权限的环境(云容器、VPS、隔离主机)中安装并配置 OpenClaw 浏览器工具的 headless Chrome。适用场景:...
- 编辑主配置:
sudo nano /etc/systemd/resolved.conf - 取消注释并修改
DNS=行,例如:DNS=223.5.5.5 8.8.8.8 - 如需为特定域名指定 DNS,加一行:
Domains=~internal.example.com(注意波浪号) - 保存后必须重启服务:
sudo systemctl restart systemd-resolved - 验证:
resolvectl status看 “DNS Servers” 是否列出你配的地址;resolvectl query github.com看走的是哪个 DNS
用 nmcli 配 NetworkManager 连接(适合图形界面或笔记本无线场景)
硬改 /etc/resolv.conf 会被它秒覆盖,必须走它的连接级配置:
- 查当前活跃连接名:
nmcli con show --active | awk 'NR==1{next} {print $1}' - 设 DNS:
sudo nmcli con mod "你的连接名" ipv4.dns "223.5.5.5 114.114.114.114" - 关自动获取(关键!否则 DHCP 返回的 DNS 会覆盖你设的):
sudo nmcli con mod "你的连接名" ipv4.ignore-auto-dns yes - 重启连接生效:
nmcli con down "你的连接名" && nmcli con up "你的连接名" - 不记得连接名?
nm-connection-editor图形界面点选更稳
临时测试 DNS 用 dig 或 nslookup,别信 ping
ping 会缓存结果,且不反映实际 DNS 查询路径。真要验证是否生效:
- 用
dig @223.5.5.5 github.com +short直接向指定 DNS 发请求 - 用
nslookup google.com 8.8.8.8同样绕过系统配置 - 查当前系统实际使用的 DNS:
resolvectl status(systemd-resolved下)或nmcli dev show | grep DNS(NetworkManager下)
最易忽略的一点:改完 DNS 后,很多命令(比如 curl、wget)会复用已建立的连接或 DNS 缓存,建议新开终端或加 -H "Cache-Control: no-cache" 测试。真正生效的标志是 resolvectl query 输出里显示你配的服务器地址在 “DNS Servers” 列表中,并且查询响应来自该 IP。

















