银河麒麟系统多网卡优先级问题源于默认路由metric值配置不当,可通过nmcli修改、编辑配置文件、ip route临时添加或策略路由四种方法调整:nmcli动态设置推荐桌面环境;手动编辑nmconnection文件适用于批量部署;ip route命令适合临时调试;策略路由支持基于源IP的双线分流。

如果您在银河麒麟操作系统中同时启用有线与无线网络,但发现系统始终优先使用某一条线路而忽略另一条可用链路,则很可能是由于各网卡默认路由的metric值(跳数)配置不合理所致。metric值决定内核选择哪条路径作为默认出口,数值越小优先级越高。以下是调整网卡默认跳数及实现多线路路由设置的多种方法:
一、使用nmcli修改网卡连接的metric值
该方法通过NetworkManager动态管理接口参数,适用于图形或命令行环境,配置即时生效且可持久保存,推荐用于桌面及轻量服务器场景。
1、查看当前所有网络连接名称:nmcli connection show
2、确认目标连接名(如“有线连接1”或“Wired connection 1”)及其对应设备(如ens33或wlan0)
3、为有线连接设置metric值为100:nmcli connection modify "有线连接1" ipv4.route-metric 100
4、为无线连接设置更低metric值(例如50),确保其优先于有线:nmcli connection modify "Wireless connection 1" ipv4.route-metric 50
5、重启两个连接使配置生效:nmcli connection down "有线连接1" && nmcli connection up "有线连接1";nmcli connection down "Wireless connection 1" && nmcli connection up "Wireless connection 1"
6、验证结果:ip route show | grep default,确认两条default路由的metric值已按预期更新,无线路由应显示metric 50,有线路由显示metric 100
二、编辑NetworkManager连接配置文件手动设定metric
该方式绕过nmcli交互式操作,直接修改底层keyfile,适用于批量部署或需严格审计配置变更的环境,所有更改保存在/etc/NetworkManager/system-connections/目录下。
1、定位目标连接配置文件:ls /etc/NetworkManager/system-connections/ | grep -i "wired\|wireless"
2、用sudo权限编辑无线连接文件(例如:sudo vi "/etc/NetworkManager/system-connections/Wireless connection 1.nmconnection")
3、在[ipv4]节末尾添加新行:route-metric=50
4、在相同文件的[ipv6]节末尾添加:route-metric=50
5、保存退出后重载NetworkManager服务:sudo systemctl reload NetworkManager
开箱即用的技能链路由引擎。13 条预定义链覆盖搜索、开发、审查、MLOps、法律、创意等场景,三层路由架构(触发词→SAD反馈→DAG编排),recall@10=96.97%。配置驱动(chains.yaml),零代码扩展。pip install skill-weave-chains 一键安装。
6、再次检查路由表,确保wlan0对应的default路由metric已变为50
三、通过ip route命令临时添加带metric的静态路由
该方法不修改任何配置文件,仅在当前会话中注入指定metric的路由项,适合测试、调试或应急切换,重启后自动失效。
1、先删除原有默认路由(谨慎执行):sudo ip route del default via 192.168.1.1 dev ens33
2、为有线网卡重新添加带metric的默认路由:sudo ip route add default via 192.168.1.1 dev ens33 metric 100
3、为无线网卡添加另一条默认路由:sudo ip route add default via 192.168.43.1 dev wlan0 metric 50
4、执行ip route show,确认输出中存在两条default路由,且metric值分别为50和100
5、注意:Linux内核允许同一目标存在多条默认路由,但仅metric最小者参与转发决策
四、配置策略路由实现双线路逻辑分流
该方法突破单一默认路由限制,基于源IP、端口或应用特征将流量导向不同出口,适用于需隔离业务流或实现负载分担的进阶场景,依赖ip rule与ip route协同工作。
1、为无线网络创建独立路由表(编号100):echo "100 wlan_table" | sudo tee -a /etc/iproute2/rt_tables
2、向wlan_table添加无线网关路由:sudo ip route add 192.168.43.0/24 dev wlan0 src 192.168.43.100 table wlan_table
3、向wlan_table添加默认路由:sudo ip route add default via 192.168.43.1 dev wlan0 table wlan_table
4、添加规则:对来自192.168.43.100的数据包启用wlan_table:sudo ip rule add from 192.168.43.100/32 table wlan_table
5、执行ip rule show与ip route show table wlan_table验证配置完整性
6、此方案下,源自无线IP地址的流量将强制走wlan0,不受主路由表metric影响


















