为什么 Linux 需要将 IP 从 eth 接口移至桥接接口

为什么 Linux 需要将 IP 从 eth 接口移至桥接接口

当网络接口(例如 eth0)添加到 Linux 网桥(例如 br0)时,必须从 eth0 中删除 IP 地址并将其添加到 br0 中,网络才能正常运行。

我记得读过一些 Open vSwitch 自述文件(我现在找不到),由于 Linux 内核的实现方式,需要移动 IP 地址。 Linux 的实现需要将 IP 地址从 NIC 移至网桥,这是怎么回事?

答案1

NIC 代表上行链路电缆。电缆是第 1 层,而不是第 3 层。

现在,网桥充当服务器上网络流量(传入)的寻址设备 - 无论是在第 2 层(以太网/MAC)还是在第 3 层(IP)。

因此,响应 ARP 请求的设备是网桥 - 这很好,因为它需要将流量分发到该网桥上的其他接口。

如果响应设备是 NIC,流量将不会进一步传递到网桥。

因此,在某些指南中甚至建议从(上行链路)NIC 中删除 MAC。

答案2

当网桥中有多个接口时,网桥会将流量分配到需要前往的地方。或多或少,网桥中的各个接口现在根据网桥确定的内容在第 2 层上工作,而不是独立地在第 3 层上工作。因此,您希望将网桥作为一个整体来处理,而不是其中的各个接口。

相关内容