发布时间:2025/12/15 14:55:20作者:佚名
ESXiMacLearningdvFilter1.0是VMware为ESXi虚拟网络打造的早期核心插件,基于dvFilter(分布式虚拟过滤器)框架构建,专为解决虚拟环境中MAC地址管理痛点而生。传统虚拟网络中,虚拟机迁移、新增等操作易导致MAC与虚拟端口映射混乱,引发流量泛洪、CPU资源浪费,还存在MAC欺骗风险。该版本通过实时学习MAC地址与虚拟端口的对应关系,实现流量精准转发,减少资源消耗;同时校验数据包源MAC,防范欺骗攻击,且支持标准与分布式虚拟交换机,尤其适配NestedESXi、多虚拟机密集部署场景,为后续ESXi虚拟网络MAC管理功能奠定了基础。

想要获取ESXi Mac Learning dvFilter 1.0地址管理插件安装方法的用户请【点击下载】https://www.2na.com/virtualization/152.html?code=5035
这是一个ESXi虚拟机监控程序内核级别的网络流量过滤和转发模块。我们可以将其理解为在ESXi虚拟网络架构中的一个“智能监听和决策层”。
dvFilter:全称是DistributedVirtualPortFilter,即“分布式虚拟端口过滤器”。它是VMwarevSphere平台中一个可扩展的网络过滤框架。第三方或VMware自身的网络功能模块(如防火墙、入侵检测、流量监控)可以以dvFilter的形式“插入”到虚拟交换机的数据路径中,对经过的流量进行检查和修改。
MacLearning:特指“MAC地址学习”功能。这是二层以太网交换机最基本、最核心的功能——通过观察数据包的源MAC地址,自动学习并记录哪个MAC地址连接在哪个物理端口上,从而构建MAC地址表,实现高效的单播转发。
ESXiMacLearningdvFilter就是将传统物理交换机的MAC地址学习功能,以dvFilter模块的形式,集成到ESXi的虚拟交换机(vSwitch)中。
它工作于虚拟交换机的上行链路(Uplink)层面。具体来说,它监控所有从虚拟机流向物理网络以及从物理网络返回虚拟机的流量,并据此学习MAC地址与上行链路端口的映射关系。
一句话概括:它是一个让ESXi虚拟交换机像物理交换机一样,能够自动学习和记录虚拟机MAC地址与物理网卡端口对应关系的内核级驱动模块。

它的主要作用是“优化和保证虚拟化环境中二层流量的正确、高效转发”,尤其在特定网络设计下至关重要。其主要用途和解决的问题如下:
这是其最经典、最重要的应用场景。
问题背景:
在ESXi标准虚拟交换机(vSwitchStandard)或分布式虚拟交换机(vSphereDistributedSwitch,vDS)的配置中,可以为端口组或上行链路设置“负载均衡”策略。
其中一种策略是“基于虚拟端口ID的路由”或“基于源MAC哈希的路由”。在这些策略下,一个虚拟机(一个虚拟端口)的流量在某一时刻只会通过一条指定的上行链路(物理网卡)流出,其他上行链路处于备用状态。
然而,从物理网络返回的流量,物理交换机并不知道该通过哪条上行链路发送给目标虚拟机。
dvFilter的解决方案:
MacLearningdvFilter会监听从虚拟机通过某条上行链路发出的数据包,并记录:虚拟机MAC地址<-->该上行链路的映射关系。
当外部物理交换机将发往该虚拟机的数据包广播或泛洪到所有物理端口时,dvFilter会拦截这些包。
它检查目标MAC地址,查询自己维护的MAC地址表,只将数据包从正确的、对应的那条上行链路放行给目标虚拟机,而丢弃从其他错误上行链路进入的相同数据包。
结果:确保了往返流量路径的一致性,避免了网络环路和丢包,实现了在活动/备用上行链路模式下的透明、正确通信。
PrivateVLAN:在配置PrivateVLAN时,需要精确的MAC地址学习来隔离和转发同一网段内的流量。
L2Bridging:在某些需要将虚拟网络与物理网络进行二层桥接的复杂拓扑中,准确的MAC学习是桥接正确工作的基础。
多播/广播流量优化:通过控制上行链路入口,可以减少不必要的多播/广播流量泛洪到所有虚拟机上,优化网络性能。
由于dvFilter维护着一个动态的MAC地址表,高级管理员可以通过相关命令行工具(如esxclinetworkvswitchdvsvmwarevxlan相关命令,但需注意命令因版本而异)来查看其学习到的MAC地址与上行链路的绑定关系,这对于诊断网络连通性问题非常有帮助。
作为VMware在2017年推出的非官方Fling工具,ESXiMacLearningdvFilter1.0是虚拟网络MAC地址管理的早期探索者,专为解决ESXi免费版/基础版用户的核心痛点而生。在vSphere6.7正式引入原生MAC学习功能前,它是唯一让标准虚拟交换机(vSwitch)支持多MAC地址场景的解决方案。
传统ESXi虚拟交换机默认仅允许单MAC地址通过,这对嵌套虚拟化(如VM内运行ESXi)和容器桥接场景构成致命限制——子VM或容器的MAC地址会被直接丢弃。dvFilter1.0通过两步创新打破僵局:
底层拦截:基于dvFilter框架在虚拟网卡(vNIC)与vSwitch间插入流量过滤器,实时捕获所有出站数据包的源MAC;
动态绑定:在vSwitch中构建“MAC-虚拟端口”映射表,允许同一vNIC关联多个MAC地址(默认支持4096个),突破物理端口的MAC限制。
更关键的是,它无需EnterprisePlus许可证,免费版ESXi用户只需启用混杂模式并加载VIB插件,即可让嵌套ESXi的子VM、Linux桥接容器获得完整网络连通性。

在vSphere6.5-6.7时代,dvFilter1.0的实用性体现在三个维度:
场景适配:专为NestedESXi优化,解决子VM因MAC不一致导致的断网问题,实测流量转发效率提升30%(对比纯混杂模式的泛洪损耗);
成本友好:对比需分布式交换机(仅企业版支持)的后续方案“LearnSwitch”,dvFilter1.0兼容标准vSwitch,让中小企业以零成本扩展多MAC场景;
轻量化设计:直接在流量路径中完成学习,无需依赖集中式控制器,单主机支持32KMAC表项(受限于ESXi内核),适合中小规模集群。
受限于早期Fling的定位,dvFilter1.0存在先天不足:
静态表项:MAC地址无老化机制(2018年用户反馈),长期运行可能导致表项膨胀,需手动清理;
迁移断层:vMotion迁移时MAC表无法同步,目标主机需重新学习,短时影响网络稳定性;
兼容性风险:vSphere6.7升级后插件失效(VMware未更新适配),迫使用户转向付费的分布式交换机方案。

尽管dvFilter1.0仅存活于vSphere6.5-6.7的过渡期,但其意义远超工具本身——它首次证明虚拟网络可脱离物理交换机逻辑,通过软件定义的方式实现MAC动态管理。当2019年VMware将MAC学习纳入企业版标准功能时,那些曾依赖这款Fling的嵌套虚拟化玩家,早已用初代dvFilter为虚拟网络的“软件定义”写下了第一行代码。对于追求成本效益的中小企业,它仍是一段不可忽视的技术记忆。
FileName:
VMware-Power-Actions-1.0.3.0-22361595-OVF10.ova-dl.zip
(2.25GB)
ReleaseDate:
Sep05,2023
LastUpdated:
Sep05,2023
SHA2:
ce577d521f6c993f8224a9545131e6ac24b550c95cfdd24d8ffc6d96765cc148
MD5:
无。