Przedmowa: Potrzebuję wyraźnych instrukcji w tym samym formacie, co powyżej. To znaczy coś w stylu „uruchom”: „… uruchom polecenie X na komputerze A, a następnie polecenie Y na komputerze B…”
Mam działające proxy skarpet z mojego laptopa (maszyna A) na maszynę B:
[A]$ ssh -ND 8888 B
Mogę skonfigurować Firefoksa do używania proxy SOCKS na lokalnym porcie A 8888
, a przeglądanie na A działa. Na razie w porządku.
Ale mam także proxy skarpet między komputerami B i C:
[B]$ ssh -ND 8157 C
Więc mogę przeglądać B tak, jakbym był na C, ustawiając proxy B skarpet Firefox na 8157
.
Czy istnieje sposób na połączenie dwóch serwerów proxy, aby móc używać Firefoksa lokalnie (na A) podczas korzystania z połączenia z C?
Oznacza to, że w jakiś sposób przekazuje wszystkie żądania skarpet Firefoksa od A do C. A i C nie widzą się bezpośrednio, ale wszędzie mam pełny dostęp do katalogu głównego SSH. Wszystkie maszyny są Debianem.
Zauważ, że nie chcę przekazywać pojedynczego portu, takiego jak port 80, ale chcę w pełni połączony serwer proxy SOCK .
-L 8888:B:8157
na [A]?ssh -L 8888:B:8157
kończy się niepowodzeniem, wymaga parametru nazwy hosta. Czy możesz udzielić bardziej kompletnej, kompleksowej odpowiedzi? Jeśli to zadziała, zaakceptuję.Odpowiedzi:
Właśnie potwierdziłem, że działało to z niektórymi maszynami wirtualnymi:
Od A , to otworzyć portu naprzód tunel od 8888 do 8157 na lokalnie pensjonatów
-L8888:localhost:8157
. Po ustanowieniu połączenia B, polecenie zdalnessh -t -D 8157 user@C
jest prowadzony, co zapewnia serwer proxy SOCKS przez C . Z tego, co przeczytałem, „-t” wydaje się być wymagane, chociaż wciąż muszę dowiedzieć się, dlaczego.Uwaga: jest to jedno polecenie pierwszego hosta, który wywołuje ssh przy dwukrotnie z A-> B i od B-> C . Możesz również podzielić to na osobne polecenia, jak opisano poniżej.
Bonus: za połączenie trzech serwerów proxy ...
To znaczy
A->B->C->D->Internet
Pamiętaj, że dla każdego przeskoku potrzebujesz dodatkowego pasującego forwardera
-L
na poprzednich hostach w łańcuchu.Bibliografia:
źródło
Doskonała odpowiedź glallen wykorzystująca SSH wykona zadanie. Jednak właściwym sposobem na osiągnięcie tego jest użycie
proxychains
programu. ProxyChains to potężne narzędzie, które pozwala łatwo korzystać z wielu serwerów proxy jednocześnie. Na przykład jest wykorzystywany przez hakerów do ukrywania swojej tożsamości podczas przeprowadzania ataków internetowych - łącząc grupę serwerów proxy na całym świecie, praktycznie niemożliwe jest, aby śledczy śledzili ruch aż do nich. Nie wspominając o tym, że jesteś złośliwym hakerem - zadziała w wielu różnych przypadkach. ;)ProxyChains jest instalowany domyślnie w niektórych dystrybucjach Linuksa (takich jak Kali Linux). Na przykład w systemie Ubuntu / Debian można go łatwo zainstalować, wykonując:
sudo apt-get install proxychains
Proxychains szuka pliku konfiguracyjnego pod adresem
/etc/proxychains.conf
. Po zainstalowaniu wykonaj kopię zapasową istniejącego pliku konfiguracyjnego Proxychains (jeśli istnieje) i utwórz nowy:mv /etc/proxychains.conf /etc/proxychains-backup.conf
nano /etc/proxychains.conf
Teraz wklej w tej przykładowej konfiguracji, którą dla ciebie napisałem:
W tym przykładzie
192.168.1.1
jest adresem IP pierwszego serwera proxy SOCKS,8888
portem, na którym nasłuchuje pierwszy serwer proxy SOCKS,192.168.1.2
adresem IP drugiego serwera proxy SOCKS,8157
portem, na którym nasłuchuje drugi serwer proxy SOCKS, i tak dalej.Teraz skorzystaj z serwerów proxy, wykonując
proxychains firefox
z wiersza polecenia, aby uruchomić Firefoksa. (Upewnij się, że Firefox jest najpierw zamknięty). Teraz, gdy Firefox nawiąże połączenie wychodzące, program proxy będzie obudowywać ruch tak, aby był on proxy przez wszystkie serwery określone w tym pliku konfiguracyjnym. Żeby było jasne, w ustawieniach przeglądarki Firefox nie powinieneś określać ŻADNYCH serwerów proxy - serwery proxy zajmą się wszystkim za kulisami.Pamiętaj, że do celów rozwiązywania problemów powinieneś prawdopodobnie spróbować uruchomić go za pomocą 1 serwera proxy naraz, zanim wypróbujesz wszystkie 3.;)
Bibliografia:
proxychains-ng
(rozwidlenie oryginalnych serwerów proxy, które nadal są utrzymywane od 2015 r.): Https://github.com/rofl0r/proxychains-ngźródło