Załóżmy, że mam dostęp do serwera SSH, który obsługuje tunelowanie, i korzystam z komputera z * Ubuntu. Jak skonfigurować lokalny serwer proxy SOCKS, który tuneluje ruch przez ten serwer SSH przed połączeniem z Internetem?
Plik ssh
binarny używany podczas łączenia się z serwerem z uruchomionym ssh obsługuje uruchamianie proxy SOCKS po wyjęciu z pudełka z -D
flagą. Przykład:
ssh -D 1337 -f -C -q -N user@remote -p 22
-D 1337
nakazuje ssh
lokalne uruchomienie serwera SOCKS na porcie 1337.-f
rozwidla proces w tle.-C
Włącza kompresję.-q
włącza „Tryb cichy”, ponieważ tutaj chodzi tylko o tunelowanie, tak naprawdę nie dbamy o wyjście błędu i tak dalej.-N
informuje, ssh
że żadne polecenia nie zostaną wysłane (-f
narzeka, jeśli nie określimy tego).-p
określa, którego portu użyć; oczywiście domyślnie jest to 22, więc powyższe stwierdzenie jest bezcelowe, ale uwzględnione dla jasności.Gdy serwer SOCKS jest uruchomiony, musisz po prostu upewnić się, że aplikacja (zazwyczaj przeglądarka internetowa) próbuje połączyć się z lokalnym serwerem proxy SOCKS, a nie ze zwykłym Internetem.
W przeglądarce Firefox 29 (wyjaśnionej tutaj jako przykład) można to zrobić, przechodząc do menu (trzy kiełbasy w prawym górnym rogu), a następnie Preferencje> Zaawansowane> Sieć> (Połączenie)> Ustawienia ... - upewnij się, że tylko wypełnij pole SOCKS! Ponieważ serwer proxy znajduje się w tym samym systemie, możesz z niego korzystaćlocalhost
lub 127.0.0.1
wskazać z powrotem dowolny port, na którym ustawiono go w tym samym systemie.
Jeśli potrzebujesz również tunelować żądania DNS (jeśli nie są, wyszukiwania DNS ujawnią, które strony próbujesz odwiedzić), możesz po prostu zaznaczyć opcję „Zdalny DNS” lub wykonać całą konfigurację about:config
. W ostatnim przypadku otwórz go i ustaw następujące wartości:
network.proxy.socks : 127.0.0.1
network.proxy.socks_port : 1337
network.proxy.socks.remote_dns : true
network.proxy.socks_version : 5
network.proxy.type : 1
Możesz także potrzebować tego ustawienia, aby wykluczyć niektóre domeny lub witryny z tunelowania:
network.proxy.no_proxies_on : localhost, 127.0.0.1, 192.168.0.0/24, .yourcompany.com
Ta odpowiedź została napisana z Francji, ale tunelowana przez Szwecję :)
-D
i się-p
rozstać.ssh -D 1337 user@host