银河麒麟系统多网卡并行访问需调整默认路由metric值:一、临时用ip route命令修改;二、推荐用nmcli永久配置route-metric并设never-default;三、手动编辑NetworkManager配置文件添加route-metric=80;四、无NetworkManager时通过systemd-networkd的.network文件设置Metric。

如果您在银河麒麟系统中同时启用有线网卡与无线网卡(或两张有线网卡),但发现系统始终通过某一条路径访问所有外部地址,导致内网资源与外网服务无法并行使用,则问题极可能源于默认路由的metric值冲突。以下是解决此问题的步骤:
一、临时修改网卡metric值(命令行方式)
该方法通过ip route命令直接调整当前路由表中的默认网关metric,操作即时生效,但重启后失效,适用于快速验证或临时调试。
1、执行ip route show命令,确认当前默认路由及其metric值,例如输出中包含:default via 192.168.1.1 dev eth0 metric 100和default via 192.168.43.1 dev wlan0 metric 600。
2、删除原有WIFI默认路由:执行sudo ip route del default via 192.168.43.1 dev wlan0(请将IP和设备名替换为实际值)。
3、添加新WIFI默认路由并指定更低metric:执行sudo ip route add default via 192.168.43.1 dev wlan0 metric 80。
4、验证是否生效:再次运行ip route show,确认wlan0条目metric已变为80且排在eth0之前。
二、使用nmcli永久配置metric(推荐桌面/服务器通用)
该方法通过NetworkManager管理连接配置,修改后的metric值写入连接配置文件,系统重启、网络重连后仍保持有效,是Kylin V10 SP3及后续版本的官方推荐方式。
1、执行nmcli connection show,识别目标连接名称(如“Wired connection 1”或“WIFI-SSID”)。
2、查询当前连接的IPv4路由设置:执行nmcli connection show "WIFI-SSID" | grep ipv4.routes。
3、设置WIFI连接的默认路由metric为80:执行sudo nmcli connection modify "WIFI-SSID" ipv4.route-metric 80。
4、禁用有线连接的默认路由功能(防止冲突):执行sudo nmcli connection modify "Wired connection 1" ipv4.never-default yes。
5、重新激活两个连接:依次执行nmcli connection down "Wired connection 1"和nmcli connection up "WIFI-SSID"。
开箱即用的技能链路由引擎。13 条预定义链覆盖搜索、开发、审查、MLOps、法律、创意等场景,三层路由架构(触发词→SAD反馈→DAG编排),recall@10=96.97%。配置驱动(chains.yaml),零代码扩展。pip install skill-weave-chains 一键安装。
三、编辑NetworkManager连接配置文件(手动持久化)
当nmcli命令不可用或需批量部署时,可直接编辑/etc/NetworkManager/system-connections/目录下的连接配置文件,确保metric参数被明确声明并持久保存。
1、进入配置目录:cd /etc/NetworkManager/system-connections/。
2、用文本编辑器打开WIFI连接配置文件(如sudo vim WIFI-SSID.nmconnection)。
3、在[ipv4]段落末尾添加一行:route-metric=80。
4、在同段落中确认存在ignore-auto-routes=true或添加该行以忽略DHCP自动分配的路由。
5、保存文件后,执行sudo systemctl restart NetworkManager使配置生效。
四、通过systemd-networkd配置(适用于无NetworkManager环境)
在精简服务器或容器化环境中,若系统未启用NetworkManager而使用systemd-networkd,则需通过.network文件显式定义路由优先级。
1、创建WIFI网卡对应配置文件:sudo vim /etc/systemd/network/20-wlan0.network。
2、写入以下内容:
[Match]
Name=wlan0
[Network]
DHCP=yes
[Route]
Destination=0.0.0.0/0
Metric=80。
3、为有线网卡创建对应文件(如30-eth0.network),在[Route]段中不配置Metric或设为更高值(如150)。
4、重启网络服务:sudo systemctl restart systemd-networkd。


















