永久更改 /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位址。

相關內容