What range of MAC addresses can I safely use for my virtual machines?

Solution 1:

There are actually 4 sets of Locally Administered Address Ranges that can be used on your network without fear of conflict, assuming no one else has assigned these on your network:

x2-xx-xx-xx-xx-xx
x6-xx-xx-xx-xx-xx
xA-xx-xx-xx-xx-xx
xE-xx-xx-xx-xx-xx

Replacing x with any hex value.

Solution 2:

The complete list of assigned mac prefixes can be found here: http://standards.ieee.org/regauth/oui/oui.txt

There are several prefixes marked private on that list, 02 is not one of them. If you use one of those, you should be relatively safe. Keep in mind that other devices, software, etc. may also use that prefix, in which case your chance of a conflict goes up slightly.

If you are using randomly generated suffixes, your odds of collision are pretty astronomical.


Solution 3:

In case you are using VMware products (ESXi / Workstation / vCenter / ...), the valid range of manually assigned MAC addresses is:

00:50:56:00:00:00 - 00:50:56:3F:FF:FF

Solution 4:

For Xen virtual machines you can use anything starting with 00:16:3E, and that's the default which many management tools will generate.


Solution 5:

It seems Virtualbox version 5 uses locally administered addresses beginning with 0A-00-27 ( while in previous versions it was using 08-00-27 ).

By the way when assigning MAC addresses manually just keep in mind that 00-03-FF is used by Virtual-PC VMs like mentioned here: http://blogs.technet.com/b/medv/archive/2011/01/24/how-to-manage-vm-mac-addresses-with-the-globalimagedata-xml-file-in-med-v-v1.aspx and 00-15-5D is used by Hyper-V VMs like mentioned here: http://technet.microsoft.com/en-us/library/jj590655.aspx