Tcptunnel permite redirigir tráfico desde un puerto TCP a otro, escuchando en el puerto local y redirigiendo todo el tráfico hacia el puerto remoto que le indiquemos.
Tcptunnel puede ser utilizado con protocolos basados en TCP como HTTP, SMTP, POP, IRC, etc. y ha sido probado en GNU/Linux, FreeBSD, Solaris, HP-UX, Windows XP y Windows Server 2008.
Personalmente lo he probado entre dos máquinas CentOS y por el momento ha funcionado de forma correcta. En breve lo usaré en «producción» así que esperaremos a ver que tal. Os dejo unos ejemplos de utilización y su instalación.
Instalación
# wget http://www.vakuumverpackt.de/tcptunnel/tcptunnel-0.2.tar.gz # tar -xzvf tcptunnel-0.2.tar.gz # cd tcptunnel-0.2 # ./configure --install-dir=/usr/local/bin # make # make install
Ejemplos de uso
En este ejemplo queremos redirigir todo el tráfico SMTP local contra el puerto SMTP de la máquina remota 192.168.0.100:
# tcptunnel --local-port=25 --remote-port=25 --remote-host=192.168.0.100 --stay-alive
En este ejemplo redirigimos el tráfico POP local (puerto 110) contra el puerto 111 del equipo remoto 192.168.0.100:
# tcptunnel --local-port=110 --remote-port=111 --remote-host=192.168.0.100 --stay-alive
En este ejemplo redirigimos el tráfico HTTP local (puerto 80) contra el puerto 80 del equipo remoto 192.168.0.100:
# tcptunnel --local-port=80 --remote-port=80 --remote-host=192.168.0.100 --stay-alive
Modo de uso:
# tcptunnel --help Usage: tcptunnel [options] Options: --version --help this help --local-port=PORT port to redirect --remote-port=PORT target port --remote-host=HOST target host --stay-alive --log-to-stdout
Si alguien conoce una forma más óptima de hacerlo, ¡soy todo oídos!
Personalmente, prefiero usar ssh (suele estar en todos los *nix) para el tuneling entre hosts. Si no necesitas encriptación ¿no has pensado en netcat?. Parafraseando tu 2º ejemplo:
ssh -L110:0.0.0.0:111 -o TCPKeepAlive=yes 192.168.0.100
(Debes tener activo AllowTcpForwarding en el demonio sshd)
Saludos!
Interesante el tema de netcat (no necesito encriptación). Lo probaré hoy mismo.
Gracias y saludos!