What MAC address should I use for my virtual server?
I’m creating a new virtual server, and I need a MAC address to assign to it. (My provisioning/build system requires pre-allocated MACs.) Instead of pulling one out of thin air, I thought I’d look up what address range I should be using. It seems surprisingly difficult to find a straight answer on this one, though.
Locally Administered Addresses
It looks like the 802 standard includes provisions for locally administered addresses versus universally administered addresses. If the second bit transmitted on the wire is a 1, then the address is considered locally administered. If the second bit is a 0, then address is globally administered and the first 24-bits must be a globally unique OUI assigned by the IEEE.
Note that this is the second bit on the wire. It would be the second least-significant bit of the most significant byte when represented in hex. That is, 02:xx:xx:xx:xx:xx is local while 04:xx:xx:xx:xx:xx is universal.
Great, so half of the entire MAC address space is available for me to choose from, right? I think so, but I haven’t really seen used with virtual servers.
IEEE Private OUI
The IEEE is the authority responsible for keeping the first 24 bits of the address unique. Vendors apply for an Organizationally Unique Identifier (OUI) which becomes the first 24 bits. The IEEE has assigned AC-DE-48 to “PRIVATE”. This looks to be the MAC address equivalent of RFC1918 private IP addresses (10.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12).
Which should I use?
As best as I can tell, locally administered addresses were intended for the purpose of overriding a burned-in/firmware-provided assigned address. In my case of assigning to a virtual server, I’m trying to emulate an assigned address, not override one. Using the IEEE private OUI seems like a better fit.
Then I still have the option of overriding my privately unique address with a locally assigned address. Because that seems like a good idea. Or something.
Update: Xen Virtuals
It looks like XenSource has registered 00-16-3E with IEEE for use with Xen Virtuals as well. XenSource recommends using this range. ymmv.