делать то, что вы хотите, я рекомендую sshuttle.
вы используете его так:
./sshuttle -r username@sshserver 0.0.0.0/0 -vv
он будет туннелировать весь TCP-трафик автоматически для вас. Вы можете добавить --dns
аргумент, чтобы он туннелировал ваш трафик DNS. Удаленный сервер должен быть установлен Python.
если вы только хотите туннелировать конкретные программы, которые я рекомендовал бы proxychains.
после установки запустите ssh носки прокси такие:
ssh -fND 127.0.0.1:<local port> username@sshserver
это запустит прокси-сервер "SOCKS", прослушивающий <локальный порт>.
затем отредактируйте /etc/proxychains.conf указывает на тот же порт, что и <локальный порт>.
наконец, запустите программу, которую вы хотите прокси-Эд, как так:
proxychains <program name>
это должно просто работать. Однако, некоторые программы плохо работают с прокси-цепочки. Также имейте в виду, что с Firefox, вы должны изменить дополнительные элементы под about: config, чтобы заставить это сделать DNS-запросы через прокси вместо того, чтобы обходить его.
в качестве дополнительного примечания, в веб-браузерах. Если они поддерживают прокси socks, вам не нужно делать ничего дополнительного, чтобы заставить их использовать вышеупомянутое, туннель ssh, просто введите 127.0.0.1 для прокси-сервера SOCKS и <локальный порт> для порта прокси.
EDIT 3/29/16
поскольку этот пост все еще видит некоторые upvotes, я подумал, что обновлю его. Proxychains еще в большинство Linux repos и до сих пор работает на Linux. Однако проект фактически заброшен и не работает на OSX. Для Linux или OSX, я настоятельно рекомендую обновление до сих пор поддерживается вилка: proxychains-НГ: https://github.com/rofl0r/proxychains-ng
помимо работы в Linux и OSX, он легко компилируется, а также имеет гораздо лучшую поддержку DNS-туннелирования.
Я должен также упомянуть еще один вариант, который redsocks. Работает аналогично в proxychains(-НГ) и тоже скорее всего в вашем РЕПО дист: https://github.com/darkk/redsocks