socat – Przekierowanie portów z jednego serwera na inny

Przy przenoszeniu serwera pomiędzy różnymi lokalizacjami czasem pojawia się potrzeba aby przez pewien czas w obu miejscach, w starej i nowej sieci (na starym i nowym IP) na tych samych portach słuchały usługi. Można to osiągnąć stawiając w jednym z miejsc serwer, który będzie zajmował się wyłącznie forwardowaniem portów na właściwy serwer. Można to osiągnąć przy użyciu programu socat.

Instalujemy:
apt-get install socat

Dla każdego używanego portu TCP uruchamiamy:

# socat TCP4-LISTEN:80,fork TCP:195.64.174.90:80

a dla każdego portu UDP:

# socat UDP4-LISTEN:53,fork UDP4-SENDTO:195.64.174.90:53

Aby socat słuchał tylko na jednym IP, a nie bindował się do wszystkich, należy dodać opcję bind= np.

# socat TCP4-LISTEN:80,bind=195.64.174.11,fork TCP:195.64.174.90:80

Dla TCP to samo można osiągnąć przy użyciu programu redir poprzez:

# redir --lport=80 --cport=80 --caddr=195.64.174.90

Jedna myśl nt. „socat – Przekierowanie portów z jednego serwera na inny”

Możliwość komentowania jest wyłączona.