Ubuntu 实现 MAC 地址随机 有三种主流方案,优先用系统原生 NetworkManager(无需额外软件、桌面版通用、WiFi / 以太网都支持),其次 macchanger 工具(灵活、开机全局随机),还有纯命令临时修改。下面全部给你完整可直接复制的步骤,覆盖 WiFi、有线网卡、临时、永久、每次重连随机、开机全局随机。
先查看你的网卡名(所有方法都要用)
ip link show
常见:
- 无线:
wlp2s0、wlan0、wlo1,每台机器不太一样。根据自己情况确认 - 有线:
enp3s0、ens33、eth0
一、方案 1:原生 NetworkManager 配置(最推荐,桌面 Ubuntu 默认)
Ubuntu 20.04/22.04/24.04 全部自带,无需安装软件,支持 WiFi 扫描随机、每次连接全新随机 MAC,系统级稳定。

1. 全局配置(所有 WiFi / 有线连接都随机)
- 新建配置文件
sudo vim /etc/NetworkManager/conf.d/99-random-mac.conf
- 粘贴以下内容(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
- 保存退出:
Ctrl+O→ 回车 →Ctrl+X - 重启网络服务生效
sudo systemctl restart NetworkManager
- 验证断开 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,不受网络连接影响。
- 创建服务文件
sudo nano /etc/systemd/system/macspoof@.service
- 写入以下内容(通用模板,替换网卡即可)
[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
- 保存退出,启用服务(以无线
wlp2s0为例)
# 启用无线网卡开机随机
sudo systemctl enable --now macspoof@wlp2s0
# 有线网卡enp3s0开机随机(需要就加)
sudo systemctl enable --now macspoof@enp3s0
- 重启电脑验证
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
四、常见问题 & 注意事项
- 校园网 / 公司内网绑定 MAC不要开全局
random,改用stable模式(同 WiFi 固定随机 MAC),否则会频繁掉线、认证失败。 - 虚拟机 Ubuntu虚拟机网卡 MAC 由宿主机虚拟,内部随机 MAC 大多无效,请在虚拟机软件(VMware/VirtualBox)里修改。
- 随机 MAC 失效排查
- NetworkManager 方案:删除旧 WiFi 连接重新连接
- 检查配置文件路径、拼写,重启服务
- 部分网卡硬件不支持 MAC 修改(极少)
- 恢复全部默认
# 清除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 命令)