Linux 桥接器泄漏已关闭虚拟机的流量

Linux 桥接器泄漏已关闭虚拟机的流量

我有一个使用 netplan 设置的 Linux 桥 (br0),如下所示:

  version: 2
  renderer: networkd
  ethernets:
    eno1:
      dhcp4: no
      dhcp6: no
  bridges:
    probr:
      interfaces:
        - eno1
      macaddress: ab:cd:ef:01:02:03
      addresses:
        - 51.x.y.z/24
      nameservers:
        addresses:
          - 8.8.8.8
          - 1.1.1.1
      parameters:
        stp: false
        forward-delay: 0
      dhcp4: no
      dhcp6: no
      routes:
        - to: 0.0.0.0/0
          via: 55.x.y.254
        - to: 55.x.y.z/28
          scope: link

我使用带有网络参数的 libvirt virt-install:virt-install ... --network type=bridge,source=br0,model=virtio,filterref=clean-traffic,mac=00:11:22:33:44:55

网络按预期工作,但我注意到,如果我有多个虚拟机,发往已关闭虚拟机的流量将被广播到所有正在运行的虚拟机。这会泄露连接信息。有没有办法配置网桥不这样做?也许使用 ebtables?我注意到以下 ebtables 规则可以工作,但我正在寻找更通用的规则,因为我事先不知道接口名称(vnet1):ebtables -A FORWARD -p IPv4 --ip-destination 55.x.y.z -o ! vnet1 -j DROP对非 mac 进行过滤将不起作用,因为 IP 和 MAC 是用于已关闭虚拟机的,但网桥仍出于某些原因决定广播它。

相关内容