我想分配我的虚拟机 MAC 地址,以便我可以为它们配置 DHCP 保留,以便它们始终获得相同的 IP 地址,而不管它们在哪个主机管理程序上运行或它们正在运行的操作系统。
我需要知道的是我可以使用什么范围的 MAC 地址,而不必担心有一天某些设备可能会使用该 MAC 连接到我们的网络?
我已阅读有关 MAC 地址的 Wikipedia 文章,这部分似乎表明,如果我创建一个格式为 02-XX-XX-XX-XX-XX 的地址,则它被视为本地管理的地址。
我假设这意味着没有硬件制造商会使用以 02 开头的地址,所以我应该安全地为我的虚拟机使用以 02 开头的任何地址?
谢谢您的帮助。
实际上有 4 组本地管理的地址范围可以在您的网络上使用而不必担心冲突,假设没有其他人在您的网络上分配这些:
用任何十六进制值替换 x。
可在此处找到分配的 mac 前缀的完整列表:
http://standards-oui.ieee.org/oui/oui.txt
该列表中有几个标记为私有的前缀,02 不是其中之一。如果你使用其中之一,你应该是相对安全的。请记住,其他设备、软件等也可能使用该前缀,在这种情况下,您发生冲突的几率会略有上升。
如果您使用的是随机生成的后缀,那么您的碰撞几率将是天文数字。
如果您使用的是VMware 产品(ESXi / Workstation / vCenter / ...),手动分配的 MAC 地址的有效范围是:
对于 Xen 虚拟机,您可以使用从 00:16:3E 开始的任何内容,这是许多管理工具将生成的默认值。
似乎 Virtualbox 版本 5 使用以 0A-00-27 开头的本地管理地址(而在以前的版本中它使用 08-00-27 )。
顺便说一下,手动分配 MAC 地址时请记住,Virtual-PC VM 使用 00-03-FF,如下所述: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 和 00-15-5D 由 Hyper-V VM 使用,如下所述: http ://technet.microsoft.com/en-us/library/jj590655.aspx
我知道这是旧的,但我阅读它的方式是这样的(因为我现在正在为 Hyper-V 2012 和 MSP 环境中这样做......)
十六进制数字的顺序在以太网线上以相反的顺序成对传输。因此,A3:xx:xx:xx:xx:xx 被传输为 1100 0101:xx:xx:xx:xx:xx 3 在 A 之前传输,使得两个最低有效位首先传输两个 1。这是根据http://standards.ieee.org/develop/regauth/tut/macgrp.pdf
因此,看来上述说法是正确的。我也理解上面引用的 wiki 文章,但认为 06 是一个糟糕的例子,而不是比特在网络上传输的方式。
以下是上述链接 PDF 相关部分的屏幕截图:
这将使单播的范围开始如下:x2:、x6:、xA:、xE: 并且对于多播如下:x3、x7、xF。