GNU/Linux >> Tutoriales Linux >  >> Linux

Proxy TCP usando socat

Introducción:
Últimamente tuve que crear un Proxy TCP bidireccional puro para un proyecto. Para esto hay muchas alternativas como haproxy, nginx, cat and socat y otras. Debido a la simplicidad del comando, decidí usar socat pero también mostraré el comando para cat.

El método NCAT:
El siguiente comando usará una tubería para transportar los datos en ambas direcciones. Solo se puede conectar un cliente a la vez.
cd /var/tmp
mkfifo fifo &>/dev/null
/bin/nc -l -p $frontend_port -s $frontend_addr <fifo | /bin/nc $backend_addr $backend_port >fifo

El método SOCAT (¡Mejor!):
Nota:este método ejecuta el comando en una sesión de pantalla, pero no es necesario si el proceso solo se necesita ejecutar temporalmente.
/usr/bin/screen -d -m /usr/bin/socat -d -d -lmlocal2 \
TCP4-LISTEN:$frontend_port,bind=$frontend_addr,reuseaddr,fork,su=daemon \
TCP4:$backend_addr:$backend_port,bind=$backend_iface_addr


Linux
  1. Cómo reiniciar Linux usando la línea de comandos

  2. Usando el comando ripgrep (rg) en Linux

  3. ¿Cómo matar un proceso en Linux usando el comando?

  4. 5 ejemplos prácticos de comandos de fuser de Linux

  5. Ejemplos de uso del comando dmsetup en Linux

Usando el comando libre de Linux

Tutorial sobre el uso del comando Timeout en Linux

Programar trabajos en Linux con el comando 'at'

Usando el comando Watch en Linux

Cómo crear una partición usando el comando "partid"

Usando cut en Linux Terminal