Linux VM で MAC アドレスを変更する適切な方法は何ですか?

Linux VM で MAC アドレスを変更する適切な方法は何ですか?

Ubuntu VM (virtualbox) で MAC アドレスを変更しようとしましたが、その後起動中に多くのエラーが発生し、インターネットに接続できなくなりました。

その後、インターフェースの名前が eth1 に変更されたことがわかったので、/etc/network/interfaces を編集して eth0 を eth1 に変更し、再起動しました (ネットワークを再起動する方法がわかりませんでした)。すると、起動が速くなり、インターネットも正常に機能するようになりました。

しかし、今ではログインするたびに、何も言わないエラー メッセージが 1 つまたは 2 つ表示され、報告するかどうかを尋ねられるだけです。

そこで、これらの問題を回避するために MAC アドレスを変更する適切な方法はあるのだろうかと考えました。

答え1

VirtualBox の高度なネットワーク設定で MAC アドレスを変更する場合、おそらく「正しい」方法を使用して MAC アドレスを変更していることになります。ただし、Zuul の他の回答にあるような一時的な変更は、追加の問題をあまり引き起こさずに MAC を変更するため、目的には最適です。ただし、再起動すると無効になります。

VirtualBox で変更すると、もちろん再起動してもそのまま残りますが、直面している問題は にありますudev。これは、ハードウェアを調べて、そのハードウェアを に設定するプロセスです/dev(または他に必要なことがあれば何でも)。デフォルトで行われることの 1 つは、ネットワーク インターフェイス カード [nic] の永続的な名前を維持しようとすることです。これは、複数の nic がある場合、構成が/etc/network/interfaces起動ごとに正しい nic をターゲットにするように、常に同じ ethX 名を持つようにするためです。OS は、それらが毎回物理的に同じ場所にあることを前提とすることはできません。たとえば、それらを移動したり、一部のシステムでは起動ごとに同じ順序で物理接続を報告しなかったりする場合があります。

そのため、udevネットワーク カードの MAC アドレスに基づいた永続ルールを使用します。既知の MAC アドレスを持つ eth1 のエントリがあり、異なる MAC アドレスを持つカードが表示された場合、インターフェイスに異なる ethX デバイス名が割り当てられます。

これに対抗するには、ルールを更新するだけですudev。編集:

vi /etc/udev/rules.d/70-persistent-net.rules

現在の MAC の行を探します:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="11:22:33:44:55:66", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

ここで MAC アドレスを VirtualBox 設定で選択した新しいものに変更すると、次回の起動時に同じ ethX dev 番号が保持されます。

おそらく、最初にここで編集し、次に VM をシャットダウンし、次に VB MAC 設定を編集し、最後に起動するのが最善の順序でしょう。

答え2

MACアドレスは4つの簡単な手順で変更できます。ifconfig:

ターミナルを開きます(キーボードショートカット:ctrl+ alt+ t

  1. 現在の MAC アドレスを見つけます:

    ifconfig | grep HWaddr
    
  2. インターフェースをシャットダウンしますeth0次の手順のためと想定します)

    ifconfig eth0 down
    
  3. 新しい MAC アドレスを設定します。

    ifconfig eth0 hw ether 00:1E:68:35:FF:91
    
  4. フラグにより​​インターフェースがアクティブ化されます:

    ifconfig eth0 up
    

これで、インターフェースの MAC アドレスを再確認できます。

ifconfig eth0 |grep HWaddr

注記:MAC アドレスとして任意の 48 ビットの 16 進アドレスを選択できます。


完全性を期すために、手順 2 と 3 を 1 行にまとめることができます。

ifconfig eth0 down hw ether 00:00:00:00:00:01

関連情報