VMware
VMware ESX Server 2.1
Features | Documentation | Knowledge Base | Discussion Forums

previous Prev   Contents   Last   Next next

Enabling a Virtual Adapter to Use Promiscuous Mode

Enabling a Virtual Adapter to Use Promiscuous Mode

For security reasons, guest operating systems are not normally allowed to set their virtual Ethernet adapters to use promiscuous mode. In some circumstances, you may need to use the virtual Ethernet adapters in promiscuous mode. To enable this use, you must set the PromiscuousAllowed configuration variable to yes. To do so, follow these steps.

  1. Check the Edit Configuration page of the VMware Management Interface to determine what network the virtual Ethernet adapter is using. For this example, assume that the Networking section of the page shows the adapter is using vmnic0.
  2. Log in to the server's service console and enter the following command:

    echo "PromiscuousAllowed yes" > /proc/vmware/net/vmnic0/ config

    This allows the guest operating systems in all virtual machines using vmnic0 to enable promiscuous mode. If the adapter is using a different network, such as vmnet_0, make the appropriate substitution in the command.

  3. Take the appropriate steps in the guest operating system to enable promiscuous mode on the virtual network adapter.

You may want to allow only some adapters on a particular network to use promiscuous mode. In that case, you can selectively disable promiscuous mode based on the MAC address of the virtual machine's Ethernet adapter. Perform the following:

  1. Connect to the virtual machine with the remote console and use the appropriate guest operating system tools to determine the MAC address of the virtual Ethernet adapter.
  2. Log in to the service console and enter the following command:

    echo "PromiscuousAllowed no" > /proc/vmware/net/vmnic0/ <MACAddress>

    In place of <MACAddress>, substitute the virtual Ethernet adapter's MAC address in the standard format 00:05:69:XX:YY:ZZ. If the adapter is using a different network, such as vmnet_0, make the appropriate substitution in the command.

previous Prev   Contents   Last   Next next