虚拟机中同一子网,不同 VLAN

虚拟机中同一子网,不同 VLAN

我有 2 个 VLAN,VLAN 100 和 101,但只有一个子网

我正在尝试使其与虚拟机一起工作,以便虚拟机在同一子网中拥有两个 IP 地址,但实际上位于两个 VLAN 中。

遵循的步骤:

created subinterface eth0.100 and eth0.101
Connected these subinterface to bridges br100 and br101
connected VNIC of VMs to these bridges

由于虚拟机内部只有一个子网,我该如何配置虚拟机以使用两个 VLAN。

思考默认路由表可能会有问题,因为它不了解 VLAN,而且

10.0.0.0 dev eth0

上述规则ip 路由显示可能会出现问题,因为对于 10.0.0.0 中的所有流量,它仅使用 eth0 接口,但 VLAN 101 中的某些主机可能无法通过标记为 100 的 eth0 工作。

如何使 VM VLAN 感知并在同一子网中使用正确的 VLAN?

我没有不同的子网,(如果我有的话我就不会使用 VLAN 而是使用单桥来解决这个问题)

或者

这里需要两座桥吗?

我创建两个网桥的原因是,如果我将 eth0.100 和 eth0.101 添加到同一个网桥,那么虚拟机的 VNIC 如何连接到正确的 VLAN 端口,因为 Linux 网桥不支持标签在桥上我认为它不起作用。

有人可以纠正我吗?

谢谢

答案1

这听起来不合逻辑。如果一个节点试图将数据包发送到与其 IP 地址位于同一子网的 IP 地址,它将从该接口(即 VLAN)发送数据包,而这正是您要尝试的不是去做。

可以使用代理 ARP 并让主机将其转发到另一个 VLAN,但为什么要做那么多额外的工作呢?只需将其放入不同的子网并让路由器(设计用于执行此类转发)执行此操作。路由器甚至可以对转发的内容进行防火墙保护!

答案2

路由不关心 VLAN,它关心 IP 网络/地址。

无论如何:为什么一个 IP 网络分布在 2 个 VLAN 上?到目前为止我还没有看到这种情况,而且对我来说这没有意义。你想实现什么?

相关内容