gpt4 book ai didi

linux - 关于软件桥连接问题的债券

转载 作者:太空狗 更新时间:2023-10-29 12:06:12 25 4
gpt4 key购买 nike

你有什么:

  1. bond (bond0) 接口(interface)(除 4 外的所有模式),至少有 2 个 ifaces(比如 eth0/eth1)连接在同一个外部交换机上
  2. bond0 接口(interface)加入软件桥 (br0)
  3. 虚拟机 (vm0)(例如 LibVirt::LXC),接口(interface)在 br0 上

你得到什么:

  1. vm0 无法通过 br0 上的 bond0 连接到(大多数)IP 地址
  2. 系统日志中的“bond0:接收到以自己的地址作为源地址的数据包”

为什么会这样:

当 vm0 想要联系外部 IP 地址时,它会发出 ARP 请求。这个带有 vm0 源 mac 的 L2 广播将通过(取决于绑定(bind)模式)例如 eth0 离开,但通过外部交换机,通过 eth1 重新进入,从而重新进入 bond0。因此,交换机 br0 将在连接到 bond0 的端口上学习 vm0 的 mac 地址。因此,vm0 永远不会收到 ARP 回复。

你能做些什么来解决:

我在共享信息旁边发布此消息的原因是我无法找到足够好的解决方案。我找到的是:

  1. 在 vm0 上设置静态 ARP 条目
  2. 使用 bond0 mode=4 但你的外部交换机必须支持这个
  3. 将您的外部 siwtch 配置为在 eth0/eth1 上使用私有(private) VLAN,但仅适用于某些用例并增加了复杂性
  4. 将两个物理接口(interface)添加到启用生成树的网桥,而不是使用绑定(bind)驱动程序
  5. 在 br0 的正确端口上静态配置 vm0 的 MAC 在 Linux 上不是一个选项(尽管在 OpenBSD 上工作)

我真的希望这里有一个更优雅的解决方案......有人吗?

谢谢

最佳答案

我遇到了同样的问题,我得出了同样的分析。我发现的唯一非侵入性/可扩展解决方案是使用事件/备份绑定(bind)(模式 1)。代价是您失去了聚合。

IMO,最好的解决方案是使用 802.3ad,但我不能总是使用它,因为我的大多数交换机上都限制为 6 个端口 channel 。

关于linux - 关于软件桥连接问题的债券,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11206910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com