私はカスタムカーネル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_CHANGE
priv_flagを使う
2012-06-30チーム:IFF_LIVE_ADDR_CHANGE
priv_flagを使う
2012-06-30仮想:IFF_LIVE_ADDR_CHANGE
priv_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 アドレスを変更するためにインターフェイスをシャットダウンするための推奨事項は、ここでも引き続き適用されます。
答え2
まず、問題を解決するには、次の手順を実行する必要があります。表示された新しい設定が適用されていることを確認してください。。ifconfig
いくつかのコマンドが何を言うかを信じないでテストしてみてください。たとえば、tcpdump
ネットワークインターフェイスから着信トラフィックを使用またはスニッフィングする場合ですWireshark
。
より大きな質問は、MACアドレスを変更する理由です。
心配になれば隠れ、これは完全に合理的な理由です。ところで、それを変えなければなりません。今後ネットワークサービスが開始されます。自動化を達成する方法はいくつかあります。
考えてみると、コンピュータがすでにネットワークにDHCP要求を送信している可能性があります(イーサネットケーブルが接続されている場合など)。実際のMACアドレスを公開してください。したがって、後でMACアドレスを変更しても、以前の(実際の)アドレスが漏洩した可能性がある(どこかに記録されている可能性がある)という事実は変わりません。
ネットワーク管理者には、すでにMACアドレスをランダムに割り当てるオプションがあります。あるいは、通常の/etc/network/interfaces
ファイルを使用することもできます。ディレクティブはpre-up
これを処理します。
例を見るこの投稿詳細については。
プライバシーが目標であれば、ifdown
MACアドレスを手動で変更することはおそらく良い考えではありません。ifup
最後に、一般的なDHCP要求にはMACアドレスだけでなく、ホスト名とさまざまな識別子が含まれており、その一部は定数または一意であることを覚えておくことが重要です。したがって、単にMACアドレスを変更するだけでは、匿名性を確保するのに十分ではないかもしれません。