解决网络冲突:更改虚拟机MAC地址

日期: 2014-02-18 作者:Adam Fowler翻译:张冀川 来源:TechTarget中国 英文

介质访问控制地址已经出现一段时间了。最初每个网络接口有一个唯一的、由12字母和数字(0-9,A-F)所组成的MAC地址,格式为XX:XX:XX:XX:XX:XX。每家制造商分配的前六位地址序列各不相同,每个网络设备后六位的组合也是唯一的。 上述系统确保了世界上所有的网络设备都有唯一的MAC地址,这有别于最终用户通常会进行分配或更改的IP地址。

现在,大多数人并不会进一步考虑虚拟机的MAC地址,因为虚拟机的MAC地址是在创建时自动生成的。无论你使用的是哪种虚拟化平台,使用的都是相同的MAC地址生成规则。前六位字符表示制造商(例如VMware或微软)名称,接下来的六位字符是随机生成的。不同的平台都……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

介质访问控制地址已经出现一段时间了。最初每个网络接口有一个唯一的、由12字母和数字(0-9,A-F)所组成的MAC地址,格式为XX:XX:XX:XX:XX:XX。每家制造商分配的前六位地址序列各不相同,每个网络设备后六位的组合也是唯一的。

上述系统确保了世界上所有的网络设备都有唯一的MAC地址,这有别于最终用户通常会进行分配或更改的IP地址。

现在,大多数人并不会进一步考虑虚拟机的MAC地址,因为虚拟机的MAC地址是在创建时自动生成的。无论你使用的是哪种虚拟化平台,使用的都是相同的MAC地址生成规则。前六位字符表示制造商(例如VMware或微软)名称,接下来的六位字符是随机生成的。不同的平台都有各自的产生随机地址的规则,但存在一些情况那就是两台虚拟机的MAC地址完全一样。当上述情况出现时就意味着MAC地址重复了。

MAC地址重复最为常见的原因就是客户端克隆。P2V以及V2V拷贝通常会保留尽可能多的设置,包括MAC地址。这不会有什么问题,除非你想同时保留同一网络中的源以及副本。

那么,重复的MAC地址将会带来什么问题呢?

不必对该问题进行深入的研究,MAC地址位于OSI七层模型的第二层。地址解析协议ARP用于建立IP地址与MAC地址的对应关系,而且在大多数网络设备上你可以看到已缓存的ARP表。

同一网络上的网络设备通过MAC地址进行通信。通信过程是通过在当前子网中广播请求并得到特定设备的回应或者检查每个ARP表的本地ARP缓存来实现的。在网络中进行初始广播后会生成ARP表,使网络通信更为便利。

Windows服务器上,你可以在命令行提示符下输入arp -a命令查看ARP表。

在使用ARP表时,会发送网络流量与IP地址进行匹配而不会进行进一步的检查。当流量在设备之间来回发送却没有到达目标设备时可能会导致网络环路以及网络超时。

在Windows下你可以使用ipconfig /all命令查看正在使用的MAC地址。

Hyper-V或者VMware上更改虚拟机MAC地址很容易。在虚拟机属性对话框中,在硬件选项下的网络适配器子项下可以请清晰地看到当前的MAC地址。你可以将选项更改为手动(VMware)或动态(Hyper-V)并为该虚拟机输入一个不同的MAC地址。


在微软系统中心虚拟机管理器中查看Hyper-V虚拟机属性


调整VMware虚拟机属性

我建议在同一个网络中检查ARP表以确保你分配的新MAC地址还没有用到。

请记住你可能需要清除一直存在问题的设备上(包括交换机和路由器)的ARP缓存。在Windows下,你可以使用arp -d * 命令彻底清空本地缓存。

作者

Adam Fowler
Adam Fowler

数据中心作者

翻译

张冀川
张冀川

TechTarget中国特约专家,任职于某国企信息中心,负责数据中心硬件基础设施及信息系统运维管理工作,对虚拟化及云计算技术有浓厚兴趣,并在工作中积极应用