Добрый день,

У меня есть два компьютера за брандмауэром без переадресации портов. Эти два компьютера должны общаться друг с другом, используя только исходящие соединения.

Я ищу прокси-инструмент, который будет запущен на сервере и будет работать следующим образом:

  1. Боб периодически проверяет сервер, хочет ли Алиса говорить.
  2. Алиса отправляет запрос на сервер, что она хочет поговорить с Бобом.
  3. Боб проверяет сервер и получает информацию, с которой Алиса хочет поговорить - он принимает.
  4. Прокси-сервер открывает входящие порты 8100 и 8200 для входящих TCP-соединений.
  5. Алиса подключается к порту 8100 и ждет, когда Боб присоединится к ней.
  6. Боб подключается к порту 8200.
  7. Пакеты HELO отправляются Алисе и Бобу, указывая, что обе стороны установили соединение.
  8. Затем соединение переключается в дуплексный режим пересылки, где Алиса может отправлять пакеты на порт 8100, и они будут пересылаться с порта 8200 на Боба.
  9. Боб также может отправлять пакеты на порт 8200, и они будут перенаправлены с порта 8100 на Алису.
  10. Боб отключается, и соединение с Алисой обрывается.

Я хотел спросить, есть ли такой прокси-протокол уже доступен. Прежде чем написать собственную реализацию, я решил спросить здесь о любых доступных решениях (желательно для Linux).

Идея заключается в простом перенаправителе пакетов, который может соединить два входящих соединения. Буду признателен, если кто-нибудь сможет поделиться знаниями о подобных проектах с открытым исходным кодом.

1 ответ1

0

Хорошо, давайте разделим это на уровни, вы описываете маршрутизатор на уровне IP, единственное, что пакеты приходят на один порт, а выходят на другой, и это должно обрабатываться прикладным уровнем, который реализует протокол, который вы описываете.

Таким образом, чтобы воспроизвести концептуальный дизайн, который вы изложили выше, вам нужен маршрутизатор (достаточно любого linux-бокса с IP-таблицами) плюс сетевой сервис, который делает именно то, что вы просите, и если кто-то уже не запрограммировал и не выпустил Open Source, что вы просите потому что вам нужно будет сделать это самостоятельно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .