martes, 31 de julio de 2012

Utilizando SOCKS por Consola

Tengo conexión SSH con un servidor que está en una red a la que no tengo acceso desde casa. Entonces, para ver recursos Web en esa red, generalmente me valgo de un Proxy SOCKS 5 con SSH y configuro mi navegador. Hago algo como:

$ ssh -D 1234 usuario@servidor

Y después en mi navegador configuro el Proxy SOCKS5 (host: localhost, port: 1234). Con eso puedo navegar sin ningún problema por todos los recursos a los que no tengo acceso desde casa, porque son parte de la red privada. Inicialmente utilizaba un tunel SSH-Forward típico, pero era una pesadilla, del tipo:
$ ssh -L 1234:localhost:1234 usuario@servidor
usuario@servidor$ ssh -L 1234:localhost:80 usuario@servidor-web

Y para acceder al recurso introducía en mi navegador URLs del tipo: http://esedominioquenoveo:1234

Luego, el método de SSH Forwarding lo seguía utilizando hasta hoy para conectarme a otros servicios, no visibles desde el navegador, como por ejemplo MySQL.
De qué va este artículo en realidad, que hoy descubrí tsocks... Si instalas tsocks basta con ejecutar:
$ sudo aptitude install tsocks

Modificar las siguientes últimas líneas del archivo /etc/tsocks.conf:
server = 127.0.0.1
# Server type defaults to 4 so we need to specify it as 5 for this one
server_type = 5
# The port defaults to 1080 but I've stated it here for clarity 
server_port = 1234

Y luego...
$ ssh -ND 1234 usuario@servidor &
$ tsocks mysql -u usuario -h IP_REMOTA bd

Fíjense que ya no necesito cambiar la IP, porque tsocks resuelve el "problema". NOTA: El usuario debe tener acceso a la BD en la IP_REMOTA desde la IP de servidor.

No hay comentarios:

Publicar un comentario