麒麟系统怎么修改网卡DNS优先级

老磊姑娘_9831

老磊姑娘_9831

2026-06-14

692人浏览

原创

银河麒麟多网卡dns干扰的根本原因是dns未按网卡权重区分,应优先用systemd-resolved按网卡绑定专属dns并设域名路由(如ens33专解~internal),辅以networkmanager设置route-metric和ignore-auto-dns,最后强制nsswitch.conf中hosts行启用files dns myhostname顺序。

麒麟系统怎么修改网卡dns优先级

您在银河麒麟系统中配置了多个网卡(如有线+无线、或两张有线网卡),但发现内网域名解析总走外网DNS、局域网服务访问失败,或不同网卡的DNS查询互相干扰,根本原因在于各网卡DNS未按预期优先级生效——系统未对不同网卡的DNS设置做权重区分,而是简单合并或覆盖。

用 systemd-resolved 按网卡绑定专属DNS并设域名路由

该方法适用于麒麟V10 SP1及以上版本,通过 resolved 的 per-link DNS 机制,让某张网卡(如ens33)专用于解析 internal 域名,另一张(如wlan0)负责公网,互不干扰。这是唯一能实现“网卡级DNS优先级”的原生方案。

第一步:确认目标网卡名称及当前 resolved 状态
执行 ip -br link | grep UP 查出活跃网卡,例如 【ens33】;再运行 systemctl is-active systemd-resolved 确保服务已启动。

第二步:为 ens33 创建专用 link 配置文件
执行 sudo vim /etc/systemd/network/10-ens33.network,写入以下内容:

[Match]
Name=ens33

[Network]
DNS=192.168.10.5
Domains=~internal ~intranet.local
RouteMetric=100

第三步:重启 systemd-networkd 并重载 resolved
执行 sudo systemctl restart systemd-networkd && sudo systemctl reload systemd-resolved。注意:【必须先重启 networkd,否则 resolved 不会读取新 link 配置】。

第四步:验证域名是否命中指定网卡DNS
执行 systemd-resolve --status | grep -A10 "Link.*ens33",确认输出中包含 DNS: 192.168.10.5 和 Domains: ~internal ~intranet.local;再测试 dig gitlab.internal @192.168.10.5 应返回有效响应。

通过 NetworkManager 设置连接级DNS优先级

当您使用图形桌面且 NetworkManager 管理网络时,可通过调整连接的 route-metric 和 ignore-auto-dns 实现DNS出口控制——metric 决定默认路由走向,而 ignore-auto-dns 强制该连接的DNS不被覆盖,从而间接形成DNS优先级。

IntoDNS.ai
IntoDNS.ai

免费 DNS 与邮件安全分析(IntoDNS.ai):包括 DNSSEC、SPF、DKIM、DMARC、MTA-STS、BIMI、SMTP STARTTLS、FCrDNS、黑名单、发件人要求及报告。

下载

方法一:禁用低优先级连接的DNS自动获取
执行 nmcli con mod "Wired connection 1" ipv4.ignore-auto-dns yes,再 nmcli con up "Wired connection 1"。这一步会让该连接只用自己配置的DNS,不抢全局解析权。

方法二:给高优先级连接设更低跃点数并绑定DNS
先执行 nmcli con mod "WIFI-SSID" ipv4.route-metric 50,再设DNS:nmcli con mod "WIFI-SSID" ipv4.dns "114.114.114.114 223.5.5.5",最后 nmcli con mod "WIFI-SSID" ipv4.ignore-auto-dns yes。这三步合起来,让WiFi连接既获得路由优先权,又独占DNS解析路径。

方法三:图形界面快速设置(仅限桌面环境)
点击右上角网络图标 → “有线设置”或“Wi-Fi设置” → IPv4 选项卡 → 将“DNS”设为手动,填入 114.114.114.114,223.5.5.5 → 关闭“自动从DHCP获取DNS”开关 → 应用。操作起来很简单,直接点几下就行。

强制 /etc/nsswitch.conf 启用多源DNS解析顺序

即使所有网卡DNS都配好了,若系统解析器跳过DNS查询,一切配置都白搭。nsswitch.conf 中 hosts 行决定解析路径顺序,缺了 dns 就等于关掉了整个DNS层。

执行 grep hosts /etc/nsswitch.conf,若输出为 hosts: files myhostname,说明DNS解析被完全绕过。

用 root 权限编辑该文件:sudo vim /etc/nsswitch.conf,将 hosts 行改为:hosts: files dns myhostname。位置很关键——【dns 必须放在 files 之后、myhostname 之前,否则内网 hosts 条目会被DNS覆盖】。

保存退出即可生效,无需重启任何服务。后续所有 getaddrinfo() 调用都会按此顺序查 hosts → DNS → myhostname。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

dns

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Linux 新手先学哪些命令
Linux 新手先学哪些命令

Linux新手命令专题汇集终端基础、文件目录操作、文本查看、软件安装和权限管理等入门文章,帮助按实际任务练习常用命令并建立命令行操作习惯。

2026.10.15

0

20

MySQL 忘记密码怎么办
MySQL 忘记密码怎么办

MySQL忘记密码专题汇集不同版本与系统下的root密码重置方法,覆盖MySQL 5.7、8.0、Mac、Linux及本地集成环境,并提示恢复权限与重新登录的检查步骤。

2026.10.15

0

18

Vue.js 中 ref 和 reactive 的区别
Vue.js 中 ref 和 reactive 的区别

Vue.js中ref和reactive的区别专题汇集两种响应式API的定义、访问方式、对象解构、侦听与性能取舍等文章,帮助结合实际状态类型选择合适写法。

2026.10.15

0

20

VS Code 怎么配置开发环境
VS Code 怎么配置开发环境

VS Code开发环境专题汇集编辑器安装、语言扩展、编译器、解释器、终端和调试配置文章,覆盖Java、Python、C++和PHP等常见语言的入门设置。

2026.10.15

0

18

C++ 开发环境怎么搭建
C++ 开发环境怎么搭建

C++开发环境专题汇集Windows、Linux下的编译器与IDE安装配置教程,涵盖GCC、Clang、Visual Studio、CLion和VS Code,以及编译运行首个程序的步骤。

2026.10.15

0

19

Python 虚拟环境是什么
Python 虚拟环境是什么

Python虚拟环境专题介绍项目依赖隔离的作用,汇集venv与uv创建、激活、退出及解释器切换的相关文章,并覆盖Windows、Linux和VS Code中的常见配置问题。

2026.10.15

0

15

Python 怎么安装并配置环境变量
Python 怎么安装并配置环境变量

Python安装与环境变量配置专题汇集Windows、macOS和Linux的安装步骤、PATH设置、pip配置及常见报错排查文章,帮助完成解释器安装并验证命令行可以正常运行。

2026.10.15

0

15

PHP 连接 MySQL 失败怎么办
PHP 连接 MySQL 失败怎么办

PHP连接MySQL失败专题汇集PDO与MySQLi扩展配置、账号权限、主机端口、套接字和认证方式等排查文章,覆盖连接报错、密码变更与容器环境配置,帮助按错误提示定位原因并修复。

2026.10.15

0

18

PHP 表单提交后如何获取数据
PHP 表单提交后如何获取数据

PHP表单提交后如何获取数据专题汇集HTML表单提交、GET与POST接收、$_POST和$_GET读取、跨文件传值、单选与下拉字段获取,以及空值和接收失败排查等文章,帮助新手完成从提交到处理的完整流程。

2026.10.15

0

20

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.7万人学习