Niedawno „kupiłem” VPS, którego chcę używać jako proxy, aby móc korzystać z niektórych stron i rzeczy, do których nie mogę dotrzeć z Niemiec.
Ponieważ byłem zbyt leniwy, aby skonfigurować Squid i OpenVPN (co obecnie uważam za potrzebne), używam tunelowania ssh.
Teraz po kilku tygodniach zadałem sobie pytanie, czy tunelowanie ssh nie jest po prostu w porządku, czy - i to jest moje pytanie - czy są jakieś zastrzeżenia / wady / wady, o których muszę pamiętać?
ssh
proxy
ssh-tunneling
Nils Riedemann
źródło
źródło
Odpowiedzi:
Problem z wydajnością powstaje podczas tunelowania TCP przez TCP, ponieważ dwie warstwy wykonują korekty adaptacyjne (powolny start, unikanie zatorów, szybka transmisja, patrz RFC2001 ).
Nie znając się nawzajem, napotkają wielkie trudności, jeśli stracisz połączenie zewnętrzne.
Ta strona szczegółowo opisuje to zjawisko.
edytować:
Zamiast trzymać się problemu TCP przez TCP, spójrz na sshuttle, który mu zapobiega.
Zajrzyj do sekcji o nazwie „ Teoria działania ”, aby uzyskać więcej informacji na temat tej sytuacji.
źródło
tun/tap
tunelowanie, które skutkuje tcp-over-tcp. SOCKSv5 nie cierpi z powodu tych samych problemów, ale nie działa transparentnie ze wszystkimi aplikacjami (podczas gdy tun / tap jest tylko kolejnym interfejsem sieciowym, więc można go obsługiwać w przejrzysty sposób).Jedyną rzeczą, o której mogę myśleć z umysłu, jest wydajność. Ale to naprawdę zależy od tego, jakie rzeczy tunelujesz.
źródło
Zwykle stwierdziłem, że opóźnienie wzrasta, ale przepustowość jest w porządku (90%) normalna w przypadku tunelowania SSH. Pamiętaj, aby ustawić,
ServerAliveInterval
aby zapobiec rozłączaniu, i zawiń go w skrypcie, aby ponownie uruchamiał tunel po awarii.Główną wadą jest to, że jest to tunel portu na TCP, chyba że używasz SOCKS. SOCKS jest w porządku, ale opóźnienie wydaje się z nim jeszcze bardziej zwiększać, i oczywiście nie każdy klient obsługuje SOCKS.
Może być konieczne uruchomienie
GatewayPorts
na kliencie lub serwerze SSH, aby umożliwić innym łączenie się przez twój tunel. Na serwerze wymaga to dostępu root do sshd_config.Głównym zastrzeżeniem dotyczącym wydajności (jak zauważają inni) jest to, że niewiarygodne połączenia prawdopodobnie nie radzą sobie dobrze z tym podejściem, ponieważ algorytmy TCP nie reagują dobrze w przypadku enkapsulacji.
To powiedziawszy, SSH wydaje się „robić właściwie” przez większość czasu.
źródło