W obliczu ograniczeń w Internecie, wiele osób decyduje się na korzystanie z „serwerów proxy” oraz usług VPN. Te narzędzia są przydatne w omijaniu cenzury politycznej czy restrykcji w miejscach pracy, a także dla tych, którzy pragną zwiększyć swoją prywatność w sieci. Zarówno usługi VPN, jak i publiczne serwery proxy są łatwo dostępne i proste w konfiguracji. Użytkownicy systemu Linux mają natomiast efektywny sposób na przełamywanie restrykcji sieciowych i zabezpieczanie swojej prywatności poprzez utworzenie tunelu SSH.
Mechanizm działania tunelowania
Tunelowanie to proces tworzenia „rury” lub „tunelu”, który łączy host serwera z klientem, co pozwala na przekazywanie ruchu z jednego punktu do drugiego. Dzięki temu użytkownik może odczuwać, jakby korzystał z połączenia internetowego serwera, zamiast tego, na którym faktycznie się znajduje.
Realizacja tunelowania opiera się na protokole Secure Shell (SSH), który nie wymaga posiadania domowego serwera. To z uwagi na to, że uruchomienie serwera SSH jest stosunkowo lekkim zadaniem. Można go nawet uruchomić na smartfonie, jeśli tylko będzie taka potrzeba.
Jak skonfigurować tunel
Do utworzenia tunelu SSH potrzebny jest serwer SSH. Na szczęście proces jego konfiguracji jest dość prosty. Rozpocznij od zainstalowania oprogramowania SSH oraz komponentu serwera. Komenda, którą należy użyć, różni się w zależności od systemu operacyjnego.
Ubuntu
sudo apt install openssh-server
Arch Linux
sudo pacman -S openssh sudo systemctl enable sshd sudo systemctl start sshd
Debian
sudo apt-get install openssh-server
Fedora / OpenSUSE
Użytkownicy Fedory i OpenSUSE mogą zauważyć, że SSH jest już zainstalowane w systemie, jednak nie jest domyślnie aktywne. Można je włączyć przy pomocy następujących poleceń:
sudo systemctl enable sshd sudo systemctl start sshd
Po zainstalowaniu serwera można przystąpić do tunelowania.
Proxy SOCKS
Najbardziej efektywną metodą tunelowania jest tunelowanie dynamiczne. Dzięki temu można zabezpieczyć ruch internetowy, co jest kluczowe dla ochrony prywatności. Ponadto tunel SSH działa jako proxy SOCKS, co uniemożliwia innym podsłuchiwanie połączenia.
ssh -C -D 1080 remote@ip-address
Nie zapomnij zastąpić „remote@ip-address” właściwą nazwą użytkownika oraz adresem IP komputera, do którego chcesz nawiązać tunel.
Konfiguracja Firefoksa
Bez względu na typ tunelu, do przeglądania Internetu niezbędna jest konfiguracja ustawień proxy. Warto zaznaczyć, że serwery proxy SOCKS działają dobrze w większości przeglądarek, jednak najlepszą opcją jest Firefox, ze względu na swoje zaawansowane możliwości.
Aby rozpocząć, otwórz przeglądarkę Firefox, kliknij ikonę menu, a następnie wybierz „Preferencje”. Przejdź do zakładki „Zaawansowane” i wybierz sekcję „Sieć”.
W obszarze sieci kliknij „Ustawienia”, aby otworzyć opcje proxy.
Wybierz „Konfiguracja ręczna”, zaznacz pole wyboru i wprowadź „127.0.0.1” w polu SOCKS HOST. Użyj portu „8888”, a następnie kliknij „OK” i otwórz nową kartę, wpisując „about:config” w pasku adresu URL.
Ustawienia w Firefoxie: about:config
W sekcji konfiguracji Firefoksa bardziej zaawansowani użytkownicy mogą zmieniać wewnętrzne parametry przeglądarki. Aby serwer proxy SOCKS działał prawidłowo, trzeba dostosować jedno ustawienie.
Na stronie about:config zaakceptuj wyświetlane ostrzeżenie, aby kontynuować. Możesz odznaczyć opcję, jeśli nie chcesz, aby ostrzeżenie pojawiało się ponownie.
W pasku wyszukiwania wpisz „network.proxy.socks_remote_dns”. Znajdź opcję ustawioną na „False” i kliknij ją dwukrotnie, by zmieniła się na „True”. Po tej zmianie serwer proxy SOCKS powinien działać, a Ty będziesz mógł przeglądać Internet.
Uwaga: po rozłączeniu tunelu SSH, połączenie zostanie przerwane. Dodatkowo, jeśli chcesz korzystać z Firefoksa w trybie normalnym, musisz przywrócić pierwotne ustawienia sieciowe, w przeciwnym razie przeglądarka nie będzie działać prawidłowo.
Podstawowy tunel lokalny
Ten typ tunelu przesyła połączenie lokalne do zdalnego serwera. Jest szczególnie przydatny, gdy chcesz połączyć się z serwerem zdalnym. Jeśli nie zależy Ci na prywatności i chcesz jedynie uzyskać zdalne połączenie, skorzystaj z lokalnego tunelu.
ssh -L 8888:localhost:80 remote@ip-address
Podsumowanie
Tunelowanie za pomocą SSH to doskonały sposób na prywatne kierowanie ruchu internetowego na żądanie. Jest to również korzystna alternatywa dla korzystania z VPN, zwłaszcza gdy budżet na to nie pozwala. Choć korzystanie z VPN w systemie Linux ma swoje zalety, są sytuacje, w których tunel SSH może być bardziej odpowiedni. Jeśli potrzebujesz szybkiego i bezpiecznego sposobu na kierowanie ruchu online w systemie Linux, stwórz tunel SSH.