Dataplicity – zdalny dostęp do Raspberry Pi bez publicznego IP
Dla każdego posiadacza Raspberry Pi kluczową kwestią pozostaje wygodny zdalny dostęp do urządzenia. O ile w lokalnej sieci sposobów na to jest bez liku, tak w przypadku chęci połączenia się z dowolnego miejsca na świecie sprawa jest już bardziej złożona. Szczególnie, jeśli nie jest się w posiadaniu publicznego IP. Rozwiązaniem tego problemu może być Dataplicity – usługa z mobilnym klientem, dzięki której do Maliny można zalogować się przez Internet bez wydatków na nowy adres.
24.11.2017 | aktual.: 24.11.2017 19:25
Instalacja
Proces instalacji Dataplicity nie mógł być prostszy. Wystarczy przejść pod adres dataplicity.com i tam podać adres e-mail. Po jego zatwierdzeniu wygenerowane zostanie polecenie z unikatowym ciągiem, które wystarczy wydać Malinie. Instalacja na jednopłytkowcu przebiega bez jakiejkolwiek ingerencji użytkownika. Po jej zakończoniu w terminalu wyświetlony zostanie link do przeglądarkowego interfejsu Dataplicity.
Na podanego maila wysłany zostanie także mail z linkiem weryfikacyjnym. Po aktywacji automatycznie zostanie utworzone konto użytkownika, z którym konkretny egzemplarz Raspberry Pi zostanie sparowany. Powiązanie zostanie utrzymane niezależnie od tego, gdzie użytkownik podłączy do Internetu swojego jednopłytkowca. W przeglądarkowym interfejsie Dataplicity można także dodawać kolejne urządzenia – każdorazowo polegać to będzie na wydaniu jednego polecenia.
Aby rozpocząć korzystanie ze zdalnego terminala, wystarczy przejść na dowolnym urządzeniu pod wygenerowany po instalacji na Raspberry adres.
Dostęp
Na dobry początek warto zyskać uprawnienia administratora. Po wprowadzeniu sprawdzającego użytkownika polecenia whoami okazuje się bowiem, że użytkownik korzysta z sesji dataplicity. Domyślnym administratorem Raspberry Pi jest pi, zatem wystarczy wprowadzić polecenie su pi i hasło, aby uzyskać pełen dostęp.
Usługa posiada aplikacje mobilne na Androida i iOS-a. Do logowania w nich używane są dane z założonego przy instalacji Dataplicity konta, zaś możliwości mobilnych klientów w pełni pokrywają się z funkcjonalnością aplikacji przeglądarkowej.
Otrzymujemy zatem dostęp nie tylko do terminala, ale także do menedżera zarządzania urządzeniami – z aplikacji mobilnych również można wydawać polecenia dla wielu Raspberry Pi (obsługiwane jest wyświetlanie różnych terminali w kartach, zupełnie jak w przeglądarce), jak i dodawać nowe – ta ostatnia funkcja jest zresztą ułatwiona. Za pierwszym razem wystarczy podłączyć się do tej samej sieci Wi-Fi, w której pracuje jednopłytkowiec, by po pacnięciu przycisku plusa aplikacja sama zaczęła skanować w poszukiwaniu komputera.
Dostępny jest także program przeznaczony na macOS-a oraz uniewersalna aplikacja na Windowsa – obie mają przewagę nad aplikacjami mobilnymi i przeglądarkową ze względu na dostępność narzędzi diagnostycznych. Za ich pomocą można na bieżąco śledzić obciążenie podzespołów Raspberry i ruch sieciowy.
Wormhole
Uzyskanie zdalnego dostępu do terminala Raspberry Pi jest głównym, ale też najbardziej podstawowym zastosowaniem Dataplicity. W aplikacji przeglądarkowej, na panelu bocznym, możliwe jest jednak włączenie funkcji Wormhole. Po jej włączeniu użytkownikowi zostaje przydzielona subdomena, po przejściu na którą każdy może połączyć się z Maliną na porcie 80. Oznacza to, że możemy na jednopłytkowcu przechowywać dowolne pliki i udostępniać je wszystkim. Może to być na przykład strona internetowa na serwerze nginx, który nie obciąży zanadto jednopłytkowca. Takie zastosowanie zaprezentujemy Wam już wkrótce.
Jak to działa?
Z Dataplicity można w ten sposób korzystać na Raspbianie, Ubuntu 14.04 i nowszym, Debianie oraz RetroPie. Instrukcje dla DietPi, Archa, Fedory i Kali dostępne są na stronie przedsięwzięcia. A to wszystko bez publicznego IP, bez przekazywania portów i bez konieczności konfiguracji DNS-ów. Naturalną reakcją na korzystanie z Dataplicity jest zatem zadanie sobie pytania – jak to działa? Zaraz potem – dlaczego jest darmowe? A w końcu – czy to bezpieczne? Śpieszymy z wyjaśnieniami.
Kluczowa jest tutaj infrastruktura dostarczana przez twórców Dataplicity, czyli routery połączone w sieć oportunistyczną, z którymi zainstalowany na Rapsberry klient łączy się przez protokół HTTPS. Połączenie opiera się na tym, ze to właśnie Malina (a w zasadzie klient na niej) jest inicjatorem ruchu, nie zaś użytkownik, który zdalnie próbuje się do Maliny dostać. Tak ominięto konieczność stosowania np. przekazywania portów: użytkownik nie musi łączyć się z Raspberry Pi, to połączenia z Raspberry są wyprowadzane do punktów dostępowych osiągalnych przez użytkownika.
O sprawności takiego rozwiązania można przekonać się na udostępnionej przez twórców stronie ze statusem całej infrastruktury. Ciekawą lekturą i kopalnią pomysłów może być także (dość ogólnikowa, trzeba przyznać) dokumentacja. Mobilne klienty Dataplicity znajdziecie w naszej bazie oprogramowania w wersji na Androida i OS-a