推荐使用systemd-resolved配置全局DNS:编辑/etc/systemd/resolved.conf,取消DNS=注释并填入114.114.114.114 223.5.5.5,执行sudo systemctl daemon-reload && sudo systemctl restart systemd-resolved,再用systemd-resolve --status验证生效。

您在麒麟OS中需要为网络连接指定特定DNS服务器,例如政务专网要求的114.114.114.114、内网DNS 192.168.10.5或阿里云DNS 223.5.5.5,以确保域名解析准确、访问内部系统稳定、避免公网解析被劫持或延迟过高。
通过 systemd-resolved 配置全局DNS(推荐用于V10 SP1+)
该方法直接控制麒麟OS默认启用的systemd-resolved服务,配置写入主配置文件,重启后永久生效,且优先级高于其他方式,适用于绝大多数桌面与服务器环境。
1、以管理员权限编辑resolved主配置:sudo vim /etc/systemd/resolved.conf
2、定位到[Resolve]段落,取消DNS=行前的#注释符,并填入您要设置的DNS地址,多个地址用空格分隔,例如:DNS=114.114.114.114 223.5.5.5
3、若需为不同域名启用定向解析(如仅对.internal走内网DNS),可同时修改Domains=行,例如:Domains=~internal ~local
4、保存退出后,重载并重启服务:sudo systemctl daemon-reload && sudo systemctl restart systemd-resolved
5、验证是否生效:systemd-resolve --status | grep "DNS Servers",输出应包含您设置的IP地址。
通过 NetworkManager 配置连接级DNS(图形桌面首选)
当您使用麒麟桌面版且网络由NetworkManager管理时,DNS必须按连接单独设置,否则DHCP重连或服务重启会覆盖全局配置。此方式支持有线/无线连接差异化策略。
方法一:命令行配置
1、列出所有连接:nmcli con show,记下目标连接名(如“有线连接 1”)
2、设置DNS列表:nmcli con mod "有线连接 1" ipv4.dns "114.114.114.114 223.5.5.5"
3、【关键】必须禁用DHCP自动分发DNS,否则配置会被覆盖:nmcli con mod "有线连接 1" ipv4.ignore-auto-dns yes
4、重启连接使配置加载:nmcli con down "有线连接 1" && nmcli con up "有线连接 1"
方法二:图形界面配置
免费 DNS 与邮件安全分析(IntoDNS.ai):包括 DNSSEC、SPF、DKIM、DMARC、MTA-STS、BIMI、SMTP STARTTLS、FCrDNS、黑名单、发件人要求及报告。
点击右上角网络图标→“有线设置”→点击齿轮图标→切换到“IPv4”选项卡→将“DNS”设为“手动”→在输入框中填入114.114.114.114,223.5.5.5(英文逗号分隔)→点击“应用”。
修改网卡配置文件绑定DNS(传统network服务环境)
该方式适用于关闭NetworkManager、启用传统network.service的麒麟服务器版(如V4.0.2-sp4或部分V10 Server),DNS直接写入物理网卡脚本,由启动时注入/etc/resolv.conf,不依赖上层服务。
第一步:确认网卡与编辑配置
1、执行ip -br link | grep UP查看活跃网卡名(如ens33)
2、备份原配置:sudo cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.bak
3、编辑网卡文件:sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33
第二步:添加DNS参数并重启
4、在文件末尾新增两行:DNS1=114.114.114.114和DNS2=223.5.5.5;若需指定搜索域,追加DOMAIN="local internal"
5、保存后重启网络服务:sudo systemctl restart network(V10 Server)或sudo ifdown ens33 && sudo ifup ens33(V4.0.2-sp4)
6、检查是否写入解析器:cat /etc/resolv.conf | grep nameserver,应显示对应nameserver条目。
临时写入 /etc/resolv.conf(仅限调试验证)
这一步操作起来很简单,直接覆盖当前DNS解析器,5秒内即可生效,但系统重启、NetworkManager重连或systemd-resolved服务重启后会被自动还原,切勿用于生产环境。
1、清空并重写配置:echo -e "nameserver 114.114.114.114\nnameserver 223.5.5.5" | sudo tee /etc/resolv.conf
2、为防止被覆盖,可临时锁定文件:sudo chattr +i /etc/resolv.conf(后续需修改时先执行sudo chattr -i /etc/resolv.conf)
3、立即验证:ping -c 1 www.baidu.com,若能通说明DNS已切换成功。

















