更改托管虚拟机的 MAC 地址
search cancel

更改托管虚拟机的 MAC 地址

book

Article ID: 342377

calendar_today

Updated On:

Products

VMware VMware Desktop Hypervisor

Issue/Introduction

Symptoms:

免责声明:本文为 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)


Environment

VMware Player 7.x (Windows)
VMware Workstation 11.x (for Windows)
VMware Player 4.x (Windows)
VMware Player 4.x (Linux)
VMware Player Pro 7.x (Windows)
VMware Workstation 11.x (for Linux)
VMware Player 6.x (Windows)
VMware Workstation 8.x (Linux)
VMware Player 5.x (Linux)
VMware Workstation Pro 12.x (Windows)
VMware Player 3.x (Linux)
VMware Workstation 7.x (Windows)
VMware Player 6.x (Linux)
VMware Workstation 6.x (Windows)
VMware Workstation 9.x (Windows)
VMware Workstation 6.x (Linux)
VMware Player 5.x (Windows)
VMware Workstation 10.x (Linux)
VMware Workstation 7.x (Linux)
VMware Player 3.x (Windows )
VMware Player 7.x (Linux)
VMware Workstation 10.x (Windows)
VMware Player Pro 7.x (Linux)
VMware Workstation 9.x (Linux)
VMware Workstation Pro 12.x (Linux)
VMware Workstation 8.x (Windows)

Resolution

在打开虚拟机时,VMware 应用程序会自动为其分配一个 MAC 地址。此软件可保证在给定的主机系统中为虚拟机分配一个唯一的 MAC 地址。但是,此软件不能保证指定虚拟机每次打开电源时都能为其分配相同的 MAC 地址。此外,VMware 应用程序会尽可能(但不能保证)为在多个主机系统上运行的虚拟机自动分配唯一的 MAC 地址。例如,如果不同物理服务器上的虚拟网络适配器共享同一个子网,并且分配了相同的 MAC 地址,则会出现冲突。

避免更改 MAC 地址

要避免更改自动分配给虚拟机的 MAC 地址,不能移动虚拟机的配置文件。如果将其移动到不同的主机,甚或将其移动到同一主机上的不同位置,都会更改 MAC 地址。

您还需要确保不更改虚拟机配置文件中的特定设置。如果您从未手动编辑过此配置文件,并且没有删除此虚拟以太网适配器,则这些设置将保持不变。如果您手动编辑过此配置文件,请确保不要删除或更改以下选项:

ethernetN.generatedAddress
ethernetN.addressType
ethernetN.generatedAddressOffset
uuid.location
uuid.bios
ethernetN.present

在这些选项中,N 是虚拟以太网适配器的编号。例如,ethernet0

注意:要保留虚拟以太网适配器的 MAC 地址,还必须注意不要删除此适配器。如果删除了此适配器,然后重新创建它,则会为此适配器分配一个新的 MAC 地址。

手动分配一个 MAC 地址

要保证每次为给定的虚拟机分配相同的 MAC 地址(即使虚拟机发生移动),或保证为网络环境中的每个虚拟机分配唯一的 MAC 地址,则可以手动分配此地址,而不要让 VMware Workstation 自动分配此地址。

要手动为任何虚拟机分配相同的唯一 MAC 地址,请使用文本编辑器从此配置文件中删除三行,然后再添加一行。此配置文件的文件名结尾处具有一个 .vmx 扩展名。在 Linux 主机上,使用以前版本的 VMware 产品创建的虚拟机的配置文件的扩展名为 .cfg

  1. 使用文本编辑器打开虚拟机的 .vmx 配置文件。有关编辑虚拟机配置文件 (.vmx) 的详细信息,请参见 Tips for editing a .vmx file (1714)

  2. 从配置文件中删除以下列内容开头的三行:

    ethernetN.generatedAddress
    ethernetN.addressType
    ethernetN.generatedAddressOffset


  3. 按照以下输入方式,向配置文件中添加一个新的静态 MAC 地址行:

    ethernetN.address = "00:50:56:XX:YY:ZZ"
    ethernetN.addressType = “static”

  4. 保存此配置文件。

在此示例中,XX 必须是介于 00h3Fh 之间的有效十六进制数,并且 YYZZ 必须是介于 00hFFh 之间的有效十六进制数。VMware Workstation 和 Fusion 虚拟机不支持任意 MAC 地址,您必须使用此格式。

只要您为 XX:YY:ZZ 选择一个硬编码地址中的唯一值,则自动分配的 MAC 地址与手动分配的地址之间就永远不会出现冲突。

要将 MAC 地址更改为非 vmware 地址(比如 PC 上的软件按原始 MAC 地址发放许可的 P2V 情况),请将这些行添加到 .vmx

ethernetN.addressType = “static”
ethernetN.address = “

其中 N 是要更改的适配器。

有关本文的翻译版本,请参见:



Additional Information

Changing the MAC address of a hosted virtual machine