自定义虚拟机MAC地址 | 它与 VMware 预留的 MAC 冲突 解法
https://blog.csdn.net/wangrui1573/article/details/82056020
问题:我想给VMware ESXi上的一台虚拟机分配一个静态的MAC地址。然而当我开始这么做的时候,虚拟机就不能启动了,并且抛出了一个这样一个错误"00:0c:29:1f:4a:ab is not an allowed static Ethernet address. It conflicts with VMware reserved MACs"(00:0c:29:1f:4a:ab不是一个合法的静态以太网地址。它与VMWare的保留MAC地址冲突)。我该如何在VMware ESXi虚拟机上设置静态MAC地址?
当你在VMware ESXi上创建虚拟机时,虚拟机的每个网络接口就被分配了一个动态的NAC地址。如果你想要改变默认的行为并给你的虚拟机分配一个静态MAC地址时就这样做
如你上图所见,VMWare的vSphere的GUI客户端已经有一个为虚拟机分配静态MAC地址的菜单。然而,基于GUI的方法只允许你在00:50:56:xx:xx:xx的范围里选择一个静态MAC地址,这是VMWare保留的MAC地址范围。如果你尝试设置任何超出这个范围的MAC地址,你就会无法启动VM,接着就会看到下面的错误。
那么如果我想要给虚拟机设置任意的MAC地址怎么办?
幸运地,这里有一个对于这个限制的临时方案。方法就是,不使用vSphere GUI客户端编辑。在登录ESXi主机后直接编辑你虚拟机的.vmx文件。
首先关闭你想要分配静态MAC地址的虚拟机。
对你的ESXi主机启用SSH访问,如果你还没这么做的话。接着通过SSH登录ESXi主机。
移到你虚拟机的.vmx文件所在目录。
- # cd vmfs/volumes/datastore1/[name-of-vm]
用文本编辑器打开.vmx文件,接着在加入下面这几行。把MAC地址替换成你自己的MAC地址。
- ethernet0.addressType = "static"
- ethernet0.checkMACAddress = "false" (可以大写FALSE)
- ethernet0.address = "00:0c:29:1f:4b:ac"
现在你应该可以使用你定义在.vmx文件中的静态MAC地址启动虚拟机了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?