/etc/network/interfaces 内の Mac アドレスを永続的に変更する

/etc/network/interfaces 内の Mac アドレスを永続的に変更する

質問:

具体的にMACアドレスを変更するにはどうすればいいでしょうか?エンプ3s0そして翻訳:インターフェースを介して/etc/ネットワーク/インターフェースファイルですか? 中にどのようなコードを含める必要がありますか? しばらく試していますが、残念ながら成功していません。


詳細:

そこで私は、Macアドレスを永久に変更する方法を説明した素晴らしい記事をオンラインで見つけました。/etc/ネットワーク/インターフェース私の Ubuntu 上のファイル。

記事にはこう書かれています。

Debian、Ubuntu、および同様のシステムでは、ネットワーク デバイスの起動時に MAC アドレスが設定されるように、/etc/network/interfaces の適切なセクション (iface スタンザ内、たとえばゲートウェイ行の直後) に次の行を配置します。

hwaddress イーサ 02:01:02:03:04:08

ソース:https://en.wikibooks.org/wiki/MAC アドレスの変更/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

  • 見よ

  • 翻訳:

すべてのインターフェース(enp3s0、wlp2s0)のMACアドレスを変更したいのですが(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/interfacesudev

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 setmacchanger

答え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は2種類のMACアドレスランダム化をサポートしています。スキャン中のランダム化と安定したランダム化です。両方のモードは、/etc/NetworkManager/NetworkManager.conf

Wi-Fi スキャン中のランダム化はバージョン 1.2.0 以降ではデフォルトで有効になっており、次の行を追加することで無効にすることができます/etc/NetworkManager/NetworkManager.conf

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

答え3

MAC アドレスは Wi-Fi デバイスに登録されており、通常は別の MAC アドレスに変更することはできません。
そのため、MAC アドレスを変更すると、必然的に別の Wi-Fi デバイスを使用する必要があります。
コメントで言及されているように、再起動後に同じ MAC アドレスが再び表示される場合
、OS は Wi-Fi デバイスから MAC アドレスを単純に読み取ります。
これは正常な動作です。

ちなみに、仮想環境ではMACアドレスを自由に設定できます。

関連情報