麒麟OS修改DNS有五种方法:一、改/etc/systemd/resolved.conf并重启服务(推荐,持久高效);二、用nmcli配置NetworkManager连接级DNS;三、编辑网卡ifcfg-*文件并重启network服务;四、图形界面IPv4设置中填写DNS;五、锁定/etc/resolv.conf应急。

如果您发现麒麟OS系统无法正常解析域名,或网页打开缓慢、部分网站无法访问,则很可能是当前DNS服务器响应迟缓或不可用。以下是多种可立即执行的DNS修改方法,适用于不同网络管理机制和部署场景:
一、修改 /etc/systemd/resolved.conf 并重启服务
该方式适用于麒麟OS V10 SP1及后续版本,默认启用 systemd-resolved 服务,/etc/resolv.conf 通常为其符号链接,真实上游DNS由 resolved.conf 控制,修改后持久生效且优先级高。
1、使用管理员权限编辑配置文件:sudo vim /etc/systemd/resolved.conf
2、定位到 [Resolve] 区块,取消 DNS= 行前的注释符 #,并写入首选与备用DNS:DNS=114.114.114.114 223.5.5.5
3、可选:若需禁用 LLMNR 防止干扰,将 LLMNR=yes 改为 LLMNR=no
4、保存退出(vim 中按 ESC,输入 :wq 回车)
5、重载并重启服务:sudo systemctl daemon-reload && sudo systemctl restart systemd-resolved
6、验证是否生效:systemd-resolve --status | grep "DNS Servers"
二、通过 NetworkManager 修改连接级 DNS
该方法适用于图形桌面环境且 NetworkManager 正在管理网络连接的麒麟OS,配置保存于独立连接文件,不被系统级脚本覆盖,适合有线/无线连接分别定制DNS。
1、列出当前所有连接名称:nmcli con show
2、确认目标连接名(如“有线连接 1”或“Wired connection 1”),然后设置 IPv4 DNS:nmcli con mod "有线连接 1" ipv4.dns "114.114.114.114 223.6.6.6"
3、禁止 DHCP 自动分发 DNS,避免覆盖:nmcli con mod "有线连接 1" ipv4.ignore-auto-dns yes
4、重启该连接使配置生效:nmcli con down "有线连接 1" && nmcli con up "有线连接 1"
5、检查结果:nmcli con show "有线连接 1" | grep dns
三、直接编辑网卡配置文件(静态网络适用)
该方式将 DNS 设置绑定至特定物理网卡接口,由 network.service 在启动时写入 /etc/resolv.conf,适用于关闭 NetworkManager、启用传统网络服务的服务器部署环境,配置高度持久。
1、确认网卡名称:ip -br link | awk '$2 == "UP" {print $1}'
2、编辑对应网卡配置文件(例如 ens33):sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33
免费 DNS 与邮件安全分析(IntoDNS.ai):包括 DNSSEC、SPF、DKIM、DMARC、MTA-STS、BIMI、SMTP STARTTLS、FCrDNS、黑名单、发件人要求及报告。
3、在文件末尾新增两行:DNS1=114.114.114.114 和 DNS2=223.5.5.5
4、确保 BOOTPROTO 为 static 或 dhcp(若为 dhcp,需同步添加 PEERDNS=no 防止覆盖)
5、重启网络服务:sudo systemctl restart network
6、验证写入效果:cat /etc/resolv.conf | grep nameserver
四、图形界面中配置 IPv4 DNS(桌面用户推荐)
该方法无需命令行操作,适用于麒麟桌面版普通用户,通过系统设置直观完成,配置经 NetworkManager 持久化存储,重启后仍有效。
1、点击左下角“开始菜单”,进入“控制中心”或“设置”
2、选择“网络”→“有线网络”或“无线网络”,点击右侧齿轮图标进入“高级设置”
3、切换至“IPv4”选项卡
4、将“方法”由“自动(DHCP)”改为“自动(DHCP)仅地址”(关键步骤,否则DNS字段不可编辑)
5、在“DNS服务器”输入框中填写:114.114.114.114, 223.5.5.5(英文逗号分隔)
6、点击“应用”或“确定”,系统将自动重启对应连接
五、强制锁定 /etc/resolv.conf(临时应急)
当其他方法因 NetworkManager 或 cloud-init 覆盖而失效时,可通过文件属性锁定方式强制固定 DNS,适用于调试或紧急恢复场景,但需注意后续修改需先解除锁定。
1、以 root 权限打开文件:sudo vim /etc/resolv.conf
2、清空全部内容,仅保留两行:nameserver 114.114.114.114 和 nameserver 223.5.5.5
3、保存退出后,设置文件为不可修改:sudo chattr +i /etc/resolv.conf
4、验证锁定状态:lsattr /etc/resolv.conf(应显示 ----i---------e---)
5、如需后续修改,必须先执行:sudo chattr -i /etc/resolv.conf

















