银河麒麟系统多网卡共存时默认路由冲突导致外网不通,根本原因是多张网卡均配置了默认网关,内核仅选metric最小者;需禁用内网连接的默认网关并设外网连接低metric值。

银河麒麟系统同时启用内网有线卡和外网WiFi(或另一张有线卡)时,常出现“能上内网但打不开百度”“SSH连内网卡顿、curl外网超时”等问题,根本原因是两张网卡都设置了默认网关,而Linux内核只选metric值最小的一条作为出口,导致流量被错误导向不支持转发的内网网关。
确认当前路由冲突状态
打开终端,执行:
ip route show | grep default
若输出中出现两条及以上以 default via 开头的行,例如:
default via 192.168.10.1 dev ens33 metric 100
default via 10.0.0.1 dev wlp2s0 metric 600
说明已发生默认路由冲突——系统会无条件选择 metric=100 的那条,所有外网请求都被发往内网网关,必然失败。
此时无需猜测哪张卡对应哪个连接名,先用这条命令锁定真实设备:
nmcli device status | grep connected
图形界面快速修复(适合桌面用户)
点击左下角“开始菜单”→“设置”→“网络”→“有线”,进入有线连接管理页。
找到你用于内网的连接(如“有线连接 1”),点击右侧齿轮图标→切换到“IPv4”标签页→将“方法”设为“手动”,填入内网IP与子网掩码,网关栏必须留空。
继续点击右上角“更多设置”→切换至“路由”标签页→勾选“忽略自动获取的路由”,并取消勾选“使用此连接的默认网关”。
对外网连接(如“WIFI-Office”或“有线连接 2”),确保其IPv4方法为“自动(DHCP)”或已正确填写外网网关;该连接无需额外操作,默认网关功能保持启用即可。
全部修改后点“应用”,系统会自动重载连接。此时再次运行 ip route show | grep default,应仅剩一条外网默认路由。
命令行永久配置(推荐服务器/批量部署)
第一步:识别连接名称
执行 nmcli connection show,记录下内网连接名(如“有线连接 1”)和外网连接名(如“WIFI-Office”)。
开箱即用的技能链路由引擎。13 条预定义链覆盖搜索、开发、审查、MLOps、法律、创意等场景,三层路由架构(触发词→SAD反馈→DAG编排),recall@10=96.97%。配置驱动(chains.yaml),零代码扩展。pip install skill-weave-chains 一键安装。
第二步:禁用内网连接的默认网关功能
执行:
sudo nmcli connection modify "有线连接 1" ipv4.never-default yes
第三步:为外网连接设定明确的路由优先级
执行:
sudo nmcli connection modify "WIFI-Office" ipv4.route-metric 50
第四步:重启两个连接使配置生效
依次执行:
nmcli connection down "有线连接 1"
nmcli connection down "WIFI-Office"
nmcli connection up "有线连接 1"
nmcli connection up "WIFI-Office"
执行完毕后,立即验证:
ip route show | grep default
输出应只有一条 default via xxx dev xxx metric 50,且设备名与外网物理接口一致。若仍出现两条,默认是某连接未真正 down 掉,可补加 --force 参数强制关闭。
进阶排查:当内网需访问特定外网段时
方法一:添加静态路由指向外网网关
例如内网服务需调用 110.242.68.0/24 网段,执行:
sudo ip route add 110.242.68.0/24 via 10.0.0.1 dev wlp2s0
方法二:永久化该路由(避免重启丢失)
编辑对应外网连接的配置文件:
sudo vim /etc/NetworkManager/system-connections/"WIFI-Office"
在 [ipv4] 段落下新增一行:
routes=110.242.68.0/24,10.0.0.1,24
注意:此处的24是子网掩码位数,不可省略或写错,否则路由无法加载。
保存后执行:
sudo nmcli connection reload
sudo nmcli connection up "WIFI-Office"










