麒麟系统域名解析异常时,应依次检查:一、/etc/resolv.conf中的nameserver;二、/etc/systemd/resolved.conf中[Resolve]段DNS配置;三、nmcli dev show或nmcli con show获取NetworkManager实际DNS;四、用resolvectl status和resolvectl query验证真实解析行为。

如果您在麒麟操作系统中遇到域名无法解析的问题,需先确认当前生效的DNS配置是否正确。以下是查看DNS设置的具体方法:
一、查看 /etc/resolv.conf 文件内容
该文件是系统当前实际使用的DNS解析配置文件,由 systemd-resolved 或 NetworkManager 动态写入或手动配置。其内容直接决定域名查询时使用的服务器。
1、打开终端,执行命令:cat /etc/resolv.conf
2、观察输出中是否包含有效的 nameserver 行,例如:nameserver 114.114.114.114 或 nameserver 8.8.8.8
3、若显示 nameserver 127.0.0.53,说明 systemd-resolved 正在代理DNS请求,真实配置需进一步检查 resolved.conf。
二、检查 systemd-resolved 的主配置
systemd-resolved 是麒麟OS(尤其是V10 SP1及后续版本)默认启用的DNS管理服务,/etc/resolv.conf 往往只是其符号链接或代理输出,真实配置位于 resolved.conf 中。
1、执行命令:sudo cat /etc/systemd/resolved.conf
2、查找 [Resolve] 段落下的 DNS= 行,例如:DNS=114.114.114.114 223.5.5.5
3、若该行被注释(以 # 开头)或为空,则表示未显式指定上游DNS,将回退至 FallbackDNS 或 DHCP 分配值。
三、通过 NetworkManager 查询当前连接DNS
当使用图形界面或 NetworkManager 管理网络时,DNS可能由其独立控制,/etc/resolv.conf 可能不反映真实设置,需直接向 NM 查询。
1、列出所有网络设备及其DNS信息:nmcli dev show
2、在输出中定位以 IP4.DNS 开头的行,例如:IP4.DNS[1]: 114.114.114.114
3、如需查看特定连接(如“有线连接 1”)的完整IPv4 DNS配置,运行:nmcli con show "有线连接 1" | grep ipv4.dns
四、验证当前实际解析行为
仅看配置文件不能完全确认DNS是否真正生效,需结合系统解析路径进行实测验证,排除缓存或stub listener干扰。
1、查询 systemd-resolved 当前状态与上行DNS:resolvectl status
2、在输出中查找 Current DNS Server: 和 DNS Servers: 字段,确认正在使用的服务器IP。
3、执行解析测试并强制绕过本地缓存:resolvectl query baidu.com --no-cache










