![Linux 桥接器的 MAC 地址超时](https://linux22.com/image/754979/Linux%20%E6%A1%A5%E6%8E%A5%E5%99%A8%E7%9A%84%20MAC%20%E5%9C%B0%E5%9D%80%E8%B6%85%E6%97%B6.png)
我们偶然发现了一个奇怪的行为(好吧,一切都按照规范工作,但它应该是以某种方式可调整的和/或我想知道如何正确设置它)在 Linux 桥中或者在虚拟机映像中。
问题:网关的 MAC 地址超出了网桥的 MAC 地址表(在 Linux 虚拟机管理程序上,但可能是任何其他框),因为观察到网关虚拟 MAC 的帧数很少(因为来自不同子网的数据包来自网关的硬件 MAC 地址)。观察虚拟 MAC 地址的唯一方法是 ARP(来自 GW 的请求或响应)。来自 Linux 虚拟机的 ARP 是刷新 MAC 条目的唯一方法,但使用时从不发出 ARP(来自 Linux 机器)。网关设置为仅请求“现有”IP 的 ARP - 降低了看到的数据包数量(并且发生在 75% 超时值的请求是单播的而不是广播的)。导致网桥淹没所有接口,从而增加虚拟机上的 Rx 数据包。在虚拟机数量较多的虚拟机管理程序上,问题发生的频率较低,而在虚拟机管理程序数量较少的虚拟机管理程序上,问题较少。
我想知道是否有任何系统的方法可以避免将来再次发生这种情况。例如,调整 MAC 地址超时(我不认为这是一个好主意)。或者定期强制虚拟机发出单播 ARP 请求?