TCP bouncer with failover support
Descripción
Se publica un puerto TCP, donde se escuchan peticiones, cada una de ellas se intenta re-enviar contra un servidor y un puerto (no tiene porqué ser el mismo que el que se publica). Si esta conexión falla se pueden definir varios servidores y puertos donde intentar enviar la conexión recibida. Si no se consigue establecer esta comunicación entonces se desconecta la conexión TCP recibida.
Requerimientos
- python
- twisted
Fichero de configuración
Entre [] definimos el nombre de la redirección que vamos a definir, podemos definir más de una conexión sólo diferenciandolas con el nombre entre []. Dentro de cada sección se definen dos variables:
- listen: indica en que IP y puerto local debemos esperar las conexiones TCP. Si queremos escuchar en cualquiera de las IPs de la máquina local debemos poner la IP: 0.0.0.0, siendo obligatorio definir siempre el puerto separado por unos ':'.
- servers: separados por ',' inidicaremos un lista de pares de IP:PUERTO donde debemos intentar conectar la conexión TCP recibida. Las conexiones se probaran según el orden indicado.
A continuación se muestra un fichero de configuración a modo de ejemplo:
[test1] listen=127.0.0.1:1236 servers=127.0.0.1:4444,127.0.0.1:5555,192.168.1.99:23 [test2] listen=0.0.0.0:1235 servers=127.0.0.1:2222,127.0.0.1:3333,192.168.1.1:23
Uso
Para lanzar el demonio es necesario tener permisos de 'root', ya que este intenta lanzarse como usuario y grupo: bin:bin.
twisted -y tcp-fwd.py
Depuración
Para depurar el funcionamiento en el directorio donde se lance el tcp-fwd.py encontraremos un ficheros .log con los posibles errores del mismo.
Descargar
Consultar la sección descargas.
