Вот в чем дело: мне нужно настроить конфигурацию зеркалирования портов в Proxmox и OVS, чтобы отслеживать весь трафик с виртуальных машин и отправлять их в IDS. Эта конфигурация не должна генерировать повторяющиеся пакеты и, в идеале, должна быть динамической. Это означает, что нам необходимо отслеживать любые новые виртуальные машины, подключенные к мосту OVS, без вмешательства человека.
В аппаратном коммутаторе все просто; Вы можете выполнить команду, которая, например, зеркалирует только входящий трафик портов 1-23 и отправляет скопированные кадры на порт 24. Вам необходимо зеркалировать одно направление (только входящее или исходящее), потому что в противном случае входящий пакет порта Χ, который предназначено для порта Υ, будет скопировано два раза. Кроме того, не следует контролировать некоторые порты, которые являются соединительными коммутаторами, а следует отображать только граничные порты.
А как насчет зеркалирования портов в OVS? Каждый порт выделяется динамически для каждой новой загружаемой виртуальной машины, поэтому мы не можем предоставить единую команду, которая отслеживает все порты, а также новые. Конечно, есть select_all
в ovs-vsctl, но эта конфигурация будет генерировать повторяющиеся пакеты, так как все порты будут отслеживаться как во входящем, так и в исходящем направлениях.
Приложение SDN (может работать на Ryu), которое запускается каждый раз, когда новый порт подключается к мосту OVS и выдает команду зеркалирования порта, может решить эту проблему. Но я понятия не имею, как это писать.
Любые идеи?