前段时间我安装了macchanger
一些 wifi 东西。不久之后,我再次卸载了它(并给予“清除” apt
),以及我之前安装的所有其他内容。现在我的 wifi 设备 MAC 地址在每次重新启动时仍然不断变化,这是我不希望的。
我已经寻找了一些包含有关 mac 地址的任何配置sudo grep -EHirn "[^a-zA-Z_]mac[^b-zB-Z_]" /etc/*
,但到目前为止没有有用的结果。
如何找出哪个程序导致了该更改以及如何阻止该更改?
编辑: NetworkManager 似乎不负责(我只是通过 wifi 连接输入此内容,其连接是由 wicd 设置的):
$ nmcli c
NAME UUID TYPE DEVICE
Wired connection 1 da9f42c3-c083-38b6-8b1d-b8358e707b7a ethernet --
编辑2:这个机器正在运行 Devuan 4,如果这对任何人都很重要的话。
答案1
现代版本的 NetworkManager 可以随机化 WiFi 连接上的 MAC 地址,无需任何额外的实用程序。
该参数名为802-11-wireless.mac-address-randomization
,您可以使用以下命令检查它:
nmcli c show <connection name> | grep 802-11-wireless.mac-address-randomization
您应该将 替换<connection name>
为您的 WiFi 连接配置的实际名称。 (如果不确定名称,请键入nmcli c
以查看连接定义列表。)
该nmcli
命令可以(并且应该)与您的常规用户帐户一起使用,不是作为根。
该值可以是“默认”(0),以遵守 NetworkManager 对 WiFi MAC 随机化的全局默认设置,“从不”(1),以使用接口的正常地址,或“始终”(2),以明确要求此 WiFi 的 MAC 地址随机化联系。
您可以使用以下命令禁用特定连接的随机化:
nmcli c mod <connection name> 802-11-wireless.mac-address-randomization never
或者通过更改全局默认值,通过编辑/etc/NetworkManager/NetworkManager.conf
(这需要 root 访问权限)来添加:
[connection]
802-11-wireless.mac-address-randomization=never
NetworkManager 的上游“出厂默认设置”是不会随机化 WiFi MAC 地址,除非要求这样做(以避免从没有此功能的旧版本 NetworkManager 升级时出现意外),但某些发行版已经更改了默认设置,以便默认保护用户隐私。
还有一个单独的设置,用于在无线网络扫描期间随机化 MAC 地址。如有必要,可以通过将其添加到以下内容来禁用它/etc/NetworkManager/NetworkManager.conf
:
[device]
wifi.scan-rand-mac-address=no
macchanger
似乎并没有以任何方式自行保留其设置。您确定没有添加任何其他 MAC 随机化脚本或工具吗?检查目录/etc/wicd/scripts/*
和/etc/network/if-*.d/
可能的附加脚本,也许/etc/rc.local
它存在。