ฉันได้ตั้งค่าลินุกซ์บริดจ์ (br0) ด้วย netplan ดังต่อไปนี้:
  รุ่น: 2
  เรนเดอร์: เครือข่าย
  อีเธอร์เน็ต:
    eno1:
      dhcp4: ไม่
      dhcp6: ไม่
  สะพาน:
    ปัญหา:
      อินเทอร์เฟซ:
        - อีโน 1
      Macaddress: ab:cd:ef:01:02:03
      ที่อยู่:
        - 51.x.y.z/24
      เนมเซิร์ฟเวอร์:
        ที่อยู่:
          - 8.8.8.8
          - 1.1.1.1
      พารามิเตอร์:
        ขั้นตอน: เท็จ
        ไปข้างหน้าล่าช้า: 0
      dhcp4: ไม่
      dhcp6: ไม่
      เส้นทาง:
        - ถึง: 0.0.0.0/0
          ผ่าน: 55.x.y.254
        - ถึง: 55.x.y.z/28
          ขอบเขต: ลิงค์
ฉันใช้ libvirt virt-install กับอาร์กิวเมนต์เครือข่าย: virt-install ... --network type=bridge,source=br0,model=virtio,filterref=clean-traffic,mac=00:11:22:33:44:55
เครือข่ายทำงานตามที่คาดไว้ แต่สิ่งที่ฉันสังเกตเห็นคือหากฉันมี VM หลายตัว ทราฟฟิกที่ส่งไปยัง VM ที่ปิดอยู่จะถูกส่งไปยัง VM ที่กำลังทำงานอยู่ทั้งหมด สิ่งนี้จะทำให้ข้อมูลการเชื่อมต่อรั่วไหล มีวิธีใดในการกำหนดค่าสะพานไม่ให้ทำเช่นนี้? อาจจะมี ebtables? ฉันสังเกตเห็นว่ากฎ ebtables ต่อไปนี้จะใช้งานได้ แต่ฉันกำลังมองหาบางสิ่งที่กว้างกว่านี้ เนื่องจากฉันไม่ทราบชื่ออินเทอร์เฟซก่อนหน้านี้ (vnet1): ebtables -A FORWARD -p IPv4 --ip-ปลายทาง 55.x.y.z -o ! vnet1 -j ลดลง การทำตัวกรองไม่ให้ใช้กับ mac จะไม่ทำงานเนื่องจาก IP และ MAC มีไว้สำหรับการปิด vm แต่บริดจ์ยังคงตัดสินใจออกอากาศด้วยเหตุผลบางประการ