CentOS清理DNS缓存完整指南
为什么需要清理DNS缓存?
DNS缓存存储域名解析记录加速访问。但在域名变更、IP修改或网络故障时,过期缓存会导致解析错误。及时清理确保系统获取最新的DNS信息。
确定当前DNS缓存服务
执行检查命令确认系统使用的缓存服务:
sudo systemctl status nscd dnsmasq systemd-resolved
根据检测结果选择对应的清理方法。
方法一:清理nscd服务缓存
若使用nscd(Name Service Caching Daemon):
sudo systemctl restart nscd
sudo nscd -i hosts
第一条命令重启服务清除缓存,第二条直接刷新hosts缓存。
方法二:清理dnsmasq缓存
常用于桌面环境的dnsmasq服务:
sudo systemctl restart dnsmasq
sudo killall -HUP dnsmasq
重启服务或发送HUP信号更新缓存。
方法三:清理systemd-resolved缓存
新版CentOS可能使用的服务:
sudo systemctl restart systemd-resolved
sudo resolvectl flush-caches
验证缓存清理效果
清理后通过以下命令测试:
nslookup example.com
dig example.com
观察返回的IP是否已更新,TTL值重新开始计时。
注意事项
- root权限执行命令
- 重启服务可能短暂影响依赖该服务的应用
- 检查服务状态:
systemctl status <服务名>
- 未安装缓存服务时直接重启网络:
sudo systemctl restart NetworkManager