Wirtualna sieć prywatna (VPN) to jeden ze sposobów maskowania Twojej tożsamości i lokalizacji przez Internet. Ponadto, jeśli zdalnie próbujesz połączyć się z miejscem pracy lub urządzenia domowym, VPN przydaje się do kierowania ruchem. Masz możliwość zakupu VPN z zaufanych źródeł, a nawet tworzenia własnego nad SSH.
Outsourcing VPNS stanowią różne ryzyko bezpieczeństwa. Możesz jednak utworzyć połączenie VPN z komputera hosta i połączyć się z urządzeniem zdalnym za pośrednictwem SSH z poleceniem Sshuttle Linux. Musisz mieć zainstalowany Python na komputerze hosta i być podłączony jako root, aby to działało. Jeśli chodzi o maszynę zdalną, nie musi być root. Pod warunkiem, że masz hasło, sshuttle będzie działać dobrze.
Ponadto, gdy połączenie zostanie ustanowione, Sshuttle prześle kod źródłowy Python do zdalnego komputera, eliminując kłopotów, które musisz zainstalować Python.
Jak zainstalować Sshuttle
Instalowanie sshuttle jest proste. Jeśli jesteś w Debian lub Ubuntu, użyj następującego polecenia, aby zainstalować je z menedżera pakietu:
1 | $ sudo apt-get instaluj sshuttle |
Użyj następującego polecenia, jeśli używasz Fedory, Rhel lub Centos. Alternatywnie możesz sklonować jego repozytorium GIT i uruchomić plik konfiguracji.
1 2 3 4 5 | $ sudo dnf instaluj sshuttle |
Używanie sshuttle do skonfigurowania VPN
Najpierw musisz zainstalować Sshuttle na komputerze hosta, aby utworzyć połączenie VPN. Ponadto potrzebujesz nazwy hosta i adresu IP zdalnego urządzenia.
Istnieją różne sposoby korzystania z sshuttle.
Przesłuchanie wszystkich połączeń lokalnych
Najlepszym sposobem testowania sshuttle jest zasięgnięcie wszystkich lokalnych połączeń bez angażowania SSH. Poleceniem tego jest:
1 | $ sshuttle -v 0/0 |
Testowanie połączenia z serwerem zdalnym
Możliwe jest przetestowanie połączenia z zdalnym komputerem za pomocą sshuttle. Używamy "-N" opcja umożliwienia serwera podjęcia decyzji o trasie i "-H" dla auto-gospodarzy. Nasze polecenie będzie:
1 | $ sshuttle -vnhr [email protected] |
IP jest zdalnym maszyną, którą testujemy.
Tunelowanie całego ruchu
Możesz użyć sshuttle do tunelowania całego ruchu na zdalnym serwerze SSH. Zauważ, że Sshuttle przesyła tylko żądania DNS i ruch TCP do zdalnego serwera. Inne protokoły, takie jak UDP, nie są obsługiwane.
1 | $ sshuttle - -dns -vr [email protected] 0/0 |
0/0 to stenografia dla serwera DNS 0.0.0.0, „Kyle” to nazwa użytkownika zdalnego serwera i 192.168.88.217 to jego adres IP. Ponadto połączenie powinno wskazywać "połączony" Aby pokazać, że utworzony VPN działa.
Z wyłączeniem określonego ruchu
"-X" Opcja wyklucza pewien ruch podczas korzystania z Sshuttle. Podaj adres IP, który ma zostać wykluczony w tunelu. Na przykład, aby wykluczyć „192.168.88. 21 ”, Polecenie będzie jak pokazano poniżej:
1 | $ sshuttle - -dns -vr [email protected] -x 192.168.88.21 |
Tunelowanie określonych podsieci
Podobnie jak z wyłączeniem określonego ruchu, możesz wybrać, które podsieci będą prowadzić przez utworzone VPN. Możesz określić adres IP lub zakresy podsieci. Na przykład, aby określić dany adres IP i zakres podsieci, poleceniem będzie:
1 | $ sudo sshuttle -r użytkownik@remote_host 192.168.88.2/24 192.168.0.0/16 |
Jedyny ruch, który zostanie tunelowany, dotyczy określonych podsieci IP, klasy B i C. Określanie podsieci do tunelu działa najlepiej w przypadku wielu hostów w obszernej sieci, ponieważ nie wszystkie połączenia wymagają VPN. Możesz także dodać „-Dns” opcja przekazywania zapytania DNS do serwera.
Wniosek
Istnieje ryzyko zakupu lub korzystania z publicznie dostępnych VPN do tunelowania połączeń. Podczas pracy z serwerami i zdalnymi maszynami może być konieczne kierowanie ruchu i zapewnić mu bezpieczeństwo za pomocą VPN. Ten przewodnik obejmował sposób zainstalowania narzędzia Sshuttle Linux, które umożliwia utworzenie VPN przez połączenie SSH. Z Sshuttle nie musisz już martwić się o VPN. Daje ci ochronę potrzebną do ruchu podczas korzystania z systemów Linux.