当计算机访问域名时,它们首先会向域名系统(DNS)服务器发送查询请求,以获取与域名相关联的IP地址。为了提高性能和减少网络流量,计算机通常会在本地缓存这些查询结果,这就是DNS缓存。

目前网上ubutun普遍使用的刷新DNS缓存的命令是

sudo systemd-resolve --statistics #查看当前缓存
sudo systemd-resolve --flush-caches #刷新缓存

或者

sudo /etc/init.d/networking restart

但是这两个命令在我的ubuntu22.04上面都无法运行,提示找不到该命令。

终于在网上查到资料:

resolvectl statistics #查看缓存
resolvectl flush-caches #刷新缓存

若出现以下报错信息

Failed to get DNSSEC supported state: Unit dbus-org.freedesktop.resolve1.service not found.

修复方法

systemctl start systemd-resolved.service
systemctl enable systemd-resolved.service