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 zdalnej sieci, 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 niezły 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. Aby to zrobić, musisz 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, klient jest z wyboru Kit. 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ć Firefox do pracy przez dynamiczny tunel.
- Lokalny - Lokalny tunel pozwoli ci połączyć się z określonym portem na maszynie znajdującej się 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 przedstawię ż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 stwórzmy dynamiczny tunel dla portu 1080. Port używany do dynamicznego tunelu jest w rzeczywistości 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 Miejsce docelowe, Wybierz Lokalny dla typu portu, a następnie kliknij Dodaj przycisk. Później dowiesz się, 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. Załóżmy, że chcesz przeglądać internet w utworzonym przez nas dynamicznym tunelu. To jest naprawdę bardzo 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ść z portu 22 (lub innego portu), musisz tylko skonfigurować serwer SSH odpowiednio), 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, wprowadź localhost dla Host SOCKSi 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 na 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 na nim, aby napisał „prawda”. Wszystko gotowe. Powinieneś być w stanie surfować po Internecie przez nowy bezpieczny dynamiczny tunel!
Na szczęście połączenie 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 zamiast tego 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 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, ze względu na problemy z zaporą. Wszystko, czego potrzebujesz, to 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 używasz ich?
Kredyt zdjęciowy: kreg.steppe
Jestem dość typowym maniakiem, który spędza godziny przed monitorem komputera w pracy, a także w domu. Lubię też tworzyć fajne narzędzia i gadżety.