Перенаправление нескольких портов с помощью 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