永久更改 /etc/network/interfaces 内的 Mac 地址

永久更改 /etc/network/interfaces 内的 Mac 地址

问题:

我怎样才能专门更改Mac地址恩普3s0wlp2s0接口通过/etc/网络/接口文件?我必须在里面包含什么代码?我已经尝试了一段时间了,但遗憾的是没有成功。


阐述:

所以我在网上发现了这篇很棒的文章,解释了如何通过/etc/网络/接口我的 Ubuntu 上的文件。

文章中说:

在 Debian、Ubuntu 和类似系统上,将以下内容放置在 /etc/network/interfaces 的相应部分中(在 iface 节内,例如,紧接网关行之后),以便在网络设备启动时设置 MAC 地址:

hwaddress 以太 02:01:02:03:04:08

来源:https://en.wikibooks.org/wiki/Changing_Your_MAC_Address/Linux

现在当我使用以下代码时:

cat /etc/network/interfaces

我得到以下输出

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

当我在 ubuntu 上执行 ifconfig 时,我得到 3 个不同的接口:

  • 恩普3s0

  • wlp2s0

我想更改所有接口的 MAC 地址(enp3s0、wlp2s0)(lo 是环回,所以不需要),但我不熟悉/etc/网络/接口文件。我一直在网上看教程,但我似乎无法把东西弄对,之后我的电脑甚至开始表现得非常奇怪。

答案1

使用hwaddress ether接口配置块内部。例子:

auto enp3s0
iface enp3s0 inet static
    address 192.0.2.7
    netmask 255.255.255.0
    gateway 192.0.2.254
    hwaddress ether 00:11:22:33:44:55

或者,如果是 dhcp:

allow-hotplug enp3s0
iface enp3s0 inet dhcp
    hwaddress ether 00:11:22:33:44:55

我错过了一个细节:hwaddress如果您要设置静态 IP 地址,则配置项需要位于网关节之后。

相关内容: /etc/network/interfaces 语法的详细解释?

但是,如果你在更换 mac 时遇到问题,network/interfaces你可以通过udev

udev 方法 -etc/udev/rules.d/75-mac-spoof.rules创建包含以下内容的文件:

ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="XX:XX:XX:XX:XX:XX", RUN+="/usr/bin/ip link set dev %k address YY:YY:YY:YY:YY:YY"

您还可以使用 systemd 单元来完成此操作,如下所述:使用 systemd 单位更改 mac。但归根结底,它们也只是执行ip link set和 的包装器macchanger

答案2

要永久更改您的 MAC 地址,请将以下行附加到您的/etc/network/interfaces

pre-up ifconfig <interface> hw ether xx:xx:xx:yy:yy:yy

NetworkManager 将在 Wi-Fi 扫描期间重置您的 MAC 地址。要禁用此功能,您可以/etc/NetworkManager/NetworkManager.conf按如下方式编辑:

[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=false

[device]
wifi.scan-rand-mac-address=no

[keyfile]

然后重新启动。

有一些关于 Wi-Fi 扫描期间 MAC 地址随机化的有用信息建筑维基百科

配置 MAC 地址随机化

从版本 1.4.0 开始,NetworkManager 支持两种类型的 MAC 地址随机化:扫描过程中的随机化和稳定随机化。两种模式都可以通过修改来配置/etc/NetworkManager/NetworkManager.conf

从版本 1.2.0 开始,Wi-Fi 扫描过程中的随机化默认启用,可以通过添加以下行来禁用它/etc/NetworkManager/NetworkManager.conf

[device] wifi.scan-rand-mac-address=no

答案3

MAC 地址已在其 wifi 设备中注册,通常无法更改为其他 MAC 地址。
所以如果你改变了MAC地址,那么你不可避免地必须使用另一个wifi设备。
正如您在评论中提到的,
重新启动后重新出现相同的 MAC 地址,操作系统只是从 wifi 设备中读取 MAC 地址。
这是正常行为。

顺便说一句,在虚拟环境中,您可以自由设置MAC地址。

相关内容