news 2026/5/1 6:47:17

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/5/1 3:23:26

基于电感封装的PCB布线策略:实战案例分析

电感不是“随便放”的:一次电源布线优化的实战复盘最近帮团队调试一款工业级通信主控板,系统在EMC测试中频频告警——30MHz附近辐射超标,轻载时输出纹波还特别大。排查了一圈芯片配置、滤波电容、接地结构,最后问题竟然出在一个看…

作者头像 李华
网站建设 2026/5/1 5:41:12

如何在Windows上安装PyTorch并启用GPU加速?详细图文指南

如何在Windows上安装PyTorch并启用GPU加速?详细图文指南 引言 你有没有遇到过这样的情况:兴冲冲地准备开始训练一个深度学习模型,结果 torch.cuda.is_available() 返回了 False?或者刚装完 PyTorch,运行几行代码就报错…

作者头像 李华
网站建设 2026/5/1 6:44:24

GitHub Licenses为PyTorch项目选择开源协议

GitHub Licenses 为 PyTorch 项目选择开源协议 在人工智能技术高速迭代的当下,深度学习项目的开发效率与合规性正面临双重挑战。一方面,研究者和工程师希望快速搭建可复现、高性能的 GPU 计算环境;另一方面,企业在将开源模型集成…

作者头像 李华
网站建设 2026/4/14 23:40:35

GitHub Ignore忽略PyTorch训练缓存文件

GitHub Ignore忽略PyTorch训练缓存文件 在深度学习项目的日常开发中,你是否曾遇到过这样的尴尬:一次 git push 后,同事突然在群里你——“谁把 2GB 的 checkpoints/ 提上来了?” 或者 CI 流水线因为克隆超时而失败?这类…

作者头像 李华
网站建设 2026/4/28 3:27:54

SSH TCPKeepAlive维持PyTorch长期任务连接

SSH TCPKeepAlive维持PyTorch长期任务连接 在深度学习项目中,训练一个大型模型动辄需要数小时甚至数天。开发者通常会通过 SSH 连接到远程 GPU 服务器,在容器化的 PyTorch 环境中启动训练脚本。然而,当你第二天早上满怀期待地打开终端&#…

作者头像 李华
网站建设 2026/4/29 17:39:49

SSH MaxSessions限制并发会话保护PyTorch服务器

SSH MaxSessions限制并发会话保护PyTorch服务器 在现代AI开发环境中,GPU服务器的远程访问已成为常态。尤其是基于容器化的 PyTorch-CUDA 环境,往往集成了 Jupyter 和 SSH 两种主流接入方式,极大提升了开发效率。但便利的背后也潜藏着风险&…

作者头像 李华