Jak mogę zezwolić innym komputerom na korzystanie z mojego lokalnego tunelu SOCKS SSH?

10

Często używam tunelowania SSH na moim komputerze, używając proxy SOCKS.

ssh -D 1234 example.com

Jednak akceptuje to tylko połączenia lokalne. Chciałbym, aby inne systemy w mojej sieci mogły także korzystać z proxy na moim komputerze.

Jak mogę to osiągnąć? Jeśli SSH nie ma własnej opcji, wyobrażam sobie, że możliwe jest, aby program proxy działał jako proxy na innym porcie, ale nie wiem, czy istnieją jakieś wspólne narzędzia do tego.

Jeremy Banks
źródło

Odpowiedzi:

16

Powiedz mu, aby powiązał się z adresem zewnętrznym zamiast localhost.

ssh -D 192.168.0.123:1234 example.com
Ignacio Vazquez-Abrams
źródło
13
Lub możesz użyć ssh -D "*:1234" example.comdo powiązania ze wszystkimi adresami.
Gordon Davisson
Uważam ten ostatni komentarz za bardzo przydatny!
jnthnclrk
1
Użyłem 0.0.0.0 jako adresu IP. ssh -D 0.0.0.0:1234 example.com
Sahil Singh
lub użyj -gdo powiązania z 0.0.0.0 (akceptuje wszystkie adresy IP)
wrz GH,
więc jaki adres IP i port należy ustawić na innych komputerach, aby używać proxy?
mohammad6006
-2

Musisz włączyć routing na hoście i skonfigurować protokół routingu, taki jak RIP. Zasadniczo musisz działać jak router, a pozostałe hosty muszą mieć wpisy routingu, aby dostać się do sieci po drugiej stronie (która, mam nadzieję, nie jest zduplikowaną siecią RFC1918).

Keith
źródło
Użytkownicy muszą jedynie wpisać adres IP serwera proxy ... nie wymaga routingu.
Mark E. Haase
@mehaase Jesteś zdezorientowany. A co wtedy zrobi serwer proxy? Jak użytkownicy dotrą do innych sieci?
Keith
Przez proxy? Czy nie o to chodzi? ssh -D działa jak proxy SOCKS, a nie tylko tunel punkt-punkt. Aplikacja jest świadoma.
Mark E. Haase
W rzeczywistości pytanie jest mylące. Widziałem tunelowanie, które różni się od proxy. Udostępnianie tunelu IP nie różni się niczym od routingu przez łącze punkt-punkt.
Keith