一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

银河麒麟系统如何清理DNS缓存 操作指南

时间:2026-07-19 07:00:49 编辑:袖梨 来源:一聚教程网

麒麟系统DNS解析异常时,应依次执行五步操作:一、用systemd-resolved刷新缓存;二、重启该服务;三、重载NetworkManager;四、重启network服务;五、检查并注释/etc/hosts中错误条目。

银河麒麟系统出现网页打不开、软件源更新失败或域名解析异常时,大概率是DNS缓存中存了过期或错误的IP地址,必须针对性清理才能恢复网络访问能力。

用 systemd-resolved 刷新本地DNS缓存

该方法适用于麒麟V10 SP3及以上桌面/服务器版,默认启用 systemd-resolved 作为DNS解析器,执行后立即清空内存中缓存的DNS记录,无需重启服务。

第一步:打开终端,确认服务运行状态:【sudo systemctl is-active systemd-resolved】。若返回 active 表示服务正常;若为 inactive,则跳过本方法,直接进入“重启 systemd-resolved 服务”步骤。

第二步:执行刷新命令:【sudo systemd-resolve --flush-caches】。注意命令中 resolve 拼写为 resolve,不是 resolves 或 resolver,输错将报 command not found。

第三步:验证是否生效,运行 【sudo systemd-resolve --statistics | grep "Cache"】,观察输出中 “Cache size” 是否归零或明显减少。

重启 systemd-resolved 服务

当 --flush-caches 命令无响应、提示 “Failed to flush cache” 或 systemctl status 显示 service crashed 时,必须强制重启服务以重置整个解析器状态。

方法一(推荐):

① 停止服务:【sudo systemctl stop systemd-resolved】

② 启动并设为开机自启:【sudo systemctl start systemd-resolved && sudo systemctl enable systemd-resolved】

③ 检查运行状态:【sudo systemctl status systemd-resolved | grep "active (running)"】,确保输出含绿色 active (running) 字样。

方法二(快捷):直接执行重启命令 【sudo systemctl restart systemd-resolved】,但该方式不保证服务在下次开机自动启动,仅适合临时排查。

重载 NetworkManager 刷新DNS配置

此操作专用于桌面环境(如GNOME/KDE),由NetworkManager管理网络连接时有效;它会触发DNS配置重读、更新 /etc/resolv.conf 并刷新内部缓存,全程不中断网络连接。

执行重载命令:【sudo systemctl reload NetworkManager】

查看日志确认DNS动作已触发:【journalctl -u NetworkManager | grep -i "dns" | tail -n 3】,应看到类似 “Updating DNS configuration” 的记录。

检查 /etc/resolv.conf 是否被更新为 127.0.0.53:【cat /etc/resolv.conf | grep "127.0.0.53"】。若未匹配,说明 NetworkManager 未接管DNS,该方法无效。

重启 network 服务(传统网络栈适用)

适用于未启用 NetworkManager 的服务器版、精简部署或手动配置网络的场景;重启 network.service 会重建整个网络协议栈,包括DNS解析链路。

停止服务:【sudo systemctl stop network】

启动服务:【sudo systemctl start network】

检查 nameserver 是否已写入 resolv.conf:【grep nameserver /etc/resolv.conf】。若为空,需手动编辑 /etc/sysconfig/network-scripts/ifcfg-* 文件补全 DNS 配置。

检查并注释 /etc/hosts 中干扰条目

/etc/hosts 不参与DNS缓存机制,但若其中存在形如 “192.168.1.100 example.com” 的错误静态映射,系统会优先走 hosts 解析,导致域名始终指向错误IP。

用文本编辑器打开:【sudo nano /etc/hosts】

逐行检查是否有与当前故障域名匹配的条目,例如访问不了 www.baidu.com,就查找含 baidu.com 的行。

对确认错误的行,在行首添加 # 号注释掉,保存退出。切勿直接删除整行,防止误删系统关键映射(如 127.0.0.1 localhost)。

热门栏目