我可以将 MACVTAP 接口从属于网桥吗?

我可以将 MACVTAP 接口从属于网桥吗?

初步证据表明:

$ sudo ip link add br0 type bridge
$ sudo ip link add macvtap0 link eth0 type macvtap
$ sudo ip link set macvtap0 master br0
RNETLINK answers: Device or resource busy

有没有解决的办法?

答案1

Macvtap 接口直接将下层设备(在本例中为 eth0)与“tap”消费者(qemu)连接起来——并且由于它们将所有数据包横向重定向到“tap”消费者,所以没有任何内容被“向上”转发到桥接器可以看到它们的主机操作系统网络堆栈(这需要三向分割),这意味着它们既不能有 L3 IP 地址,也不能有 L2 主设备。

但 macvtap 接口这样工作的原因是避免需要使用桥梁。所以如果你无论如何都想使用桥梁,那么你应该能够使用常规tap界面而不是 macvtap。

答案2

您可以将 mactvtap 设备添加到桥接器,并将 eth0 添加到同一个桥接器。

sudo ip link add br0 type bridge
sudo ip link add macvtap0 link br0 type macvtap mode bridge
sudo ip link set macvtap0 master br0

现在您可以使用 ebtables 了:)您可以使用 macvtap 设备的其他模式,例如“vepa”。

相关内容