Назад | Перейти на главную страницу

Автоматическое зеркалирование портов в OVS без дублирующих пакетов

Вот в чем дело: мне нужно настроить конфигурацию зеркалирования портов в Proxmox и OVS, чтобы отслеживать весь трафик с виртуальных машин и отправлять их в IDS. Эта конфигурация не должна генерировать повторяющиеся пакеты и, в идеале, должна быть динамической. Это означает, что нам необходимо отслеживать любые новые виртуальные машины, подключенные к мосту OVS, без вмешательства человека.

В аппаратном коммутаторе все просто; Вы можете выполнить команду, которая, например, зеркалирует только входящий трафик портов 1-23 и отправляет скопированные кадры на порт 24. Вам необходимо зеркалировать одно направление (только входящее или исходящее), потому что в противном случае входящий пакет порта Χ, который предназначено для порта Υ, будет скопировано два раза. Кроме того, не следует контролировать некоторые порты, которые являются соединительными коммутаторами, а следует отображать только граничные порты.

А как насчет зеркалирования портов в OVS? Каждый порт выделяется динамически для каждой новой загружаемой виртуальной машины, поэтому мы не можем предоставить единую команду, которая отслеживает все порты, а также новые. Конечно, есть select_all в ovs-vsctl, но эта конфигурация будет генерировать повторяющиеся пакеты, так как все порты будут отслеживаться как во входящем, так и в исходящем направлениях.

Приложение SDN (может работать на Ryu), которое запускается каждый раз, когда новый порт подключается к мосту OVS и выдает команду зеркалирования порта, может решить эту проблему. Но я понятия не имею, как это писать.

Любые идеи?