Pregunta:
Siempre que estoy usando Internet desde una ubicación insegura (como una red wifi pública), me gusta usar un túnel ssh -D port host
( ssh -D port host
) para asegurarme de que mi tráfico no pueda ser rastreado. Desafortunadamente, parece haber muchas aplicaciones que no proporcionan una forma de especificar un proxy (Flash es un ejemplo importante).
Parece que debería haber alguna forma de usar un túnel para todo el tráfico de red desde mi computadora, pero no sé cómo hacerlo. Cualquier ayuda será muy apreciada.
Respuesta:
Para hacer lo que quiere, le recomiendo sshuttle .
Lo usas así:
./sshuttle -r username@sshserver 0.0.0.0/0 -vv
Hará un túnel todo su tráfico TCP automáticamente para usted. Puede agregar el argumento --dns
para que también --dns
un túnel en su tráfico DNS. El servidor remoto solo necesita tener instalado Python.
Si solo desea crear un túnel en programas específicos, le recomendaría cadenas de proxy .
Una vez que esté instalado, inicie su proxy ssh socks así:
ssh -fNTD 127.0.0.1:<local port> username@sshserver
Esto iniciará un proxy "SOCKS" escuchando en <puerto local>.
Luego edite /etc/proxychains.conf para que apunte al mismo puerto que <puerto local>:
socks5 127.0.0.1 <localport>
Finalmente, inicie su programa que desea proxy-ed así:
proxychains <program name>
Debería funcionar. Sin embargo, algunos programas tendrán problemas para trabajar con Proxy Chains. También tenga en cuenta que con Firefox, debe cambiar elementos adicionales en about: config para forzarlo a realizar búsquedas de DNS a través del proxy en lugar de omitirlo.
Como nota adicional, en navegadores web. Si admiten proxies de calcetines, no necesita hacer nada adicional para que usen el túnel ssh mencionado anteriormente, solo ingrese 127.0.0.1 para el servidor proxy SOCKS y el <puerto local> para el puerto proxy.
EDITAR 29/03/16
Dado que esta publicación todavía recibe algunos votos a favor, pensé en actualizarla. Proxychains todavía está en la mayoría de los repositorios de Linux y todavía funciona en Linux. Sin embargo, el proyecto se abandona efectivamente y no funciona en OSX. Para Linux u OSX, recomiendo encarecidamente actualizar a una bifurcación aún mantenida: proxychains-ng: https://github.com/rofl0r/proxychains-ng
Además de funcionar tanto en Linux como en OSX, es fácil de compilar y también tiene un soporte mucho mejor para el túnel de DNS.
También debo mencionar otra opción, que es redsocks. Funciona de manera similar a proxychains (-ng) y también es probable que esté en su repositorio dist: https://github.com/darkk/redsocks
EDITAR 27/11/19 Si sigue la ruta de las cadenas de proxy, utilice proxychains-ng. Hay algunas correcciones de errores graves sobre la versión heredada, como: https://github.com/rofl0r/proxychains-ng/issues/292