Linux 命令速查
系统管理 man systemd-resolve

systemd-resolve

查询和管理 systemd-resolved 的域名解析状态

返回

补充说明

systemd-resolve 是 systemd-resolved 提供的命令行工具,用于查看 DNS 配置、执行域名查询、刷新缓存和修改解析器设置。在新版 systemd 中它已经是 resolvectl 的符号链接,官方推荐直接使用 resolvectl。

典型用途是排查 DNS 问题:--status 查看每个网络接口使用的 DNS 服务器与当前 DNS 服务器,--query 直接向解析器查询某域名并显示结果来源,--flush-caches 在修改 DNS 或 hosts 后清空缓存。

注意 /etc/resolv.conf 在启用 systemd-resolved 时通常是符号链接到 127.0.0.53 的存根解析器,不要手工编辑。需要永久修改 DNS 时应通过网络管理工具(NetworkManager、systemd-networkd)配置,否则重启后会被覆盖。

语法

systemd-resolve [选项] [主机名|地址...]
resolvectl [选项] [主机名|地址...]

选项

  • --status:显示全局与各接口的解析状态
  • --query 域名:查询域名的 A/AAAA 等记录
  • --flush-caches:清空 DNS 缓存
  • --statistics:显示缓存命中率等统计
  • --reset-statistics:重置统计计数
  • --set-dns 服务器:为接口设置 DNS 服务器
  • --set-domain 域:设置搜索域
  • --set-dnssec 模式:设置 DNSSEC 校验策略
  • --set-llmnr 模式、--set-mdns 模式:设置 LLMNR / mDNS 行为

实例

# 查看当前 DNS 配置
systemd-resolve --status

# 查询一个域名
systemd-resolve --query example.com

# 修改 DNS 后清空缓存
sudo systemd-resolve --flush-caches

# 使用新版命令的等价写法
resolvectl status
resolvectl query example.com
sudo resolvectl flush-caches

# 查看解析统计
resolvectl statistics

参考链接