news 2026/10/29 20:42:02

Ubuntu双系统WiFi频繁断网问题解决方案

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ubuntu双系统WiFi频繁断网问题解决方案

Ubuntu双系统WiFi频繁断网问题解决方案(MAC地址不一致导致)

本文记录了在Windows/Ubuntu双系统环境下,Ubuntu连接校园网或特定WiFi时频繁断网的问题排查与解决过程。

一、问题描述

1.1 现象

  • 系统环境:Windows 10 / Ubuntu 双系统
  • 网卡型号:MediaTek Wi-Fi 6 MT7921 Wireless LAN Card
  • 问题表现:
    • Ubuntu 连接校园网(BeijingLigong)和实验室路由器(Z_Lab)时,刚连上能用很短时间就断网
    • 同一台电脑的 Windows 系统连接相同 WiFi 完全正常
    • Ubuntu 连接手机热点一直稳定正常

1.2 初步分析

既然手机热点正常,而校园网和特定路由器有问题,说明不是网卡驱动问题。怀疑是MAC地址认证/绑定机制导致。


二、问题排查

2.1 查看 Windows 下的 MAC 地址

在 Windows 系统下,使用ipconfig /all命令查看网卡信息:

连接 Z_Lab 时:

无线局域网适配器 WLAN: 描述. . . . . . . . . . . . . . . : MediaTek Wi-Fi 6 MT7921 Wireless LAN Card 物理地址. . . . . . . . . . . . . : D4-A0-79-B7-2F-D9

连接 BeijingLigong 时:

无线局域网适配器 WLAN: 描述. . . . . . . . . . . . . . . : MediaTek Wi-Fi 6 MT7921 Wireless LAN Card 物理地址. . . . . . . . . . . . . : E8-00-AD-60-0D-6B

2.2 查看 Ubuntu 下的 MAC 地址

iplinkshow wlp4s0|grepether

输出:

link/ether f8:89:d2:7e:a6:ab brd ff:ff:ff:ff:ff:ff

或使用 NetworkManager 查看:

nmcli device show wlp4s0|grepHWADDR

输出:

GENERAL.HWADDR: F8:89:D2:7E:A6:AB

2.3 问题定位

系统/网络MAC 地址
Ubuntu (硬件原始地址)F8:89:D2:7E:A6:AB
Windows 连接 Z_LabD4:A0:79:B7:2F:D9
Windows 连接 BeijingLigongE8:00:AD:60:0D:6B

关键发现:Windows 10 默认启用了随机硬件地址功能,对不同的 WiFi 网络使用不同的 MAC 地址。而 Ubuntu 默认使用真实的硬件 MAC 地址。

根本原因:校园网等网络环境可能采用了 MAC 地址认证/绑定机制。由于 Ubuntu 使用的 MAC 地址与 Windows 已认证通过的 MAC 地址不同,网络认证系统在短时间后会踢掉 Ubuntu 的连接。


三、解决方案

3.1 为特定 WiFi 连接配置克隆 MAC 地址

使用nmcli命令为指定的 WiFi 连接设置克隆 MAC 地址,使其与 Windows 下的 MAC 地址保持一致。

Step 1:查看已保存的 WiFi 连接

nmcli connection show|grepwifi

输出示例:

BeijingLigong 503cd9dd-c9af-4ef7-860b-27347f977e35 wifi -- Z_Lab 92bf5e70-2b83-4f69-92e6-c4df0ba8bff0 wifi --

Step 2:设置克隆 MAC 地址

# 为 BeijingLigong 设置 MAC 地址(使用 Windows 连接该网络时的 MAC)sudonmcli connection modify"BeijingLigong"wifi.cloned-mac-address"E8:00:AD:60:0D:6B"# 为 Z_Lab 设置 MAC 地址(使用 Windows 连接该网络时的 MAC)sudonmcli connection modify"Z_Lab"wifi.cloned-mac-address"D4:A0:79:B7:2F:D9"

Step 3:重启 NetworkManager 使配置生效

sudosystemctl restart NetworkManager

Step 4:验证配置

nmcli connection show"BeijingLigong"|grepcloned nmcli connection show"Z_Lab"|grepcloned

输出:

802-11-wireless.cloned-mac-address: E8:00:AD:60:0D:6B 802-11-wireless.cloned-mac-address: D4:A0:79:B7:2F:D9

3.2 重新连接 WiFi 测试

# 断开当前连接nmcli connection down"BeijingLigong"# 重新连接nmcli connection up"BeijingLigong"# 验证当前使用的 MAC 地址iplinkshow wlp4s0|grepether

此时应该能看到 MAC 地址已变为克隆地址,网络连接稳定不再断开。


四、补充知识

4.1 为什么 Windows 会使用随机 MAC 地址?

Windows 10/11 为了保护用户隐私,默认启用了"随机硬件地址"功能。该功能会:

  • 对不同的 WiFi 网络使用不同的 MAC 地址
  • 防止通过 MAC 地址追踪用户设备

可以在 Windows 设置中查看和管理:
设置 → 网络和 Internet → WLAN → 随机硬件地址

4.2 NetworkManager 的 MAC 地址配置选项

NetworkManager 支持多种 MAC 地址策略,可在/etc/NetworkManager/NetworkManager.conf中配置:

[device] # 扫描时不使用随机 MAC wifi.scan-rand-mac-address=no [connection] # 连接时的 MAC 地址策略 # preserve: 保持当前 MAC # permanent: 使用硬件原始 MAC # random: 每次连接使用随机 MAC # stable: 基于连接名称生成稳定的随机 MAC wifi.cloned-mac-address=permanent

4.3 如何恢复使用原始 MAC 地址

如果需要恢复使用硬件原始 MAC 地址:

sudonmcli connection modify"WiFi名称"wifi.cloned-mac-address""sudosystemctl restart NetworkManager

五、总结

问题原因解决方案
Ubuntu 连接特定 WiFi 频繁断网Windows 使用随机 MAC,Ubuntu 使用真实 MAC,导致 MAC 地址不一致,触发网络认证机制使用nmcli为特定 WiFi 连接配置与 Windows 相同的克隆 MAC 地址

核心命令:

sudonmcli connection modify"WiFi名称"wifi.cloned-mac-address"XX:XX:XX:XX:XX:XX"sudosystemctl restart NetworkManager

参考资料

  • NetworkManager 官方文档
  • nmcli 命令手册

日期:2025年12月30日
环境:Ubuntu 20.04 / Windows 10 双系统,MediaTek MT7921 无线网卡

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/28 15:49:04

设备树兼容性字符串匹配机制:深度剖析

设备树兼容性字符串匹配机制:从驱动加载失败说起 你有没有遇到过这种情况?写好了一个设备树节点,编译进内核,结果 probe() 函数就是不执行。日志里干干净净,没有任何报错——仿佛你的设备根本不存在。 这时候&#…

作者头像 李华
网站建设 2026/10/29 9:51:10

“首版次高端软件”:国产工业软件皇冠上的明珠

在制造业数字化转型浪潮中,软件定义一切已成为共识。然而,高端工业软件长期被欧美日巨头垄断,关键领域“卡脖子”风险骤升。为打破“用得起、买得到、靠不住”的被动局面,国家工信部于2021年设立“首版次高端软件”认定专项&#…

作者头像 李华
网站建设 2026/10/26 21:52:00

GitHub Sponsor Button为PyTorch项目筹款

GitHub Sponsor Button为PyTorch项目筹款 在深度学习领域,一个常见的场景是:研究者或工程师满怀热情地准备复现一篇论文,却发现自己的环境总是报错——ImportError: libcudart.so.11.0: cannot open shared object file。折腾半天后才意识到&…

作者头像 李华
网站建设 2026/10/29 7:07:16

PyTorch-CUDA镜像能否用于智能客服对话系统训练?

PyTorch-CUDA镜像能否用于智能客服对话系统训练? 在当今企业数字化转型的浪潮中,智能客服正从“能回答”向“懂用户”演进。背后支撑这一跃迁的,是越来越复杂的深度学习模型——尤其是基于Transformer架构的语言模型。然而,当团队…

作者头像 李华
网站建设 2026/10/29 17:14:54

GitHub Templates创建自定义PyTorch项目模板

使用 GitHub Templates 构建标准化 PyTorch 开发环境 在深度学习项目开发中,你是否经历过这样的场景:新成员加入团队后,花了一整天时间配置 Python 环境、安装 PyTorch、调试 CUDA 驱动,结果还是因为版本不一致导致代码跑不通&…

作者头像 李华
网站建设 2026/10/26 21:52:00

为什么你设置的密码,其实并不安全?

为什么你设置的密码,其实并不安全? 在日常开发、运维或者普通上网过程中,“密码”几乎无处不在: 网站登录数据库账号服务器 SSH第三方 API Key各类后台管理系统 但很多人对密码安全的重视程度,依然停留在「能记住就…

作者头像 李华