推荐优先使用sudo systemd-resolve --flush-caches刷新dns缓存,适用于启用systemd-resolved的麒麟v10 sp1+系统;若服务异常则重启服务,networkmanager环境可重载其配置,传统网络栈需重启network服务,同时应检查/etc/hosts中是否存在错误静态映射。

如果您在银河麒麟V10系统中遇到域名解析异常、网页打不开、软件源更新失败或ping域名返回“Name or service not known”等问题,则可能是系统缓存了过期或错误的DNS记录。以下是刷新本地DNS解析缓存的五种实测有效方法,适配不同服务管理机制与运行状态:
一、使用 systemd-resolved 服务刷新缓存
该方法适用于启用 systemd-resolved 作为默认 DNS 解析器的麒麟V10 SP1及以上版本(桌面/服务器版),命令执行后立即清空本地DNS缓存,无需重启服务,且不中断网络连接。
1、打开终端,输入以下命令检查 resolved 服务当前状态:sudo systemctl is-active systemd-resolved
2、确认输出为 active 后,执行缓存清除指令:sudo systemd-resolve --flush-caches
3、验证缓存是否已清空:sudo systemd-resolve --statistics | grep "Cache"
二、重启 systemd-resolved 服务
当 --flush-caches 命令无响应、返回空结果或服务处于 inactive/dead 状态时,强制重启可重置整个解析器运行时状态,同步清除缓存并加载最新配置文件。
1、停止当前运行的服务:sudo systemctl stop systemd-resolved
2、启动服务并确保开机自启:sudo systemctl start systemd-resolved && sudo systemctl enable systemd-resolved
3、确认服务已正常运行:sudo systemctl status systemd-resolved | grep "active (running)"
三、通过 NetworkManager 重载刷新DNS
该方式适用于由 NetworkManager 管理网络连接的桌面环境(如默认图形界面),重载操作会触发 DNS 配置重新读取、更新 /etc/resolv.conf 符号链接目标,并刷新其内部缓存,全过程不中断网络连通性。
1、执行 NetworkManager 配置重载命令:sudo systemctl reload NetworkManager
免费 DNS 与邮件安全分析(IntoDNS.ai):包括 DNSSEC、SPF、DKIM、DMARC、MTA-STS、BIMI、SMTP STARTTLS、FCrDNS、黑名单、发件人要求及报告。
2、查看日志确认 DNS 相关动作已触发:journalctl -u NetworkManager | grep -i "dns" | tail -n 3
3、验证 /etc/resolv.conf 是否被更新为指向 systemd-resolved 的 stub 地址:cat /etc/resolv.conf | grep "127.0.0.53"
四、重启 network 服务(传统网络栈适用)
针对未启用 NetworkManager、采用传统 network.service 管理网络的服务器版或精简部署场景(如某些私有云节点),重启该服务可强制重建整个网络协议栈,包括 DNS 解析链路与 resolv.conf 加载逻辑。
1、停止网络服务:sudo systemctl stop network
2、启动网络服务:sudo systemctl start network
3、检查 DNS 配置是否恢复生效:grep nameserver /etc/resolv.conf
五、手动清空 /etc/hosts 干扰条目(辅助排查项)
虽然 /etc/hosts 文件本身不参与DNS缓存,但若其中存在错误的静态映射(如将 archive.kylinos.cn 指向旧IP或127.0.0.1),会导致域名被强制解析为错误地址,现象与DNS缓存污染高度相似。
1、以管理员权限编辑 hosts 文件:sudo vim /etc/hosts
2、定位到疑似干扰行(例如包含 archive.kylinos.cn、kylinos.cn 或其他目标域名的行),在行首添加 # 注释掉该条目
3、保存退出后,立即测试解析效果:nslookup archive.kylinos.cn










