Mogę użyć mojego komputera domowego A do połączenia przez SSH z serwerem B, na którym dostęp do sieci zewnętrznej jest zablokowany. Innymi słowy, wszystkie żądania wysyłane do Internetu z B zgłaszają błąd: Sieć jest nieosiągalna . Czy mogę przekierować wszystkie te żądania, aby przejść przez komputer A, który ma nieograniczony dostęp do Internetu?
Serwer B to serwer, który obsługuje jedną z moich stron internetowych. Chcę pobrać pliki, aby zainstalować oprogramowanie. Ale połączenie jest zablokowane. Udało mi się transfer plików, ale to było skomplikowane, ponieważ są różne wersje oprogramowania na A i B , więc w zależności gdzie inny i wymaga różnych plików na A i B .
Szukałem w Internecie i wydaje się, że potrzebuję tunelu zwrotnego. Ale znalazłem rozwiązania tylko w przypadku przekierowania portu . Ale to nie jest to, czego potrzebuję, ponieważ nie chcę, aby B miał dostęp do A, ale do Internetu.
źródło
Odpowiedzi:
Możesz uruchomić serwer proxy na komputerze A, z którym następnie łączy się komputer B, aby uzyskać dostęp do Internetu za pośrednictwem komputera A.
Coś takiego
Zainstaluj serwer proxy, taki jak squid, na A, który nasłuchuje na porcie 3128, a następnie możesz ssh do serwera w ten sposób -
ssh -L 3128:127.0.0.1:3128 user@B
Umożliwi to B dostęp do Internetu przez A
źródło
Po prostu dodając kilka więcej i wyraźnych kroków do odpowiedzi @Lawrence i @ SpiRail.
Wykonaj konfigurację w następujący sposób:
Konfiguracja na hoście A:
yum install squid
http_access deny all
następnie dodajhttp_access allow all
w /etc/squid/squid.conf/etc/squid/squid.conf
w następujący sposób:Konfiguracja na hoście B:
source /etc/environment
Teraz nasza konfiguracja jest zakończona.
Tworzenie tunelu SSH ze zdalnym przekierowaniem portów
Uruchom następujące polecenie SSH z hosta A.
ssh -R 3129:localhost:3128 user@HostB
Jeśli chcesz stworzyć trwały tunel SSH, możesz użyć autossh w następujący sposób:
autossh -M 20000 -f -NT -R 3129:localhost:3128 user@HostB
Aby powyższe polecenie autossh działało, powinieneś mieć skonfigurowane klucze SSH z HostA na HostB
Sprawdzanie Internetu:
wget https://google.com
Schemat przepływu ruchu :
źródło
Odpowiedź @ Lawrence'a była na tyle dobra, że wszystko załatwiłem. Ale oto bardziej szczegółowe kroki, które zastosowałem.
Użyłem tego do korzystania z mojego laptopa 4g dongle do kierowania Internetu do Raspberry Pi ze stałym połączeniem liniowym z routerem Wi-Fi.
Jeśli twój komputer to Mac: zainstaluj squidman http://squidman.net/squidman/
(nie tylko zwykła kałamarnica, miałem za dużo problemów z jej budowaniem) Domyślne ustawienia wydawały mi się wystarczająco dobre.
połącz się z 4g połącz z Wi-Fi - skonfiguruj statyczny adres IP na swoim Wi-Fi i usuń adres bramy (chyba że robisz zaawansowane rzeczy), w przeciwnym razie otrzymasz dwie domyślne trasy i to bardzo denerwujące. - upewnij się, że router Wi-Fi nie używa tego samego zakresu 192.168.xy (w tym przypadku skonfiguruj inne „x”)
Na PI
z visudo dodaj tekst:
Teraz wget będzie działać, podobnie jak sudo apt-get, abyś mógł instalować pakiety.
Jeśli chcesz gita, to tutaj: /programming/128035/how-do-i-pull-from-a-git-repository-through-an-http-proxy
źródło
visudo
tutaj rola ? Gdzie dodajesz tekst? (Nie mogę korzystaćsudo
z mojego hostingu)