我试图在 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 时,请设置本地分配位。
下面的图表可能有助于提供更多详细信息: