Popularny post Marcin648 Napisano Luty 11, 2021 Popularny post Udostępnij Napisano Luty 11, 2021 Wstęp Jesteś na wakacjach albo posiadasz dwa mieszkania i bardzo chcesz podejrzeć wykresy z grafany, sprawdzić temperaturę w mieszkaniu czy zdalnie sterować światłem przez domoticz. Napotykasz pewien problem. Twoje urządzenia działają w twojej sieci domowej, nie masz możliwości bezpośredniego połączenia się z internetu. Możemy rozwiązać ten problem, odpowiednio konfigurując swoje urządzenia sieciowe, jednak to rozwiązanie ma wiele wad. Wystawienie swoich urządzeń IoT bezpośrednio do internetu może narazić je na ataki internetowe. W dzisiejszych czasach nie jest to niczym dziwnym. Przekonał się o tym chyba każdy kto udostępnił usługę SSH, a już po paru minutach mógł zobaczyć setki prób logowania z egzotycznych adresów IP w swoim /var/log/auth.log. Istnieje wiele metod zabezpieczeń tak wystawionych usług od stosowania trudnych haseł po wysyłanie serii pakietów na odpowiednie kombinacje portów sieciowych w celu autoryzacji (Port knocking) Wirtualna sieć prywatna Otwieranie portów do internetu wydaje się złym pomysłem i tutaj z pomocą przychodzą nam wirtualne sieci prywatne (VPN). Możliwe, że kojarzysz VPN z usługami anonimizujących twoje działania w internecie. Jest to jedna z korzyści, które może posiadać sieć VPN, ale to nie na tej funkcji skupimy się w tym artykule. Ten artykuł bierze udział w naszym konkursie! 🔥 Na zwycięzców czekają karty podarunkowe Allegro, m.in.: 2000 zł, 1000 zł i 500 zł. Potrafisz napisać podobny poradnik? Opublikuj go na forum i zgłoś się do konkursu! Czekamy na ciekawe teksty związane z elektroniką i programowaniem. Sprawdź szczegóły » Sieci VPN umożliwiają połączenie naszych urządzeń w jedną sieć, niezależnie od tego, gdzie aktualnie znajduje się dane urządzenie. Byle by miało połączenie do głównego serwera. Rozwiązanie to doskonale sprawdza się od wielu lat w sieciach firmowych, gdzie pracownicy są w stanie bezpiecznie podłączyć się do firmowego serwera bezpośrednio ze swojego domu. Rozwiązanie to jednak jest trudne w konfiguracji i wymaga serwera centralnego z dobrym połączeniem sieciowym, który musi być dostępny z internetu. Więc czy istnieje darmowe rozwiązanie, które będzie zawierać wszystkie zalety sieci VPN, nie będzie wymagać dodatkowego serwera oraz jednocześnie będzie omijać wszystkie przeszkody w postaci braku publicznego adresu ip? Istnieje! VPN peer to peer. Tak p2p, technologia znana zapewne użytkownikom protokołu BitTorrent jednak tutaj wykorzystujemy go do zestawiania połączeń sieciowych. ZeroTier Jednym z tego typu usług jest otwartoźródłowa aplikacja na licencji BSL o nazwie ZeroTier. Umożliwia ona tworzenie zdecentralizowanych wirtualnych sieci, czyli takich, które nie wykorzystują żadnego serwera centralnego. Dzięki zastosowaniu szyfrowanego połączenia bezpośrednio między naszymi urządzeniami, omijamy potrzebę wymiany naszych pakietów przez serwer pośredniczący, dzięki czemu ten nie ogranicza nas swoją przepustowością sieci. Połączenie takie nie tylko jest bezpieczne, ale też zapewnia niskie opóźnienia, co może mieć kluczowe znaczenie, jeśli chcemy wykorzystać to rozwiązanie do zastosowań rozrywkowych jak granie w gry czy udostępnianie pulpitu zdalnego. Rejestracja Na początku musimy zarejestrować się w usłudze ZeroTier. Przechodzimy na adres Centrali ZeroTier oraz wypełniamy formularz kryjący się pod przyciskiem Register. Alternatywą jest zalogowanie się, korzystając z kont usług Google, Github lub Microsoft. Tworzenie nowej sieci Po zalogowaniu się do Centrali ZeroTier w zakładce Network klikamy na przycisk z napisem Create A Network. Natychmiastowo na liście sieci pojawi się nam nasza nowo utworzona sieć. Wyróżnić możemy Identyfikator składający się z liter i cyfr, losowa nazwa, aktualna podsieć i ilość urządzeń online i offline. Przechodzimy do konfiguracji klikając w ID naszej sieci na liście. W zakładce Settings -> Basic możemy ustawić nazwę (Name) oraz opis (Description) dla naszej sieci. Jest to zabieg mający na celu łatwiejszą identyfikację na liście sieci, jeśli byśmy posiadali ich więcej. Ustawienie Access Control ustawiamy na PRIVATE, dzięki czemu każdy nowy klient w naszej sieci będzie musiał zostać zaakceptowany ręcznie. Zapobiegnie to niechcianym intruzom. Zakładka Advanced zawiera ustawienia dotyczące adresacji naszej sieci. Pewnie zaawansowani administratorzy poczują się tutaj jak ryba w wodzie. Opcji jest wiele, możemy zarządzać wirtualnym routerem, dowolnie przypisywać prywatne adresy ip lub zdecydować się na statyczne adresowanie. Dla mniej zaawansowanym użytkowników zalecam tutaj ustawić tylko zakres adresów IPv4 Auto-Assign na taki, który nie koliduje z naszymi lokalnymi sieciami domowymi. Na potrzeby tego artykułu wybrałem 10.144.*.* Zakładka Members zawiera listę aktualnie podłączonych użytkowników. Lista na razie jest pusta. Wszystkie zmiany są zapisywane na bieżąco. Dodawanie urządzeń do sieci Na potrzeby tego artykułu zestawimy sieć prywatną między dwoma urządzeniami. Raspberry Pi 2 Komputer z systemem Windows 10 ZeroTier można również z powodzeniem stosować na urządzeniach mobilnych z systemem Android lub iOS. Wszystkie możliwe opcje znajdziemy na stronie producenta. Linux (Raspberry Pi) Instalacja ZeroTier na urządzeniach z systemem Linux jest bardzo prosta. Ogranicza się ona do wykonania jednej komendy. Procedura może się różnić w zależności od dystrybucji systemu. Na początku musimy się zalogować do swojego urządzenia i uruchomić terminal. Warto upewnić się, że nas system jest aktualny. W tym celu wpisujemy w konsoli: sudo apt update; sudo apt full-upgrade; sudo apt autoremove; Następnie upewniamy się, że posiadamy w systemie narzędzie Curl poleceniem sudo apt install curl ZeroTier instalujemy poleceniem curl -s https://install.zerotier.com | sudo bash Po poprawnie wykonanej instalacji zobaczymy komunikat *** Success! You are ZeroTier address [ f2a983da64 ]. Interakcja z aplikacją odbywa się poprzez polecenie zerotier-cli Aby uzyskać informacje o dostępnych opcjach wpisujemy zerotier-cli --help Dołączamy do naszej sieci poprzez polecenie join oraz ID naszej sieci. sudo zerotier-cli join 565799d8f6699d5b Windows W systemie operacyjnym Windows w celu instalacji udajemy się na stronę producenta. Pobieramy instalator, klikając w ikonkę naszego systemu. Instalator następnie uruchamiamy i przeprowadzamy instalację. W czasie instalacji możemy zostać zapytani o dodanie wyjątku do zapory sieciowej, zgadamy się. Po instalacji program jest dostępny na pasku zadań, interakcje z nim przeprowadzamy poprzez przyciśnięcie prawego klawisza myszy na jego ikonie. Aby dołączyć do naszej sieci wybieramy opcję Join Network… Następnie podajemy ID naszej sieci z Centrali ZeroTier, w moim przypadku jest to 565799d8f6699d5b. Zatwierdzamy przyciskiem Join. Autoryzacja Ostatnim krokiem jest autoryzacja nowo dodanych urządzeń w panelu zarządzania naszą siecią. W tym celu w zakładce Members zaznaczamy pozycję Auth? Dla tych urządzeń, którym chcemy zezwolić na dostęp do sieci. Odczytujemy również jaki adres IP został przyznany z puli. Po tej czynności pozostało nam już tylko przetestować połączenie. W tym celu wykonujemy polecenie ping w konsoli systemu Windows z docelowym IP naszego Raspberry Pi w sieci zerotier ping 10.144.214.244 W systemach linux sprawdzamy, czy jest widoczna wirtualna karta sieciowa za pomocą polecenia sudo ifconfig Jeśli karta nie jest widoczna, spróbuj zresetować urządzenie. Podsumowanie Tym oto sposobem stworzyliśmy darmową bezpieczną sieć wirtualną dla naszych urządzeń IoT. Instalując aplikację na telefonie, jesteś w stanie kontrolować swoje urządzenia domowe, tak samo jakbyś był podłączony do swojej lokalnej sieci wifi. A jeśli będziesz kiedyś chciał pograć z kolegą “po lanie” to masz już alternatywę dla Hamachi. 😉 12 Cytuj Link do komentarza Share on other sites More sharing options...
Treker (Damian Szymański) Luty 13, 2021 Udostępnij Luty 13, 2021 @Marcin648 cześć Marcin, witam na forum i dziękuję za ciekawy artykuł! Zachęcam do stałej aktywności na forum PS Tym samym mamy już drugi artykuł, który bierze udział w naszym konkursie 🚀 1 Cytuj Link do komentarza Share on other sites More sharing options...
pisiorek Luty 15, 2021 Udostępnij Luty 15, 2021 (edytowany) @Marcin648 Świetny temat, dzięki za instrukcję. Już odpaliłem na kilku swoich urządzeniach. Chciałbym jeszcze ogarnąć w ten sposób dysk NAS D-Link DNS 320. Masz jakieś doświadczenie jak to postawić na takim dysku ? Edytowano Luty 15, 2021 przez pisiorek 1 Cytuj Link do komentarza Share on other sites More sharing options...
Marcin648 Luty 15, 2021 Autor tematu Udostępnij Luty 15, 2021 @pisiorek Nie mam doświadczenia z D-Link. Na QNAP pobierało się paczkę z oficjalnej strony i wgrywało jako dodatek do NAS'a. Przy D-Linku pewnie podobnie, tylko trzeba będzie poszukać paczki pewnie gdzieś na forach. 1 Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
Inari Marzec 2, 2021 Udostępnij Marzec 2, 2021 Czy w praktyce działa to tak, że zerotier jest węzłem pomiędzy naszymi komputerami, które się ze sobą łączą? Cytuj Link do komentarza Share on other sites More sharing options...
Marcin648 Marzec 2, 2021 Autor tematu Udostępnij Marzec 2, 2021 @Inari Właśnie innowacja tego rozwiązania polega na tym że serwery zerotier nie są pośrednikami w naszej wirtualnej sieci. Pakiety między naszymi urządzeniami latają bezpośrednio host-host. Rolą serwerów zerotier jest jedynie zestawienie połączenia. Analogicznie do trackera w technologii torrent. 2 Cytuj Link do komentarza Share on other sites More sharing options...
lukasz3428 Marzec 3, 2021 Udostępnij Marzec 3, 2021 Zerotier to świetna sprawa, używam od dłuższego czasu. 2 Cytuj Link do komentarza Share on other sites More sharing options...
Techkubas Maj 30, 2021 Udostępnij Maj 30, 2021 Świetna sprawa, tego potrzebowałem, aby móc łączyć się zdalnie z serwerem który jest w domu. Niestety nie mam publicznego IP więc żadne przekierowywanie portów, DDNS, DuckDNS, noIP czy inne wynalazki nie działały, a tutaj prosta instalacja, konfiguracja przez 2 klikniecia i gotowe. 1 Cytuj Link do komentarza Share on other sites More sharing options...
caporeira Wrzesień 24, 2021 Udostępnij Wrzesień 24, 2021 @Marcin648Jak skonfigurować ZeroTier na RPi aby służył jako bramka ? Chce za pomocą ZT połączyć się z RPi i mieć dostęp do innych urządzeń w domu - które nie mają możliwości zainstalowania ZT. Jak to zrobić ? Cytuj Link do komentarza Share on other sites More sharing options...
Marcin648 Wrzesień 24, 2021 Autor tematu Udostępnij Wrzesień 24, 2021 (edytowany) @caporeira Zostało to dość dokładnie opisane tutaj: https://zerotier.atlassian.net/wiki/spaces/SD/pages/193134593/Bridge+your+ZeroTier+and+local+network+with+a+RaspberryPi W skrócie polega to na takim ustawieniu IP oraz DHCP, aby obie sieci (lokalna, zerotier) były w tej samej podsieci, a adresy z DHCP nie nachodziły na siebie. Następnie zestawia się most między interfejsem lokalnym RPi a interfejsem ZeroTier. Osobiście nigdy tego nie robiłem, a korzystam z prostej funkcjonalności w SSH. SSH Umożliwia lokalne przekierowanie portów, co umożliwia w prosty sposób "wynieść" dany port, na adres raspberry. Jak to zrobić po SSH? Adresy IP w tym przykładzie: 192.168.0.1 - Adres IP RaspberryPi w sieci domowej 192.168.0.2 - Adres IP urządzenia 1, które nie ma ZT, interesująca nas usługa jest an porcie 8080 192.168.0.3 - Adres IP urządzenia 2, które nie ma ZT, interesująca nas usługa jest an porcie 8080 10.144.0.100 - Adres IP RaspberryPi w sieci ZeroTier Łączymy się do RaspberryPi po SSH. Na RaspberryPi łączymy się sami do siebie, dodatkowo udostępniając porty. W tym celu używamy komendy: ssh -NT 192.168.0.1 -p 22 \ -L 10.144.0.100:8080:192.168.0.2:8080 \ -L 10.144.0.100:8081:192.168.0.3:8080 Jeśli wszystko poszło dobrze, po wpisaniu hasła nie pojawi nam się znak zachęty, a kursor będzie tylko migał na początku linii. W powyższym przykładzie zwróć uwagę na kolejność ZERO_TIER:PORT:LOCAL_IP:PORT. Opcji -L możesz dopisać wiele. Ważne jest to, że nie możemy użyć dwa razy tego samego portu, dlatego urządzenie 192.168.0.3 z usługą na porcie 8080 zostało przekierowane na 8081, ponieważ port 8080 został już zajęty dla urządzenia 192.168.0.2. Teraz możemy przetestować działanie. Przykładowo jeśli na porcie obu urządzeń usługa to była strona internetowa, od teraz możemy do niej się dostać wpisując adres RaspberryPi oraz port na który przekierowaliśmy usługę. Jeśli wpisywaliśmy 192.168.0.3:8080 (sieć lokalna) w przeglądarkę, to teraz też mamy dostęp po 10.144.0.100:8081 (sieć ZT). Jeśli chcemy zakończyć udostępnianie portów wciskamy CTLR + C. Aby całość działała w tle 27/7, możemy użyć komendy screen lub podobnej. (szerzej tutaj tego nie opisałem) Edytowano Wrzesień 24, 2021 przez Marcin648 Cytuj Link do komentarza Share on other sites More sharing options...
caporeira Wrzesień 24, 2021 Udostępnij Wrzesień 24, 2021 @Marcin648 ogromny szacunek za ten szczegółowy opis. Jest to teraz dla mnie zrozumiałe. Twoje rozwiązanie bardziej mi się podoba od tego podlinkowanego, ale zależy mi na stałym przekierowaniu. Da się to gdzieś na sztywno skonfigurować i zapisać ? Cytuj Link do komentarza Share on other sites More sharing options...
Marcin648 Wrzesień 24, 2021 Autor tematu Udostępnij Wrzesień 24, 2021 (edytowany) @caporeira Nie kojarzę aby dało się to zrobić z konfiguracji SSH. Komendę można uruchomić dodatkowo z -f aby działała w tle, nawet jak się rozłączymy. Przykładowo ssh -fNT 127.0.0.1 -p 22 -L 0.0.0.0:8080:192.168.0.2:8080 -L 0.0.0.0:8081:192.168.0.3:8080 Aby wyłączyć należy za pomocą ps -x znaleźć PID odpowiedniego procesu ssh i zakończyć za pomocą kill <PID> Edytowano Wrzesień 24, 2021 przez Marcin648 Cytuj Link do komentarza Share on other sites More sharing options...
caporeira Wrzesień 25, 2021 Udostępnij Wrzesień 25, 2021 @Marcin648 ale już po restarcie maliny nie będzie działać ? Może da się to do autostartu dodać ? W tygodniu będę to testować 🙂 Cytuj Link do komentarza Share on other sites More sharing options...
Dejwuch Październik 4, 2021 Udostępnij Październik 4, 2021 Cześć, @Marcin648 bardzo fajny artykuł - szczególnie na początek zabawy z RP i VPN. I z tego też powodu mam (może nieco zielone) pytanie: mam postawiony ZeroTier na RP, ja z telefonu komunikuje się z RP po konkretnym adresie, a RP w ramach tego zapytania odpytuje urządzenia w tej samej sieci WIFI i odsyła mi odpowiedź z tych urządzeń. Czy jest ktoś w stanie naprowadzić jak to ugryźć ? Przypuszczam, że trochę podobna sytuacja co opisał @caporeira, ale bez przekierowania portów. Cytuj Link do komentarza Share on other sites More sharing options...
caporeira Październik 20, 2021 Udostępnij Październik 20, 2021 @Dejwuch Witaj, poczyniłeś postępy w tym temacie? Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!