Using virtual ethernet adapters in pomiscuous mode on a Linux host
search cancel

Using virtual ethernet adapters in pomiscuous mode on a Linux host

book

Article ID: 315331

calendar_today

Updated On:

Products

VMware VMware Desktop Hypervisor

Issue/Introduction

How do you set your Virtual Ethernet Adapter on your Linux host to run in promiscuous mode?

Environment

  • VMware Workstation 3.x (Linux)
  • VMware Workstation 5.x (Linux)
  • VMware Workstation 10.x (Linux)
  • VMware Workstation Pro 14.x (for Linux)
  • VMware Workstation 8.x (Linux)
  • VMware Server 1.0.x (Linux)
  • VMware Workstation 11.x (for Linux)
  • VMware Workstation 6.x (Linux)
  • VMware Workstation 4.x (Linux)
  • VMware GSX Server 3.x (Linux)
  • VMware Workstation Pro 16.x (Linux)
  • VMware GSX Server 2.x (Linux)
  • VMware Workstation Pro 12.x (Linux)
  • VMware Workstation 9.x (Linux)
  • VMware Workstation 7.x (Linux)
  • VMware Server 2.0.x (Linux)

Resolution

VMware software does not allow the virtual Ethernet adapter to go into promiscuous mode unless the user running the VMware software has permission to make that setting. This follows the standard Linux practice that only root can put a network interface into promiscuous mode.

When you install and configure your VMware software, you run the installation as root, and we create the vmnet0-vmnet3 devices with root ownership and root group ownership. We also give those devices read/write access for the owner root only. For a user to be able to set the virtual machine's network adapter to promiscuous mode, the user who launches the VMware product needs to have read/write access to the vmnetx device (/dev/vmnet0 if using basic bridged mode).

One way to do this is:
  1. Create a new group.
  2. Add the appropriate users to the group.
  3. Give that group read/write access to the appropriate device.
  4. These changes need to be made on the host operating system as root (su).
    For example:
chgrp newgroup /dev/vmnet0
chmod g+rw /dev/vmnet0

where newgroup is the group that should have the ability to set vmnet0 to promiscuous mode.
If you want all users to be able to set the virtual network adapter (/dev/vmnet0 in our example) to promiscuous mode, you can simply run the following command on the host operating system as root:
chmod a+rw /dev/vmnet0
For Linux systems that use udev, you may see the error as device nodes are recreated at boot time:
The virtual machines operating system has attempted to enable promiscuous mode on adapter Ethernet0. This is not allowed for security reasons.
To resolve this error, create the vmnet* devices with the desired ownership and permissions under /udev/devices/, rather than creating it under /dev/, as above. .
 
Note: The location depends on the flavor of Linux.