設定 MAC 位址失敗 - RTNETLINK 回答:無法指派請求的位址

設定 MAC 位址失敗 - RTNETLINK 回答:無法指派請求的位址

我試圖在 linux mint 15 cinnamon 機器上將 eth0 的 MAC 位址更改為 3d:dd:c8:88:c2:0d。使用「ip link set dev eth0 address」失敗,如下所示,macchanger 會產生類似的錯誤訊息(「無法指派要求的位址」)。如所見,可以設定另一個 MAC,但我需要這個特定的 MAC。

關於如何進行更改或失敗的原因有什麼建議嗎?

~ $ sudo ip link set dev eth0 down
~ $ sudo ip link set dev eth0 address 3D:DD:C8:88:C2:0D
RTNETLINK answers: Cannot assign requested address
~ $ sudo ip link set dev eth0 address 00:00:00:00:00:01
~ $ sudo ip link set dev eth0 up
~ $ ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:00:00:00:00:01  
          inet addr:172.26.24.158  Bcast:172.26.24.255  Mask:255.255.255.0
          inet6 addr: fe80::215:58ff:fecb:b9ba/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:885330 errors:0 dropped:0 overruns:0 frame:0
          TX packets:643599 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:840836259 (840.8 MB)  TX bytes:429278582 (429.2 MB)
          Interrupt:16 Memory:ee000000-ee020000 

答案1

MAC 位址在第一個位元組中有兩個特殊位元:

  • 位 0 是「多播」位,注意該位址是多播或廣播位址
  • 位 1 是「本地」位,表示 MAC 位址不是由供應商分配的,而且可能不完全唯一。

您正在嘗試設定一個設定了多播位的位址,但這不起作用,因為對您的主機的任何回應都將解釋為多播封包。

另外,當您變更 MAC 位址並且沒有為您指派 OUI 時,請設定本機指派位元。

這是一個可能有助於提供更多詳細資訊的圖表:

MAC位址圖

相關內容