Para hacer lo que quieres, te recomiendo sshuttle .
Lo usas así:
./sshuttle -r username@sshserver 0.0.0.0/0 -vv
Tunelizará todo tu tráfico TCP automáticamente. Puedes añadir el argumento --dns
para que también tunelice tu tráfico DNS. El servidor remoto sólo necesita tener instalado Python.
Si sólo quiere tunelizar programas específicos le recomiendo proxychains .
Una vez 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>.
A continuación edite /etc/proxychains.conf para que apunte al mismo puerto que <puerto local>.
Por último, inicie el programa que desea proxiar de la siguiente manera:
proxychains <program name>
Debería funcionar. Sin embargo, algunos programas tendrán problemas para trabajar con cadenas de proxy. También tenga en cuenta, que con Firefox, tiene que cambiar elementos adicionales bajo about:config para forzarlo a hacer búsquedas de DNS a través del proxy en lugar de evitarlo.
Como nota adicional, en los navegadores web. Si soportan proxies socks, no necesitas hacer nada adicional para que utilicen el mencionado, túnel ssh, simplemente introduce 127.0.0.1 para el servidor proxy SOCKS y el <puerto local> para el puerto del proxy.
EDIT 3/29/16
Ya que este post sigue viendo algunos upvotes, pensé en actualizarlo. Proxychains todavía está en la mayoría de los repos de Linux y todavía funciona en Linux. Sin embargo, el proyecto está efectivamente abandonado y no funciona en OSX. Tanto para Linux como para OSX, recomiendo encarecidamente la actualización a un fork aún mantenido: 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 la creación de túneles 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 dist repo: https://github.com/darkk/redsocks
EDIT 11/27/19 Si opta por proxychains, por favor, utilice proxychains-ng. Hay algunas correcciones de errores graves sobre la versión heredada, como: https://github.com/rofl0r/proxychains-ng/issues/292