Я нахожусь в стадии исследования небольшого проекта, связанного с приоритетной переадресацией портов.
У меня есть набор клиентов, пытающихся получить доступ к терминальному серверу с некоторыми радиоустройствами.
Проблема заключается в том, что если два клиента подключаются к одному и тому же целевому порту на терминальном сервере, я вижу данные мусора на неверном клиенте.
Скажем, клиент A запрашивает что-то с целевого порта, но клиент B уже запрашивал что-то, устройство за терминальным сервером на этом порту отвечает данными, которые он поставил в очередь для отправки.
Обратите внимание, целевой порт одинаков для обоих клиентов.
Я бы хотел расставить приоритеты для одного из серверов, и поэтому я хочу внедрить приложение типа маршрутизатора на основе Linux между двумя клиентами и терминальным сервером. Каждый из клиентов будет подключаться к другому порту, но приоритетный клиент будет перенаправлен, если он начнет общаться. Другой будет заблокирован, остановлен, остановлен или что-то еще.
Возможно, я подскочил и разработал небольшое приложение на Python, которое прослушивает 2 разных порта и перенаправляет "приоритетное" на сервер терминалов. Блокирует переадресацию "неприоритетного" порта до тех пор, пока в приоритетном порте не произойдет определенное количество сообщений.
Я читал о iptables, некоторых NAT, Socat, немного QoS и т.д., Но я не могу найти что-то там для моей проблемы.
Я не специалист по сетевым технологиям и использую Linux уже около 2 лет, но я никогда не делал много с этими сценариями маршрутизации / пересылки TCP / IP, поэтому я хотел бы знать, есть ли что-то, что могло бы помочь я с приоритетом одного порта вперед по сравнению с другим, и это будет более эффективным, чем пользовательское приложение Python.
Спасибо за любые отзывы.
Вот небольшой img, для справки о том, что я пытаюсь сделать: