DNS 缓存:systemd-resolve 和 ping 解析不同的 IP 地址

DNS 缓存:systemd-resolve 和 ping 解析不同的 IP 地址

我已更改与子域关联的 DNS 记录(在 Google Cloud DNS 上)中的 IP 地址测试.example.com

从我的 Google Cloud VM:

  • 如果我ping test.example.com,我得到旧的IP地址
  • 如果我systemd-resolve test.example.com,我得到新的 IP 地址

我尝试使用以下方法刷新 DNS 缓存:

sudo systemd-resolve --flush-caches

仍然获取旧 IP 地址

我究竟做错了什么?

答案1

你观察到的行为来自于已知systemd错误- 我敢说,因为你表明的nameserver 127.0.0.53/etc/resolv.conf-中已systemd添加它,因为提到的错误。请查看提供的答案,因为它们可能包含适合您的解决方案。然而,他们中的大多数建议“硬编码”DNS。

Ping 以不同的方式工作,并且能够正确解析名称。

与 DNS 相关的内部工作systemd-resolve原理在这里详细讨论

相关内容