在使用 RockyLinux 系统时,你可能会遇到网页打不开、域名解析错误或访问旧IP地址等问题。这很可能是由于本地 DNS 缓存未及时更新造成的。本文将详细讲解如何在 RockyLinux 中清理 DNS 缓存,即使你是 Linux 新手也能轻松操作。
什么是 DNS 缓存?
DNS(Domain Name System)缓存是系统或应用程序临时存储的域名与 IP 地址映射记录。当再次访问相同网站时,系统可直接使用缓存中的 IP,从而加快访问速度。但若目标网站更换了服务器 IP,而本地缓存未更新,就会导致连接失败。
RockyLinux 是否默认启用 DNS 缓存?
RockyLinux 默认不启用系统级 DNS 缓存服务(如 systemd-resolved 或 nscd)。但在某些情况下,如果你安装了以下任一服务,则可能启用了 DNS 缓存:
systemd-resolved nscd(Name Service Caching Daemon) dnsmasq 步骤一:检查是否启用了 DNS 缓存服务
首先,我们需要确认系统中是否运行了上述任一缓存服务。打开终端,依次执行以下命令:
# 检查 systemd-resolved 是否运行systemctl is-active systemd-resolved# 检查 nscd 是否运行systemctl is-active nscd# 检查 dnsmasq 是否运行systemctl is-active dnsmasq
如果返回 active,说明该服务正在运行,需要清理其缓存。
步骤二:根据服务类型清理 DNS 缓存
1. 清理 systemd-resolved 的 DNS 缓存
如果你使用的是
systemd-resolved
(RockyLinux 8/9 常见),可通过重启服务来清除缓存: sudo systemctl restart systemd-resolved
2. 清理 nscd 的 DNS 缓存
如果安装了
nscd
,可以单独刷新 hosts 缓存: # 刷新 hosts 缓存(包括 DNS)sudo nscd -i hosts# 或者直接重启服务sudo systemctl restart nscd
3. 清理 dnsmasq 的 DNS 缓存
dnsmasq
通常用于小型网络或开发环境,清除缓存需重启服务: sudo systemctl restart dnsmasq
步骤三:验证 DNS 缓存是否已清除
你可以使用
dig
或 nslookup
命令测试域名解析是否获取到最新 IP: dig example.com# 或nslookup example.com
如果返回的 IP 与预期一致,说明缓存已成功刷新。
额外提示:浏览器也可能有 DNS 缓存!
即使系统 DNS 缓存已清除,Chrome、Firefox 等浏览器自身也会缓存 DNS 记录。建议同时重启浏览器或使用隐身模式测试,以排除浏览器缓存干扰。
总结
通过本教程,你应该已经掌握了在 RockyLinux 中清理 DNS 缓存的完整方法。记住,关键在于先确认系统是否启用了缓存服务,再针对性地执行清除操作。掌握这些技巧,能有效解决因 DNS 缓存导致的网络访问异常问题。
关键词回顾:RockyLinux DNS缓存清理、清除DNS缓存、RockyLinux网络故障排查、DNS缓存刷新方法。
