LINUX: ping между портами одного устройства

Необходимо проверить корректную работу сетевых портов устройства, для чего применяется iperf3. Порты на устройстве попарно соединяются друг с другом, им присваиваются временные адреса, после чего запускается n-ое количество окон iperf3, гоняющие трафик между портами. На втором цикле порты-клиенты меняются местами с портами-серверами.

Для Windows написание нужного скрипта не стало проблемой, но в Linux (Astra Linux 1.7.5) наткнулся на то, что невозможно идентифицировать связанные порты: ping проходит от любого порта к любому. Как я понял, сигнал идёт через ядро, а не "по проводу". Есть ли возможность это обойти?

Пока что я нашёл выход через создание отдельного Network ns, куда переносится интерфейс, ему присваивается IP, и ping`ом находится пара из оставшихся интерфейсов, после чего в этот ns переносится следующий интерфейс. Проблема в том, что для инициализации и подъема интерфейса системе необходимо минимум 4 секунды (иначе ping просто упрётся в состояние DOWN), и поднять их все за один такт не выйдет никак. На машине может быть до 48 портов, и тогда только на одно соединение таким способом будет тратиться непозволительно много времени.

Вопрос: есть ли более изящный способ обнаружения связанных друг с другом интерфейсов?


Ответы (0 шт):