如果在VirtualBox的高级网络设置中执行此操作,则很有可能使用“正确”方法来更改MAC地址。但是,临时更改(如Zuul的其他回答)可能是最适合您的目的,因为它可以更改MAC而不会引起太多其他问题-但是,重新启动后它将无法生存。
当然,在VirtualBox中对其进行更改将在重启后仍然存在,但是您面临的问题是udev
。这是查看硬件并设置硬件的过程/dev
(或可能需要执行的其他任何操作)。默认情况下,它要做的一件事是尝试维护网络接口卡[nics]的永久名称。这是因为当您有多个nic时,您希望它们始终具有相同的ethX名称,以便您的/etc/network/interfaces
配置在每次引导时都针对正确的nic。操作系统每次都不能仅靠物理上位于同一位置来依赖它们-例如,您可以移动它们,或者某些系统在每次引导时不以相同顺序报告它们的物理连接。
因此,udev
使用基于网卡MAC地址的持久性规则。如果它的eth1条目具有已知的MAC地址,并且显示的卡具有不同的MAC地址,它将为接口分配不同的ethX设备名称。
为了解决这个问题,您只需要更新udev
规则。编辑:
vi /etc/udev/rules.d/70-persistent-net.rules
并查找与您当前的MAC地址对应的行:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="11:22:33:44:55:66", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
如果将此处的MAC地址更改为在VirtualBox设置中选择的新地址,则下次启动时它将保留相同的ethX开发号。
最好的顺序可能是先在此处进行编辑,然后关闭VM,然后编辑VB MAC设置,然后启动。