Как ограничить передачу трафика между виртуальными машинами в одном VLAN через гипервизор с использованием OVS bridge и предотвратить доступ к локальной сети, сохраняя доступ в Интернет? Возможно ли установить фильтрацию трафика для этих виртуальных машин на OVS bridge без перехода на Linux bridge?
Для настройки моста OVS таким образом, чтобы запретить или фильтровать соединения между виртуальными машинами в одном VLAN, можно использовать функционал Open vSwitch (OVS) для настройки правил фильтрации трафика. 1. Создайте OVS мост с помощью команды: ``` sudo ovs-vsctl add-br <bridge_name> ``` 2. Добавьте виртуальные интерфейсы в OVS мост с помощью команды: ``` sudo ovs-vsctl add-port <bridge_name> <port_name> ``` 3. Установите правила фильтрации трафика с помощью команды: ``` sudo ovs-ofctl add-flow <bridge_name> <flow_rule> ``` Для ограничения передачи трафика между виртуальными машинами в одном VLAN и предотвращения доступа к локальной сети, можно установить правила фильтрации, которые будут блокировать трафик между виртуальными машинами внутри VLAN. Таким образом, они сохранят доступ в Интернет. Для установки фильтрации трафика для виртуальных машин на OVS мосте, вы можете использовать команду `ovs-ofctl add-flow`, чтобы добавлять правила фильтрации соответственно вашим требованиям. Пример команды для добавления правила, которое блокирует трафик между виртуальными машинами в одном VLAN: ``` sudo ovs-ofctl add-flow <bridge_name> priority=100,dl_type=0x0800,actions=drop ``` Обратите внимание, что перед тем как применять правила фильтрации, необходимо убедиться, что они соответствуют вашим требованиям и что необходимая часть трафика (например, трафик в Интернет) не будет заблокирована. Эти действия позволят ограничить передачу трафика между виртуальными машинами в одном VLAN через гипервизор с использованием OVS bridge, сохраняя доступ в Интернет, и не требуя перехода на Linux bridge.
Да, ovs умеет в acl, называются они в нем flow, пример у меня получился такой:
ovs-ofctl add-flow ovs-br "cookie=0x00, table=0, in_port=eth0, action=normal" ovs-ofctl add-flow ovs-br "cookie=0x01, table=0, in_port=ovs-br, action=normal" ovs-ofctl add-flow ovs-br "cookie=0x08, table=0, icmp6, ipv6_src=fe80::/64, ipv6_dst=ff02::/96, action=normal" ovs-ofctl add-flow ovs-br "cookie=0x09, table=0, arp, action=normal" ovs-ofctl add-flow ovs-br "cookie=0x10, table=0, ip, nw_src=<ipv4 subnet>, nw_dst=<ipv4 subnet>, actions=drop" ovs-ofctl add-flow ovs-br "cookie=0x11, table=0, ip, nw_src=<ipv4 subnet>, actions=normal" ovs-ofctl add-flow ovs-br "cookie=0x12, table=0, ipv6, ipv6_src=<ipv6 subnet>, ipv6_dst=<ipv6 subnet>, action=drop" ovs-ofctl add-flow ovs-br "cookie=0x13, table=0, ipv6_src=<ipv6 subnet>, ipv6, action=normal"