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