麒麟系统出现DNS解析异常时,可依次执行五个步骤解决问题:第一步,使用systemd-resolved刷新缓存;第二步,重启该服务;第三步,重载NetworkManager;第四步,重启network服务;第五步,检查并注释/etc/hosts中的错误条目。

在使用麒麟系统的过程中,域名突然无法解析、网页打不开或者软件源更新频繁失败,这类问题确实令人困扰。很多时候,根源并非网络本身,而是系统“记错了”地址——它缓存了过期或错误的DNS记录。别担心,这个问题有章可循。下面五个步骤,从常规操作到深层排查,能帮助您系统性地清理DNS缓存,彻底解决解析错误。
一、使用 systemd-resolved 服务刷新缓存
如果您的麒麟OS版本较新(例如V10 SP3及以上的桌面版或服务器版),并且默认启用了systemd-resolved服务,那么这种方法最为直接高效。它能在不中断服务的情况下,瞬间清空本地DNS缓存,强制系统重新发起查询。
首先,打开终端,确认该服务是否正在运行:
sudo systemctl is-active systemd-resolved
看到返回“active”状态后,即可执行核心的清空缓存命令:
sudo systemd-resolve --flush-caches
如何确认操作成功?运行以下命令查看缓存统计,若相关计数归零或重置,即表示清理完毕:
sudo systemd-resolve --statistics | grep "Cache"
二、重启 systemd-resolved 服务
有时仅刷新缓存可能不够。如果上述命令无响应,或服务本身存在异常状态,直接重启整个服务会更彻底。这相当于给DNS解析器执行一次“重启大法”,既能清空缓存,也能重新加载所有配置。
操作顺序很简单:先停止,再启动,并确保开机自启。
sudo systemctl stop systemd-resolved
sudo systemctl start systemd-resolved && sudo systemctl enable systemd-resolved
最后,确认服务是否已正常运行:
sudo systemctl status systemd-resolved | grep "active (running)"
三、通过 NetworkManager 重载刷新DNS
对于使用图形化桌面环境并由NetworkManager管理网络连接的用户,还有另一种途径。直接重载NetworkManager配置,可触发它重新读取DNS设置并刷新内部缓存,且通常不会导致网络断开,体验更流畅。
只需一条重载命令:
sudo systemctl reload NetworkManager
想查看后台执行细节?通过日志过滤DNS相关动作即可:
journalctl -u NetworkManager | grep -i "dns" | tail -n 3
另外,可顺带检查系统DNS解析配置文件是否已正确更新(尤其是当它指向本地解析器时):
cat /etc/resolv.conf | grep "127.0.0.53"
四、重启 network 服务(传统网络栈适用)
在一些服务器版或精简部署的麒麟系统中,可能未启用NetworkManager,而是沿用传统的network.service。此时前两种方法可能不适用,但原理相通——重启网络服务。
重启服务会强制系统重建整个网络连接链路,DNS解析自然也被重置。操作遵循经典两步:
sudo systemctl stop network
sudo systemctl start network
服务启动后,及时验证DNS配置是否生效:
grep nameserver /etc/resolv.conf
检查输出的nameserver是否为期望的DNS服务器地址。
五、手动检查并注释 /etc/hosts 中干扰条目
走到这一步,如果问题仍然存在,那很可能不是“缓存”的锅,需要检查更底层的静态配置。系统在查询DNS之前,会优先查阅本地的/etc/hosts文件。如果该文件中存在一条记录,强行将您访问的域名指向错误的IP地址,那么无论怎样刷新DNS缓存都无济于事。
因此,这是最后的排查手段。先打开hosts文件查看内容:
sudo cat /etc/hosts
仔细查找是否包含您正在尝试访问的域名(例如archive.kylinos.cn)所在行,并且发现其指向的IP地址不正确。找到可疑行后,用编辑器打开文件:
sudo nano /etc/hosts
在该行开头添加一个#号将其注释掉,保存退出。如此一来,系统将绕过这条错误记录,重新回归正常的DNS查询流程。
通常,按照以上五个步骤依次操作,绝大多数由DNS缓存或配置引发的解析异常都能得到解决。从服务刷新到配置检查,思路由浅入深,下次再遇到类似问题时,不妨按此顺序尝试。
