Linux 中来自不同 VLAN 的接口与绑定接口

Linux 中来自不同 VLAN 的接口与绑定接口

如果我有两个位于不同 VLAN(100 和 200)上的接口(eth0eth1),是否可以将它们绑定在一起,bond0以便每个 VLAN 的流量都能正确路由?

假设子网10.1.1.0/24位于 VLAN 100,子网10.1.2.0/24位于 VLAN 200,网关分别为10.1.1.110.1.2.1,

  • 服务器 1:有eth0(VLAN100)和eth1(VLAN200)。eth0有IP 10.1.1.2,并且eth1有IP 10.1.2.2。
  • 服务器 2:有eth0(VLAN100)和eth1(VLAN200)。eth0有IP 10.1.1.3,并且eth1没有IP。

是否可以将服务器 1 上的eth0eth1绑定在一起bond0,使得10.1.1.0/24子网的流量将流过eth0,并且的10.1.2.0/24流量将流过eth1

eth0是否可以eth1将服务器 2 绑定到bond0子网中,以便它可以访问10.1.2.0/24子网中的 IP,即使它在该子网/VLAN 中没有 IP?

答案1

服务器 1 上的 eth0 和 eth1 是否可以绑定到 bond0,以便 10.1.1.0/24 子网的流量将流经 eth0,而 10.1.2.0/24 的流量将流经 eth1?

不,重点绑定的目的是使两个端口充当单个统一的连接(通常是为了增加可用带宽)。如果您的接口必须位于不同的 VLAN 和不同的 IP 子网上,那么绑定就是完全错误的工具。

为了保持接口分离,你只需将它们分开,就这样。


服务器 2 中的 eth0 和 eth1 是否可以绑定到 bond0,以便它可以访问 10.1.2.0/24 子网中的 IP,即使它在该子网/VLAN 中没有 IP?

正如上面提到的,这不是“粘合”所做的。

服务器配置为访问 10.1.2.0/24 子网,但如果它未直接连接到该子网,则它使用路由器这样做。你所要求的只是常规 IP 路由网之间。

如果两个子网共享同一个网关,那么所有必要的路由应该已经存在。只需确保路由器的防火墙未配置为阻止此类连接即可。

如果每个子网使用不同的设备作为网关,则在每个网关上添加指向相反子网的静态路由。

最后,没有 IP 地址的 VLAN 成员资格毫无用处。(与物理网络相同。)如果您希望服务器直接连接到多个网络,则每个接口都需要一个 IP 地址。如果您希望服务器只有一个 IP 地址,则根本不要创建额外的 VLAN 接口。

相关内容