systemd-resolved是linux系统级dns解析中枢,需确保服务启用、/etc/resolv.conf软链至stub-resolv.conf、并通过resolved.conf或resolvectl配置上游dns及缓存策略,再用resolvectl验证状态与缓存。

Linux 中通过 systemd-resolved 管理 DNS,核心在于理解它不是“改一个文件就完事”的传统服务,而是由配置文件、运行时命令和系统联动共同控制的解析中枢。它默认监听 127.0.0.53:53,所有应用的 DNS 请求都经它转发、缓存和调度。要真正用好它,得从三方面入手:确保它在运行、让它知道该连谁、让系统所有组件都走它。
确认 systemd-resolved 已启用并接管解析
这是前提。很多问题其实卡在这一步——服务没起来,或 /etc/resolv.conf 没指向它。
- 检查状态:
systemctl is-active systemd-resolved应返回active - 查看
/etc/resolv.conf是否软链到 stub:ls -l /etc/resolv.conf输出应为... -> /run/systemd/resolve/stub-resolv.conf - 若不是,重建链接:
sudo unlink /etc/resolv.conf sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
- 验证解析器地址:
cat /etc/resolv.conf必须含nameserver 127.0.0.53
配置上游 DNS 服务器(全局或按接口)
systemd-resolved 支持两种配置方式,推荐优先用配置文件统一管理,再按需微调接口。
- 编辑主配置:
sudo nano /etc/systemd/resolved.conf
在[Resolve]段落中设置:DNS=114.114.114.114 8.8.8.8 FallbackDNS=1.1.1.1 208.67.222.222 Cache=yes DNSSEC=allow-downgrade DNSOverTLS=no
- 保存后重启服务:
sudo systemctl restart systemd-resolved - 也可为特定网卡单独指定 DNS(例如
eth0):sudo resolvectl dns eth0 114.114.114.114 8.8.8.8 sudo resolvectl dnssec eth0 allow-downgrade
这样即使 DHCP 分配了其他 DNS,该接口仍会优先用你设的。
Kadence Theme Design System下载使用 Kadence 主题作为 WordPress 项目的设计系统,涵盖设计令牌、布局系统、页头/页脚/导航设置以及页面/归档/单篇文章模板。
验证与日常维护
光配完不验证等于没配。systemd-resolved 提供了 resolvectl 这个专用工具,比 cat /etc/resolv.conf 可靠得多。
- 查看整体状态:
resolvectl status—— 关注 “DNS Servers” 和 “DNSSEC supported” 行 - 测试单次解析并观察是否命中缓存:
resolvectl query example.com # 第二次执行时,若显示 “Cached” 字样,说明缓存生效
- 清空缓存(调试时常用):
sudo resolvectl flush-caches - 查看当前缓存条目数:
resolvectl statistics | grep "Cache"
不复杂但容易忽略










