Ubuntu 实现 MAC 地址随机有三种主流方案

Ubuntu 实现 MAC 地址随机 有三种主流方案,优先用系统原生 NetworkManager(无需额外软件、桌面版通用、WiFi / 以太网都支持),其次 macchanger 工具(灵活、开机全局随机),还有纯命令临时修改。下面全部给你完整可直接复制的步骤,覆盖 WiFi、有线网卡、临时、永久、每次重连随机、开机全局随机

先查看你的网卡名(所有方法都要用)

ip link show

常见:

  • 无线:wlp2s0wlan0、wlo1,每台机器不太一样。根据自己情况确认
  • 有线:enp3s0ens33eth0

一、方案 1:原生 NetworkManager 配置(最推荐,桌面 Ubuntu 默认

Ubuntu 20.04/22.04/24.04 全部自带,无需安装软件,支持 WiFi 扫描随机、每次连接全新随机 MAC,系统级稳定。

ubunt随机mac地址

1. 全局配置(所有 WiFi / 有线连接都随机)

  1. 新建配置文件

sudo vim /etc/NetworkManager/conf.d/99-random-mac.conf
  1. 粘贴以下内容(WiFi + 有线全部随机

[device]
# WiFi扫描周围热点时就用随机MAC(防追踪)
wifi.scan-rand-mac-address=yes

[connection]
# 每次连接WiFi,生成全新随机MAC
wifi.cloned-mac-address=random
# 每次连接有线网,生成全新随机MAC
ethernet.cloned-mac-address=random
# 关闭主机名上报,进一步隐私
ipv4.dhcp-send-hostname=false
ipv6.dhcp-send-hostname=false
  1. 保存退出:Ctrl+O → 回车 → Ctrl+X
  2. 重启网络服务生效

sudo systemctl restart NetworkManager
  1. 验证断开 WiFi 重连,或重插网线,执行查看 MAC

ip link show wlp2s0

每次重连 MAC 都会变化。

两种随机模式区别(按需改)

  • random每次连接全新随机 MAC(隐私最强,公共 WiFi、防追踪首选)
  • stable同一个 WiFi 固定一个随机 MAC,不同 WiFi 不同 MAC(IP 稳定、校园网 / 路由器不易被拉黑)

wifi.cloned-mac-address=stable

关闭原生随机 MAC(恢复原厂)

删除配置文件即可

sudo rm /etc/NetworkManager/conf.d/99-random-mac.conf
sudo systemctl restart NetworkManager

二、方案 2:macchanger 工具(开机全局随机,所有网卡通用)

适合每次开机整个网卡 MAC 全局随机、服务器 / 无桌面、自定义随机规则,兼容性最强。

1. 安装工具

sudo apt update
sudo apt install macchanger

安装过程弹出提示 Change MAC automatically?No(我们手动精细配置)。

2. 临时手动随机(立即生效,重启失效)

# 全部随机(含厂商OUI,更像真实网卡)
sudo macchanger -r wlp2s0

# 仅随机后半段,保留原厂厂商前缀(最稳定,路由器不拦截)
sudo macchanger -e wlp2s0

# 恢复原生真实MAC
sudo macchanger -p wlp2s0

# 查看当前MAC与原厂MAC
sudo macchanger -s wlp2s0

3. 永久:开机自动全局随机(systemd 服务)

实现每次开机,网卡自动换新 MAC,不受网络连接影响。

  1. 创建服务文件

sudo nano /etc/systemd/system/macspoof@.service
  1. 写入以下内容(通用模板,替换网卡即可)

[Unit]
Description=Randomize MAC address for interface on boot
Before=network.target
Wants=network.target

[Service]
Type=oneshot
ExecStart=/usr/bin/macchanger -r %I
RemainAfterExit=no

[Install]
WantedBy=multi-user.target
  1. 保存退出,启用服务(以无线wlp2s0为例)

# 启用无线网卡开机随机
sudo systemctl enable --now macspoof@wlp2s0

# 有线网卡enp3s0开机随机(需要就加)
sudo systemctl enable --now macspoof@enp3s0
  1. 重启电脑验证

ip link show wlp2s0

每次开机 MAC 都会改变。


三、方案 3:纯系统命令(无任何工具,临时修改)

仅临时单次修改,重启、重连网络就恢复,应急用,通过openssl 实现随机mac地址生成。

# 关闭网卡
sudo ip link set wlp2s0 down
# 生成随机MAC并设置
sudo ip link set wlp2s0 address $(openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//')
# 开启网卡
sudo ip link set wlp2s0 up

四、常见问题 & 注意事项

  1. 校园网 / 公司内网绑定 MAC不要开全局random,改用stable模式(同 WiFi 固定随机 MAC),否则会频繁掉线、认证失败。
  2. 虚拟机 Ubuntu虚拟机网卡 MAC 由宿主机虚拟,内部随机 MAC 大多无效,请在虚拟机软件(VMware/VirtualBox)里修改。
  3. 随机 MAC 失效排查
  • NetworkManager 方案:删除旧 WiFi 连接重新连接
  • 检查配置文件路径、拼写,重启服务
  • 部分网卡硬件不支持 MAC 修改(极少)
  1. 恢复全部默认

# 清除NetworkManager自定义配置
sudo rm -rf /etc/NetworkManager/conf.d/*.conf
sudo systemctl restart NetworkManager
# 取消macchanger开机服务
sudo systemctl disable macspoof@wlp2s0
# 恢复原生MAC
sudo macchanger -p wlp2s0

方案选择总结

  • 桌面日常用、WiFi 隐私、每次重连换 MAC → 方案 1(NetworkManager 原生) 首选
  • 服务器、开机全局换 MAC、有线网卡、自定义规则 → 方案 2(macchanger+systemd)
  • 临时应急、不想装软件、不想改配置 → 方案 3(原生 ip 命令)

将本页面加入收藏夹

      如果觉得本文对您有用。建议按下 Ctrl+D (Windows) 或 Cmd+D (Mac) 收藏本页,以便在下次需要时快速查阅解决方案。

发表评论

粤ICP备10052831号 | © 2026 58Linux 技术笔记. All Rights Reserved. | 联系我们 | 关于本站
本站内容开放共享,仅供学习交流 | 专注 Ubuntu & Linux 实战教程
Built with GeneratePress