Aby zrobić to, co chcesz, polecam sshuttle .
Używasz go w ten sposób:
./sshuttle -r username@sshserver 0.0.0.0/0 -vv
Będzie on tunelował cały twój ruch TCP automatycznie dla ciebie. Możesz dodać argument --dns
, aby tunelować również ruch DNS. Zdalny serwer musi mieć tylko zainstalowany Python.
Jeśli chcesz tylko tunelować określone programy, polecam proxychains .
Po zainstalowaniu, uruchom ssh socks proxy w następujący sposób:
ssh -fNTD 127.0.0.1:<local port> username@sshserver
To uruchomi proxy “SOCKS” nasłuchujące na {local port>.
Następnie edytuj /etc/proxychains.conf, aby wskazać ten sam port co <lokalny port>.
Na koniec uruchom swój program, który ma być proxy-owany w następujący sposób:
proxychains <program name>
To powinno po prostu działać. Jednakże, kilka programów będzie miało problemy z obsługą łańcuchów proxy. Należy również pamiętać, że w przypadku Firefoksa trzeba zmienić dodatkowe pozycje w about:config, aby zmusić go do wykonywania wyszukiwania DNS przez proxy zamiast omijania go.
Jako dodatkowa uwaga, na temat przeglądarek internetowych. Jeśli obsługują one serwery proxy socks, nie musisz robić nic dodatkowego, aby użyć wyżej wymienionego tunelu ssh, wystarczy wpisać 127.0.0.1 dla serwera proxy SOCKS i \u2002 dla portu proxy.
EDIT 3/29/16
Ponieważ ten post wciąż widzi kilka upvotes, pomyślałem, że go zaktualizuję. Proxychains jest nadal w większości repozytoriów Linuksa i nadal działa na Linuksie. Jednakże, projekt jest skutecznie porzucony i nie działa na OSX. Zarówno dla Linuksa jak i OSX, gorąco polecam aktualizację do wciąż utrzymywanego forka: proxychains-ng: https://github.com/rofl0r/proxychains-ng
Poza tym, że działa zarówno w Linuksie jak i OSX, jest łatwy do skompilowania, a także ma znacznie lepsze wsparcie dla tunelowania DNS.
Powinienem również wspomnieć o innej opcji, którą jest redsocks. Działa on podobnie do proxychains(-ng) i prawdopodobnie znajduje się również w twoim dist repo: https://github.com/darkk/redsocks
EDIT 11/27/19 Jeśli pójdziesz drogą proxychains, proszę użyj proxychains-ng. Jest tam kilka poważnych poprawek błędów w stosunku do wersji legacy, jak: https://github.com/rofl0r/proxychains-ng/issues/292