MACアドレスが変更されると、Down / Upインターフェイスが必要ですか?

MACアドレスが変更されると、Down / Upインターフェイスが必要ですか?

私はカスタムカーネル4.4.21(ライブ環境に関するマイナーな変更)でSuSE 12.2を使用しています。

MACアドレスの変更中にインターフェイスをシャットダウン/アップする必要がありますか?私はこれが本当に必要ではないことを観察しました(アクティブ化されたインターフェイスで変更が成功したため、終了する必要はありません)。

ただし、インターネットのほとんどの例では、インターフェイスを終了してMACアドレスを変更してから再起動することをお勧めします。例:Howtogeek.com。このプロセスはドキュメントに記載されていますか?

ベストアンサー1

インターフェイスのMACアドレスの変更は、ハードウェアとドライバによって異なります。インターフェイスが表示されたら、インターフェイスが実行されている間にインターフェイスのステータスを更新するためにさらに作業を行う必要があります。一部のドライバはまだそれをサポートしていないか、インターフェイスのハードウェアがそのような機能を許可していないためです。

インターフェースでこの機能を区別する現代的な方法はpriv_flagです。IFF_LIVE_ADDR_CHANGEカーネル3.6に表示されます。以前にこれを達成できる他のメカニズムがあったのか、以前にも可能であったのかはわかりません。古いカーネルを実行し、何が動作しているかを確認できます。

これを紹介するパッチは次のとおりです。

2012-06-30net:ifaceが実行時にmacを変更できるように指示する新しいpriv_flagを導入します。

priv_flagを導入しIFF_LIVE_ADDR_CHANGE、それを使用してeth_mac_addr()でnetif_running()チェックを無効にします。

予想されるように、この機能はいくつかの単純な仮想デバイスの背後に追加されました。相互作用:

2012-06-30virtio_net:IFF_LIVE_ADDR_CHANGEpriv_flagを使う
2012-06-30チーム:IFF_LIVE_ADDR_CHANGEpriv_flagを使う
2012-06-30仮想:IFF_LIVE_ADDR_CHANGEpriv_flagの使用

時間の経過とともにこの機能を追加する各ドライバの例は次のとおりです。

2014-06-10gre:デバイス起動時にMACアドレスの変更を許可する
2018-07-03r8169: MAC アドレスの変更を修正

非常に古いものがあります3Com竜巻ネットワークカードはこれを許可しませんが、まだ次のことができます。

# uname -r
4.19.0-0.bpo.6-686-pae
# ethtool -i eth1|grep driver
driver: 3c59x
# lspci|grep 3Com
02:0c.0 Ethernet controller: 3Com Corporation 3c905C-TX/TX-M [Tornado] (rev 78)
# ip link set dev eth1 address 02:00:00:00:00:01
RTNETLINK answers: Device or resource busy
# ip link set dev eth1 down
# ip link set dev eth1 address 02:00:00:00:00:01
# ip link set dev eth1 up
# ip link show dev eth1
2: eth1: <BROADCAST,MULTICAST,ALLMULTI,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 02:00:00:00:00:01 brd ff:ff:ff:ff:ff:ff

したがって、MAC アドレスを変更するためにインターフェイスをシャットダウンするための推奨事項は、ここでも引き続き適用されます。

おすすめ記事