在/ etc / network / interfaces中永久更改Mac地址

题:

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


阐述:

所以我在网上找到了这篇很棒的文章,解释了如何通过我的Ubuntu上的/etc/network/interfaces文件永久地更改Mac地址。

在文章中,它说:

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

hwaddress ether 02:01:02:03:04:08

来源: 更改您的MAC地址/ Linux -WikiBooks

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

 cat /etc/network/interfaces 

我得到以下输出

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

当我在我的ubuntu上执行ifconfig时,我会回到3个不同的界面:

  • enp3s0

  • wlp2s0

我想更改所有接口的mac地址(enp3s0,wlp2s0)(lo是loopback所以不需要),但我不熟悉/etc/network/interfaces文件中的命令。 我一直在网上看教程,虽然我似乎无法把东西弄好,而且我的电脑甚至在之后开始表现得非常奇怪。

首先,您链接的指南。 这是一个很好的指南。 可悲的是,它也为不同类型的连接带来了一些麻烦。 通常, /etc/network/interfaces除了环回接口外,保留管理连接的网络管理器。


这有几个原因,主要是因为如果你需要编辑配置并手动重新加载,那么通过/etc/network/interfaces配置无线将会很痛苦(有时它会在你重新启动之前加载) 。 你必须将连接数据硬编码为wpa2-supplicant – 无线网络名称,密码(纯文本),有时甚至是wifi频段和频道号,这也是非常痛苦的。 所有这些都很痛苦,因为你必须改变它以切换到不同的网络。

我确实提到使用/etc/network/interfaces会阻止Network Manager处理你的连接。 网络管理器的工作方式是,它取得了/etc/network/interfaces未定义的网络设备设备的“所有权”,并且可以动态更新每个设备的配置,也可以使用过去旧连接的预定义连接配置文件更新配置。 如果您决定使用/etc/network/interfaces路由, 必须调整连接到Internet的方式,并通过以下方式为wifi连接提供一些说明。 还有一个更有用的链接。


以太网并不是那么糟糕。 以太网实际上可以很好地工作,因为您可以简单地为DHCP’d连接设置以太网(动态分配的IP地址,而不是静态配置;注意我在这里使用’eth0’而不是您的实际设备)更容易理解):

 auto eth0 iface eth0 inet dhcp hwaddress ether 01:23:45:67:89:0A 

唯一令人头痛的问题是,如果您有静态IP地址而不是DHCP处理的IP地址。 但它仍然很简单。


然而,在无线上,它并不那么漂亮。 这是一堆乱七八糟的步骤,通常涉及iwlist/etc/network/interfaces配置, wpa2_supplicant高级配置wpa2_supplicant 。 对于标准的住宅级共享密码网络,您最终会在完成后看到类似这样的内容,但这仅适用于您的一个无线网络:

 auto wlan0 iface wlan0 inet dhcp hwaddress ether 00:11:22:33:44:55 wpa-ssid WIFI_NAME wpa-psk HASHED_PASSWORD 

当您需要切换网络或使用带有身份validation后端的企业级连接(称为WPA2-EAP或WPA2 802.1x Enterprise或其他名称)时,它会变得更加复杂,我在此不再详述。

您还会注意到我没有复制有关如何获取哈希密码的步骤。 这是我的坏事,我正忙着上class,但这一切都在下一段链接的wiki中(来自Debian,但它确实有效)。

关于Wifi的Debian Wiki以及如何在命令行上使用它是大部分信息来自这里的无线部分的地方,并且亲自必须手动在两个Raspberry Pi设备上设置它,因为它们是无头的,我可以certificate这是设置无线的最痛苦的方法。


这里有第二个元素: 网络设备MAC地址硬编码到设备中 。 您永远不能“永久”更改设备的MAC地址。 什么/etc/network/interfaces ,MAC Changer和网络管理器(通过’克隆的MAC地址’function)做的是暂时更改所通告的以太网地址,但它们不会更改核心硬件地址。 您可以使其与网络管理器一起使用,但您必须为您使用的每个WiFi网络手动配置它。 MAC Changer,类似的情况,它需要在启动时运行。 /etc/network/interfaces在启动时执行此操作,但您丢失了设备的网络管理器管理。

假设您不使用NetworkManager配置连接,我认为这将起作用:

 # interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback iface enp3s0 hwaddress ether 02:01:02:03:04:08 iface wlp2s0 hwaddress ether 02:01:02:03:04:09