GNU/Linux >> Znalost Linux >  >> Linux

TCP Proxying pomocí socat

Úvod:
V poslední době jsem musel pro projekt vytvořit čistě obousměrný TCP Proxy. K tomu existuje spousta alternativ jako haproxy, nginx, cat a socat a další. Kvůli jednoduchosti příkazu jsem se rozhodl použít socat, ale ukážu také příkaz pro kočku.

Metoda NCAT:
Následující příkaz použije rouru k přenosu dat v obou směrech. Najednou může být připojen pouze jeden klient.
cd /var/tmp
mkfifo fifo &>/dev/null
/bin/nc -l -p $frontend_port -s $frontend_addr <fifo | /bin/nc $backend_addr $backend_port >fifo

Metoda SOCAT (nejlepší!):
Poznámka:Tato metoda spustí příkaz v relaci obrazovky, ale není to nutné, pokud je proces potřeba spustit pouze dočasně.
/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. Použití –exclude With The Du Command?

  2. 10 Praktické příklady použití příkazu scp

  3. Použití Linux Sleep Command ve skriptech Bash

  1. Jak restartovat Linux pomocí příkazového řádku

  2. Použití příkazu ripgrep (rg) v Linuxu

  3. Rozdělit výstup příkazu podle sloupců pomocí Bash?

  1. Náhrada příkazů pomocí „?

  2. Příkaz spánku pomocí příkazu obrazovky se v Ps nezobrazuje?

  3. Jak poslouchat vícenásobné připojení TCP pomocí nc