免责声明:本文为 Changing the MAC address of a hosted virtual machine (507)的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本。
本文提供更改托管虚拟机的 MAC 地址的步骤。
对于 ESX/ESXi 虚拟机,请参见 Setting a static MAC address for a virtual NIC (219)。
对于 Fusion 虚拟机,请参见 Setting a MAC address for a virtual machine in VMware Fusion (1003479)。
在打开虚拟机时,VMware 应用程序会自动为其分配一个 MAC 地址。此软件可保证在给定的主机系统中为虚拟机分配一个唯一的 MAC 地址。但是,此软件不能保证指定虚拟机每次打开电源时都能为其分配相同的 MAC 地址。此外,VMware 应用程序会尽可能(但不能保证)为在多个主机系统上运行的虚拟机自动分配唯一的 MAC 地址。例如,如果不同物理服务器上的虚拟网络适配器共享同一个子网,并且分配了相同的 MAC 地址,则会出现冲突。
要避免更改自动分配给虚拟机的 MAC 地址,不能移动虚拟机的配置文件。如果将其移动到不同的主机,甚或将其移动到同一主机上的不同位置,都会更改 MAC 地址。
您还需要确保不更改虚拟机配置文件中的特定设置。如果您从未手动编辑过此配置文件,并且没有删除此虚拟以太网适配器,则这些设置将保持不变。如果您手动编辑过此配置文件,请确保不要删除或更改以下选项:
ethernetN.generatedAddress
ethernetN.addressType
ethernetN.generatedAddressOffset
uuid.location
uuid.bios
ethernetN.present
在这些选项中,N
是虚拟以太网适配器的编号。例如,ethernet0
。
注意:要保留虚拟以太网适配器的 MAC 地址,还必须注意不要删除此适配器。如果删除了此适配器,然后重新创建它,则会为此适配器分配一个新的 MAC 地址。
要保证每次为给定的虚拟机分配相同的 MAC 地址(即使虚拟机发生移动),或保证为网络环境中的每个虚拟机分配唯一的 MAC 地址,则可以手动分配此地址,而不要让 VMware Workstation 自动分配此地址。
要手动为任何虚拟机分配相同的唯一 MAC 地址,请使用文本编辑器从此配置文件中删除三行,然后再添加一行。此配置文件的文件名结尾处具有一个 .vmx
扩展名。在 Linux 主机上,使用以前版本的 VMware 产品创建的虚拟机的配置文件的扩展名为 .cfg
。
.vmx
配置文件。有关编辑虚拟机配置文件 (.vmx
) 的详细信息,请参见 Tips for editing a .vmx file (1714)。ethernetN.generatedAddress
ethernetN.addressType
ethernetN.generatedAddressOffset
ethernetN.address = "00:50:56:XX:YY:ZZ"
ethernetN.addressType = “static”
在此示例中,XX
必须是介于 00h
和 3Fh
之间的有效十六进制数,并且 YY
和 ZZ
必须是介于 00h
和 FFh
之间的有效十六进制数。VMware Workstation 和 Fusion 虚拟机不支持任意 MAC 地址,您必须使用此格式。
只要您为 XX:YY:ZZ
选择一个硬编码地址中的唯一值,则自动分配的 MAC 地址与手动分配的地址之间就永远不会出现冲突。
要将 MAC 地址更改为非 vmware 地址(比如 PC 上的软件按原始 MAC 地址发放许可的 P2V 情况),请将这些行添加到 .vmx
:
ethernetN.addressType = “static”
ethernetN.address = “
”
N
是要更改的适配器。