質問: * 例えば**eth0**のMAC addressを変更する方法の1つとして ``` $ ifconfig eth0 down $ ifconfig eth0 hw ether 08:00:00:00:00:01 $ ifconfig eth0 up ``` ### 質問1 このようにできますがこれはターミナルの**再起動**、もしくはパソコン自体を**再起動**することで戻るのでしょうか? * こちらでは**一時的**とありますが戻るタイミングについて書かれていません。 ### 質問2 MACアドレスが例えば自分の携帯(iphone)とかぶった際はどういった問題が考えられるのでしょうか? ### 質問3 VirtualBoxで別のOSを触っている状態でそこで例えば**wlan0**のMAC addressを変えるとホストには影響はないのでしょうか?
回答: 物理ネットワークカードにおいては MAC アドレスのデフォルト値はネットワークカード上の EEPROM に書き込まれています。 A1. デバイスドライバは EEPROM から RAM 上に MAC アドレスを持ってきて、その RAM 上の値を使って通信を行っています。 `ifconfig` がネットワークカードの EEPROM を書き換えちゃうなら、電源再投入後も書き換えたアドレスが採用されるでしょう。単に RAM 上の値を書き換えるだけなら、電源再投入で元のアドレスに戻るでしょう。なので `ifconfig` の実装次第。まあ普通は後者。物理ネットワークカードベンダが提供している MAC アドレス変更ツールであれば前者でしょう。 A2. 同一 MAC アドレスが同一 HUB に接続されたら誤動作します。無線でも同様。通信できなくなると考えて OK 。なのでその辺は完全に自己責任です。 A3. 仮想 OS 上の仮想ネットワークカードの MAC アドレスを書き換えても、物理ホスト上の物理ネットワークカードの MAC アドレスは変わらないです。仮想 HUB (この場合、物理ホスト上で動作しているネットワークブリッジドライバ) の MAC アドレスとたまたま同じ値を設定してしまうと A2 と同様、通信不能に陥ります。自己責任以下同文。