设置 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地址图

相关内容