Jak tunelować ruch internetowy za pomocą SSH Secure Shell

  • Edmund Richardson
  • 0
  • 1173
  • 204
Reklama

Jeśli jesteś użytkownikiem systemu Linux lub UNIX, prawdopodobnie używasz SSH (Secure Shell), aby uzyskać zdalny dostęp do wiersza poleceń na swoich komputerach. Oprócz zapewnienia bezpiecznego dostępu do kont Shell, SSH może również bezpiecznie transportować inne rodzaje ruchu sieciowego. W pewnym sensie może zapewnić szybką i łatwą sieć VPN (Virtual Private Network) do sieci zdalnej, w której znajduje się serwer SSH.

Po pierwsze, oczywiście potrzebujesz gdzieś działającego serwera SSH. Linux i OS X są dostarczane z serwerami SSH, ale istnieją również serwery SSH dostępne dla systemu Windows. freeSSHd to fajny darmowy serwer SSH dla Windows. Jest to szybka i łatwa instalacja, a także stosunkowo łatwa w konfiguracji. Będziesz oczywiście potrzebować uprawnień administratora na komputerze, na którym go zainstalujesz.

Ponieważ będziesz uzyskiwać dostęp do serwera SSH zdalnie, jeśli znajduje się on za zaporą ogniową lub routerem, musisz upewnić się, że port 22 (domyślny port SSH) jest prawidłowo do niego przesłany. Większość routerów ma możliwość przekazywania portów do poszczególnych komputerów w sieci lokalnej. W tym celu należy zapoznać się z instrukcjami dla routera / zapory.

Po skonfigurowaniu serwera SSH w taki sposób, aby można było się z nim połączyć z dowolnego połączenia internetowego, oczywiście potrzebujesz klienta, aby się z nim połączyć. Linux i OS X mają wbudowanych klientów SSH. Jeśli korzystasz z systemu Windows, wybranym klientem jest PuTTY. Dostarczę instrukcje dotyczące tunelowania za pomocą PuTTY, ale z pewnością możesz również korzystać z innych klientów.

Najpierw podaj adres swojego serwera SSH w Sesja Sekcja. Wybierz SSH dla Rodzaj połączenia i wejdź 22 dla Port (lub jakikolwiek zewnętrzny port internetowy, którego używasz do łączenia się z serwerem SSH).

Następnie przejdź do Połączenie > SSH > Tunele. Istnieją trzy rodzaje tuneli, które możesz skonfigurować:

  • Dynamiczny - Działa to jak serwer proxy SOCKS, którego można użyć do tunelowania ruchu w sieci, w której znajduje się serwer SSH. Następnie możesz skonfigurować aplikacje, które obsługują proxy SOCKS (takie jak przeglądarka internetowa), aby z niego korzystać. Pokażę, jak skonfigurować Firefoksa do pracy przez dynamiczny tunel.
  • Lokalny - Lokalny tunel pozwoli ci połączyć się z określonym portem na komputerze rezydującym w tej samej sieci co serwer SSH. Jednym z użytecznych przykładów, które pokażę, jest sposób połączenia z komputerem z systemem Windows i uruchomionym Pulpitem zdalnym.
  • Zdalny - Jak sama nazwa wskazuje, jest to odwrotność lokalnego tunelu. Prawdopodobnie rzadziej używasz tego, ale pozwoliłoby to komputerom w sieci serwerów SSH na dostęp do komputera i portu w sieci, w której znajduje się klient SSH. W tym artykule nie omówię żadnych przykładów konfigurowania zdalnego portu.

Tak więc w przykładzie, który przedstawię, powiemy, że sieć domowa ma dwa komputery. Jednym z nich jest system Linux z serwerem SSH, a drugi to system Windows z włączonym Pulpitem zdalnym. Chcemy skonfigurować dwa tunele: tunel dynamiczny i tunel lokalny, aby połączyć się z komputerem z systemem Windows za pośrednictwem pulpitu zdalnego.

Najpierw skonfigurujmy tunel dynamiczny dla portu 1080. Port używany przez tunel dynamiczny jest właściwie dowolny, ale ponieważ port 1080 jest często używany do serwerów proxy SOCKS, tego właśnie użyjemy. Wpisz 1080 w Port źródłowy pole, wybierz Dynamiczny jako typ portu, a następnie kliknij Dodaj przycisk.

Następnie skonfigurujmy tunel lokalny dla komputera w sieci z systemem Windows Remote Desktop. Załóżmy, że lokalne adresy IP w sieci LAN, w której znajduje się serwer SSH, to 192.168.1.xxx. Komputer z systemem Windows ma lokalny adres IP 192.168.1.100. Wpisz 3390 dla Port źródłowy, 192.168.1.100:3389 dla przeznaczenie, Wybierz Lokalny dla typu portu, a następnie kliknij Dodaj przycisk. Zobaczysz później, dlaczego skonfigurowałem port źródłowy tak, aby był inny niż docelowy.

Po skonfigurowaniu wszystkich ustawień połączenia wróć do Sesja sekcji i zapisz swoje połączenie. Następnie kliknij otwarty i zaloguj się do swojego Linux-a przy użyciu swoich poświadczeń, jak zwykle.

Teraz musisz skonfigurować aplikacje, aby korzystały z skonfigurowanych tuneli. Powiedzmy, że chcesz przeglądać internet w utworzonym przez nas dynamicznym tunelu. To jest naprawdę niezwykle przydatny sposób na skorzystanie z SSH.

Możesz być w sieci z zaporą ogniową lub filtrowaniem treści, które chcesz ominąć. Jeśli możesz wyjść na port 22 (lub inny port, musisz tylko odpowiednio skonfigurować serwer SSH), będziesz mógł surfować w dowolnym miejscu bez problemu przez dynamiczny tunel.

Jest to również przydatne, jeśli surfujesz w sieci, w której możesz się martwić, że inni obserwują Twój ruch. Być może łączysz się z hotelu, strony klienta lub z pracy (nie nauczyłeś się tego ode mnie) i nie chcesz, aby inni monitorowali Twój ruch.

Najlepszym wyborem jest użycie przeglądarki Firefox, ponieważ Firefox umożliwia skonfigurowanie przeglądarki tak, aby wysyłała również żądania DNS za pośrednictwem serwera proxy. Jeśli korzystasz z Internet Explorera, twoje żądania DNS są nadal wysyłane przez sieć lokalną, z której się łączysz, a zatem mogą być nadal monitorowane. Tak więc Firefox byłby preferowaną przeglądarką, jeśli chcesz zachować prywatność w sieci, z której się łączysz.

Aby skonfigurować Firefoksa do używania tunelu dynamicznego jako serwera proxy SOCKS, przejdź do przeglądarki Firefox Opcje > zaawansowane > Sieć i kliknij Ustawienia”¦ przycisk. Na stronie ustawień kliknij Ręczna konfiguracja proxy, wpisz localhost dla Host SOCKS, i 1080 dla Port.

Jeszcze nie skończyliśmy. Nadal musimy skonfigurować Firefoksa, aby wysyłał również żądania DNS do proxy SOCKS. Aby to zrobić, wpisz about: config w pasku nawigacyjnym w przeglądarce Firefox. Może pojawić się monit z pytaniem, czy wiesz, co robisz. Zapewnij Firefoksa, że ​​wiesz, co robisz, i kontynuuj.

Wpisz socks_remote_dns dla Filtr i naciśnij enter. Powinieneś zobaczyć jedną opcję, która mówi network.proxy.socks_remote_dns. Jeśli jest to fałszywe dla Wartość, kliknij dwukrotnie, aby napisał „prawda”. Wszystko gotowe. Powinieneś być w stanie surfować po Internecie przez nowy bezpieczny dynamiczny tunel!

Na szczęście łączenie się z naszą maszyną pulpitu zdalnego Windows jest znacznie łatwiejsze. Wystarczy uruchomić klienta usług pulpitu zdalnego i wpisać localhost: 3390 jako adres komputera. To wszystko!

Ustawiliśmy port źródłowy na 3390, ponieważ klient pulpitu zdalnego nie zezwala na połączenie z domyślnym portem pulpitu zdalnego (3389) na komputerze lokalnym. Dlatego właśnie użyliśmy 3390 (moglibyśmy użyć dowolnego portu, ja po prostu używam 3390, ponieważ łatwo mi zapamiętać).

Port źródłowy używany do konfigurowania tuneli jest dowolny. Gdybyśmy chcieli, moglibyśmy użyć 1234 zamiast 3390, o ile nic nie działa na lokalnej maszynie w porcie 1234. To, co nie jest arbitralne, to to, czego używasz na docelowym adresie IP i porcie. W tym celu musisz użyć właściwego adresu IP i portu dla usługi, z którą chcesz się połączyć.

Możesz skonfigurować tunel dla dowolnej usługi na dowolnym adresie IP w dowolnym miejscu. Musisz tylko skonfigurować program do łączenia się z hostem lokalnym na porcie źródłowym skonfigurowanym dla tunelu. Jest to całkiem sprytny sposób na połączenie się z rzeczami, których w przeciwnym razie możesz nie być w stanie, z powodu problemów z zaporą sieciową, które możesz napotkać. Wystarczy tylko jeden port, aby dostać się do serwera SSH, i oczywiście musi on działać na tym porcie.

Czy korzystasz z tuneli SSH? Do jakich fajnych rzeczy ich używasz?

Zdjęcie kredytowe: kreg.steppe




Jeszcze bez komentarzy

O nowoczesnej technologii, prostej i niedrogiej.
Twój przewodnik w świecie nowoczesnych technologii. Dowiedz się, jak korzystać z technologii i gadżetów, które nas otaczają każdego dnia i dowiedz się, jak odkrywać ciekawe rzeczy w Internecie.