#1 楼
假设您有两个具有相同MAC地址但不一定具有相同IP地址的NIC。相同的MAC地址将禁用可靠的交换/桥接。在NIC之间?
NIC需要位于不同的L2网段中-至少之间有一个路由器。而且,它们必须位于不同的IP子网中才能启用常规路由。对于路由器来说,在不同子网中看到相同的MAC地址通常不是问题。
之间的交换机数量无关紧要-每个广播都在整个广播域(= L2网段)中传播,因此,每个NIC都会在每个参与的交换机上弄乱另一个的源地址表。当然,两个NIC可能位于不同的VLAN中,因为它们表示不同的网段。
[edit]正如Jörg所指出的那样,上面的“路由器”很可能是使用的L3交换机作为路由器。请注意,L3交换机的交换/桥接功能也无法处理同一网段中的相同MAC。具有相同的MAC是一件坏事。通常,为了避免可能难以诊断的问题,MAC应该是唯一的(至少在站点范围内)。
如果需要(thx Ron!),则需要分开这些NIC。进入各自的广播域/ L2网段/ ESXi端口组,并使用路由器在它们之间启用IP通信。确保您的路由器或L3交换机在其L3接口上使用重复的MAC正常运行。未经事先测试,请勿更换路由器。在VM中运行该路由器可能会有其自身的麻烦。
免责声明:我没有在ESXi环境中运行类似内容的经验-由于vSwitch的工作原理与硬件交换机有所不同-它具有更深的洞察力-可能会出现意外问题(除非您将VM分发到不同的主机)。在任何情况下,重复的MAC都可能需要在端口组上使用“ MAC地址更改”选项。除了使用单独的端口组之外,他们甚至可能还需要运行单独的vSwitch。
评论
从您的最后一句话可能还不清楚100%:虽然交换机不起作用,并且之间必须有一个路由器,但是该路由器当然可以与交换机是同一台设备。该站点上最常见的那种交换机几乎总是具有某些L3功能(从技术上讲,它们不再是交换机,而是一台设备中的交换机和路由器)。
–Jörg W Mittag
20年1月31日,12:29
@JörgWMittag我指的是网络功能,尽量不要使答案过于复杂。按功能,充当路由器角色的L3交换机就是路由器。
– Zac67
20年1月31日,12:32
OP正在参考服务器故障上的此问题。
–罗恩·莫潘♦
20年1月31日16:00
是的,关于服务器故障,我要求在ESXi中提供特定的解决方案,但是对于一般情况的理论答案,我也很好奇,这个论坛似乎更适合该问题。
–拉普兰科汉
20 Jan 31 '21:29
@studog,这是一个神话。 OUI必须是全局唯一的。除此之外,IEEE允许OUI所有者根据需要分配其余的MAC地址。许多拥有OUI的公司将在世界各地重复MAC地址。例如,Wi-Fi要求在不同地区有所不同。您不能在欧洲使用美国的Wi-Fi适配器,反之亦然,因此制造商可以在这些区域之间重复使用MAC地址,从而省去了购买更多OUI的麻烦。
–罗恩·莫潘♦
20-2-1在14:56
#2 楼
扎克给出了一个很好的答案。但是我想按照同样的思路添加一个简化的答案。相同的MAC,而不是在单个第2层/广播域中。
可能有很多设备在售具有相同的MAC地址,但是因为最低要求的分隔处于此非常低的级别,所以不会引起问题。
要记住的另一个考虑因素是,可能有些系统依赖于MAC地址以进行标识/跟踪,因此,我希望永远不会在公司网络的单个区域出现此问题。
#3 楼
零分隔是可能的。TLDR是的,您可以在没有任何限制的普通ehternet中进行此操作。
如果VM之间的通信基于IP协议,则不会有问题。即使协议是普通的L2协议,协议也不仅可以通过MAC地址(例如IP协议)区分通信节点,也没有问题。 2个地址方案(MAC地址),但另外还有IP地址方案。这就是为什么在本地网络中我们会遭受MIM攻击(中间人攻击),然后someboby不仅在嘲笑您的MAC地址,而且还在嘲笑IP地址,并且可以拦截您本地的所有流量。
这种攻击可能是通过对以太网交换机的安全策略进行缓解,例如,在eth-port上应用某种类型的策略,其中每个以太网端口只能有一个唯一的MAC地址。
评论
好的理论-但前提是您之间没有切换。
– Zac67
20-2-1在23:17
有些NIC不会发送具有相同源地址和目标地址的帧,而有些NIC只会回送目标地址与源NIC相同的帧。
–罗恩·莫潘♦
20-2-1在23:42
即使您确实进行了切换,也可以拥有两个具有相同MAC的网卡。只有端口策略才能阻止在不同端口上使用两个相同的MAC。如果您没有,那是什么也不能阻止。 serverfault.com/questions/462178/…
– Alex Ignatov
20-2-3在1:14
“只有端口策略才能阻止不同端口上的两个相同的MAC。”交换机MAC地址表的每个MAC地址只有一个条目。具有两个具有相同MAC地址的主机会引起震荡,而许多交换机都存在问题。
–罗恩·莫潘♦
20-2-3在19:13
评论
欢迎来到网络工程!如果这个问题不是假设的,则可能是XY问题。通常可以更改网卡报告的MAC,或者在绑定设置的情况下,配置上游网络设备以处理该配置。问题源于我在一台ESXi服务器上必须能够运行两个虚拟机,这些虚拟机需要具有相同的MAC地址,并且仍然能够相互通信。 (只有在虚拟机具有特定的MAC地址的情况下,才会对虚拟机上的实际软件进行硬编码,以便加载。)我已经找到了如何在ESXi上解决该问题的答案(使用带有多个NIC的第三台虚拟机作为路由器,并将其他虚拟机连接到该虚拟机) ),但我也对一个假设问题的理论解决方案感兴趣,因此我在这里提出问题。
如果该软件只是在检查VM是否具有特定的MAC,而不是拒绝仅通过与该MAC的接口进行通信,则可以添加第二个虚拟NIC,该虚拟NIC不连接任何东西,然后为其分配魔术MAC。 (尽管我也可以想象该软件可能只看第一个NIC,所以可以将它们反转。)
@LapplandsCohan如果软件具有如此严格的要求,则可能不允许您执行此操作。
我熟悉许多使用MAC地址用于许可目的的软件,但不需要通过特定接口的流量。