Перенаправление нескольких портов с помощью socat

Я хотел бы использовать socat перенаправить некоторые порты, и я нашел демона socat здесь. Однако этому демону не хватает документации, и я мог настроить только одно перенаправление портов. Есть ли синтаксис, чтобы сделать socat или этот демон (или другой демон) для настройки перенаправления нескольких отдельных портов?

Редактировать 1: возможное решение найдено здесь.

1 ответ

Решение

Запускать несколько экземпляров в фоновом режиме

Вы можете запустить несколько экземпляров socat в фоновом режиме в одной команде.

я использую sleep N вместо socat ...N... ...N... для примера:

echo -n 1 2 3 | xargs -d ' ' -I% bash -c '(sleep % ; echo slept % ) &'

() и echo slept % part требуется только для вывода некоторых примеров, поэтому ваша фактическая команда будет проще; % будет заменен одним из портов, перечисленных после echo:

echo -n 3392 3393 3394 | xargs -d ' ' -I% bash -c 'socat TCP4-LISTEN:%,fork TCP4:192.168.10.102:% &'

Остерегайтесь количества аргументов порта N, это также должно работать:

parallel -j N -i bash -c 'socat TCP4-LISTEN:{},fork TCP4:192.168.10.102:{}' -- 3392 3393 3394

Пытаться

socat TCP-LISTEN:8080,fork TCP:host1:8080|socat TCP-LISTEN:8081,fork TCP:host2:8082
Другие вопросы по тегам