У меня есть linux bridge (br0) с netplan следующим образом:
версия: 2
визуализатор: сетевой
Ethernet:
эно1:
DHCP4: нет
DHCP6: нет
мосты:
пробр:
интерфейсы:
- ено1
MAC-адрес: ab:cd:ef:01:02:03
адреса:
- 51.х.у.з/24
серверы имен:
адреса:
- 8.8.8.8
- 1.1.1.1
параметры:
стп: ложь
задержка вперед: 0
DHCP4: нет
DHCP6: нет
маршруты:
- до: 0.0.0.0/0
через: 55.xy254
- до: 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
Сеть работает, как и ожидалось, но я заметил, что если у меня есть несколько виртуальных машин, трафик, предназначенный для отключенной виртуальной машины, будет транслироваться на все работающие виртуальные машины. Это приведет к утечке информации о соединениях. Есть ли способ настроить мост, чтобы этого не делать? Может быть, с ebtables? Я заметил, что следующее правило ebtables будет работать, но я ищу что-то более общее, так как заранее не знаю имя интерфейса (vnet1): ebtables -A FORWARD -p IPv4 --ip-destination 55.xyz -o ! vnet1 -j УДАЛИТЬ
Выполнение фильтра не для Mac не сработает, так как IP и MAC предназначены для отключения vm, но мост по каким-то причинам все равно решает его транслировать.