Zasilane przez ZeroTier. Praktyczny przewodnik po budowie wirtualnych sieci. Część 1

Zasilane przez ZeroTier. Praktyczny przewodnik po budowie wirtualnych sieci. Część 1
Kontynuując opowieść o ZeroTier, od teorii opisanej w artykule „Inteligentny przełącznik Ethernet dla planety Ziemia”, przechodzę do praktyki, w której:

  • Utworzymy i skonfigurujemy prywatny kontroler sieciowy
  • Utworzymy wirtualną sieć
  • Skonfigurujemy i podłączymy do niej węzły
  • Sprawdzimy łączność sieciową między nimi
  • Zablokujemy dostęp do GUI kontrolera sieciowego z zewnątrz

Kontroler sieciowy

Jak już wcześniej wspomniano, aby tworzyć wirtualne sieci, zarządzać nimi oraz podłączać węzły, użytkownik potrzebuje kontrolera sieciowego, którego graficzny interfejs (GUI) istnieje w dwóch wersjach:

Opcje ZeroTier GUI

  • Jedna od dewelopera ZeroTier, dostępna jako publiczne rozwiązanie chmurowe, oferowane w modelu SaaS, z czterema planami subskrypcyjnymi, w tym bezpłatnym, ale ograniczonym pod względem liczby zarządzanych urządzeń i poziomu wsparcia
  • Druga — od niezależnego dewelopera, nieco uproszczona funkcjonalnie, ale dostępna jako prywatne rozwiązanie open source, do użycia on-premise lub na zasobach chmurowych.

W swojej praktyce korzystałem z obu i ostatecznie zdecydowałem się na drugą. Przyczyną było ostrzeżenie dewelopera.

„Kontrolery sieciowe służą jako centra certyfikacji dla wirtualnych sieci ZeroTier. Pliki zawierające tajne klucze kontrolera muszą być ściśle chronione i niezawodnie archiwizowane. Ich kompromitacja pozwala nieautoryzowanym napastnikom tworzyć oszukańcze konfiguracje sieci, a ich utrata prowadzi do utraty zdolności do kontrolowania i zarządzania siecią, właściwie czyniąc ją bezużyteczną”

Link do dokumentacji

A także, oznaki własnej paranoi w dziedzinie bezpieczeństwa 🙂

  • Nawet jeśli przyjdzie CheburNet — muszę mieć dostęp do swojego kontrolera sieciowego;
  • Z kontrolera sieciowego powinien korzystać tylko ja. W razie potrzeby muszę udostępnić dostęp zaufanym osobom;
  • Powinna istnieć możliwość ograniczenia dostępu do kontrolera sieciowego z zewnątrz.

Nie widzę sensu w osobnym zatrzymywaniu się nad tym, jak zainstalować kontroler sieciowy i GUI na zasobach fizycznych lub wirtualnych typu on-premise. Istnieją ku temu trzy powody:

  • będzie ich więcej, niż planowałem.
  • o tym już mówiono. na GitHubie twórcy GUI.
  • temat artykułu dotyczy czego innego.

Dlatego, wybierając drogę mniejszego oporu, skorzystam w tej opowieści z kontrolera sieciowego z GUI opartego na VDS, stworzonym z szablonu, uprzejmie opracowanego przez moich kolegów z ProHoster.

Inicjalna konfiguracja

Po utworzeniu serwera z podanego szablonu, użytkownik uzyskuje dostęp do Web-GUI kontrolera przez przeglądarkę, kierując się pod adresem httрs://:3443

Zasilane przez ZeroTier. Praktyczny przewodnik po budowie wirtualnych sieci. Część 1
Domyślnie serwer już zawiera wstępnie utworzony certyfikat TLS/SSL z samopodpisem. Dla mnie to wystarczające, ponieważ ograniczam do niego dostęp z zewnątrz. Dla tych, którzy chcą używać innych typów certyfikatów, istnieje instrukcja instalacji na GitHubie twórcy GUI.

Podczas pierwszego logowania użytkownika Zaloguj się z domyślnymi nazwą użytkownika i hasłem — admin i hasło:

Zasilane przez ZeroTier. Praktyczny przewodnik po budowie wirtualnych sieci. Część 1
prosi o zmianę domyślniego hasła na hasło użytkownika.

Zasilane przez ZeroTier. Praktyczny przewodnik po budowie wirtualnych sieci. Część 1
Postępuję nieco inaczej — nie zmieniam hasła istniejącego użytkownika, a tworzę nowego — Utwórz użytkownika.

Nadaję nowemu użytkownikowi imię — Nazwa użytkownika:
Nadaję nowe hasło — Wprowadź nowe hasło:
Potwierdzam nowe hasło — Wprowadź ponownie hasło:

Wprowadzone znaki są czułe na wielkość liter — bądź ostrożny!

Pole wyboru potwierdzenia zmiany hasła przy następnym logowaniu — Zmień hasło przy następnym logowaniu: nie zaznaczam.

Aby potwierdzić wprowadzone dane, klikam Ustaw hasło:

Zasilane przez ZeroTier. Praktyczny przewodnik po budowie wirtualnych sieci. Część 1
Następnie: wylogowuję się — Wyloguj / Zaloguj się, już z danymi nowego użytkownika:

Zasilane przez ZeroTier. Praktyczny przewodnik po budowie wirtualnych sieci. Część 1
Następnie przechodzę do zakładki użytkownicy — Użytkownicy i usuwam użytkownika admin, klikając na ikonę kosza, która znajduje się po lewej stronie jego imienia.

Zasilane przez ZeroTier. Praktyczny przewodnik po budowie wirtualnych sieci. Część 1
W przyszłości hasło użytkownika można zmienić, klikając jego imię lub „ustaw hasło”.

Tworzenie wirtualnej sieci

Aby utworzyć wirtualną sieć, użytkownik musi przejść do zakładki Dodaj sieć. Można to zrealizować poprzez stronę User — główną stronę Web-GUI, na której wyświetlony jest adres ZeroTier tego kontrolera sieciowego oraz znajduje się link do strony z listą sieci, które przez niego utworzono. Home użytkownik nadaje nazwę nowo tworzonej sieci.

Zasilane przez ZeroTier. Praktyczny przewodnik po budowie wirtualnych sieci. Część 1
Na stronie Dodaj sieć Po zastosowaniu wprowadzonych danych —

Zasilane przez ZeroTier. Praktyczny przewodnik po budowie wirtualnych sieci. Część 1
Utwórz sieć Utwórz sieć użytkownik trafia na stronę z listą sieci, na której są podane:

Nazwa sieci — nazwa sieci w postaci linku, po kliknięciu którego można ją zmienić
ID sieci — identyfikator sieci
szczegóły — link do strony z dokładnymi parametrami sieci
łatwa konfiguracja — link do strony do łatwej konfiguracji
członkowie — link do strony zarządzania węzłami

Zasilane przez ZeroTier. Praktyczny przewodnik po budowie wirtualnych sieci. Część 1
Aby dokończyć konfigurację, przechodzimy pod link łatwa konfiguracja. Na otwartej stronie użytkownik ustawia zakres adresów IPv4 — adresów dla tworzonej sieci. Można to zrobić automatycznie, naciskając przycisk Generuj adres sieci lub ręcznie, wpisując w odpowiednie pole maskę sieciową CIDR.

Zasilane przez ZeroTier. Praktyczny przewodnik po budowie wirtualnych sieci. Część 1
Po potwierdzeniu pomyślnego wprowadzenia danych należy wrócić na stronę z listą sieci za pomocą przycisku Wstecz. Na tym etapie podstawową konfigurację sieci można uznać za zakończoną.

Podłączanie węzłów do sieci

  1. Na początku na węzeł, który użytkownik chce podłączyć do sieci, należy zainstalować usługę ZeroTier One.Czym jest ZeroTier One?ZeroTier One — usługa działająca na laptopach, komputerach stacjonarnych, serwerach, maszynach wirtualnych i kontenerach, która umożliwia połączenia z wirtualną siecią przez wirtualny port sieciowy, podobnie jak klient VPN. Po zainstalowaniu i uruchomieniu usługi można łączyć się z wirtualnymi sieciami, używając ich 16-znakowych adresów. Każda sieć wygląda jak wirtualny port sieciowy w systemie, który działa jak standardowy port Ethernet.
    Linki do dystrybucji oraz polecenia instalacji można znaleźć na stronie producenta. Zarządzać zainstalowaną usługą można przez terminal wiersza poleceń (CLI) z prawami administratora/roota. W systemie Windows/MacOS także za pomocą interfejsu graficznego. W Android/iOS tylko za pomocą GUI.
  2. Sprawdzenie pomyślnej instalacji usługi:CLI:
    zerotier-cli status

    Wynik:

    200 info ebf416fac1 1.4.6 ONLINE
    GUI:

    Sam fakt działania aplikacji oraz obecność w nim linii z Node ID z adresem węzła.

  3. Podłączenie węzła do sieci:CLI:
    zerotier-cli join

    Wynik:

    200 dołączono OK

    GUI:

    Windows: klikając prawym przyciskiem myszy na ikonie ZeroTier One w zasobniku systemowym i wybierając opcję — Dołącz do sieci.

    Zasilane przez ZeroTier. Praktyczny przewodnik po budowie wirtualnych sieci. Część 1
    MacOS: Uruchom aplikację ZeroTier One w menu bar, jeśli jeszcze nie jest uruchomiona. Kliknij na ikonie ⏁ i wybierz Dołącz do sieci.

    Android/iOS: + (ikona plusa) w aplikacji

    Zasilane przez ZeroTier. Praktyczny przewodnik po budowie wirtualnych sieci. Część 1
    W wyświetlonym polu wprowadź wskazany w GUI kontrolera sieciowego ID sieci, a następnie naciskasz Dołącz / Dodaj sieć.

  4. Przypisanie adresu IP do węzła
    Wracamy teraz do kontrolera sieci i na stronie z listą sieci przechodzimy do linku członkowie. Jeśli na ekranie widzisz obrazek podobny do tego — oznacza to, że twój kontroler sieciowy otrzymał żądanie potwierdzenia połączenia z siecią od podłączanego węzła.Zasilane przez ZeroTier. Praktyczny przewodnik po budowie wirtualnych sieci. Część 1
    Na tej stronie pozostawiamy wszystko tak jak jest i przechodzimy do linku Przydział IP przechodzimy na stronę przypisania węzłowi adresu IP:Zasilane przez ZeroTier. Praktyczny przewodnik po budowie wirtualnych sieci. Część 1
    Po przypisaniu adresu, klikamy przycisk Wstecz wracamy na stronę listy podłączonych węzłów i nadajemy nazwę — Nazwa członka i zaznaczamy pole wyboru dla autoryzacji węzła w sieci — Autoryzowany. A propos, to pole wyboru jest bardzo wygodne do odłączania/podłączania węzła od sieci w przyszłości.Zasilane przez ZeroTier. Praktyczny przewodnik po budowie wirtualnych sieci. Część 1
    Zapisujemy zmiany za pomocą przycisku Odśwież.
  5. Sprawdzenie statusu połączenia węzła z siecią:
    Aby sprawdzić status połączenia na samym węźle, wykonujemy:
    CLI:
    zerotier-cli listnetworks

    Wynik:

    200 listnetworks
    200 listnetworks 2da06088d9f863be Mój_1szy_VLAN be:88:0c:cf:72:a1 OK PRYWATNY ethernet_32774 10.10.10.2/24

    GUI:

    Status sieci powinien być OK

    Aby podłączyć pozostałe węzły, powtarzamy operacje 1-5 dla każdego z nich.

 

Sprawdzenie łączności sieciowej węzłów

Robię to za pomocą wykonania polecenia ping na podłączonym do sieci urządzeniu, którym aktualnie zarządzam.

Zasilane przez ZeroTier. Praktyczny przewodnik po budowie wirtualnych sieci. Część 1
Na zrzucie ekranu Web-GUI kontrolera widać trzy podłączone do sieci węzły:

  1. ZTNCUI — 10.10.10.1 — mój kontroler sieci z GUI — VDS w jednym z DC ProHoster. Dla normalnej pracy nie ma potrzeby dodawania go do sieci, ale zrobiłem to, ponieważ chcę zablokować dostęp do interfejsu webowego z zewnątrz. O tym trochę później.
  2. Moja Komp — 10.10.10.2 — mój komputer roboczy — fizyczny PC
  3. Kopia zapasowa — 10.10.10.3 — VDS w innym DC.

Dlatego ze swojego komputera roboczego sprawdzam dostępność innych węzłów poleceniami:

ping 10.10.10.1

Pingowanie 10.10.10.1 z 32 bajtami danych:
Odpowiedź z 10.10.10.1: bajty=32 czas=14ms TTL=64
Odpowiedź z 10.10.10.1: bajty=32 czas=4ms TTL=64
Odpowiedź z 10.10.10.1: bajty=32 czas=7ms TTL=64
Odpowiedź z 10.10.10.1: bajty=32 czas=2ms TTL=64

Statystyki Ping dla 10.10.10.1:
Pakiety: Wysłane = 4, Odebrane = 4, Stracone = 0 (0% utraty),
Przybliżony czas podróży w milisekundach:
Minimum = 2ms, Maksimum = 14ms, Średnio = 6ms

ping 10.10.10.3

Pinging 10.10.10.3 z danymi 32 bajtów:
Odpowiedź z 10.10.10.3: bajty=32 czas=15ms TTL=64
Odpowiedź z 10.10.10.3: bajty=32 czas=4ms TTL=64
Odpowiedź z 10.10.10.3: bajty=32 czas=8ms TTL=64
Odpowiedź z 10.10.10.3: bajty=32 czas=4ms TTL=64

Statystyki Ping dla 10.10.10.3:
Pakiety: Wysłane = 4, Odebrane = 4, Stracone = 0 (0% utraty),
Przybliżony czas podróży w milisekundach:
Minimum = 4ms, Maksimum = 15ms, Średnio = 7ms

Użytkownik ma prawo korzystać z innych narzędzi do sprawdzania dostępności węzłów w sieci, zarówno wbudowanych w system operacyjny, jak i takich jak NMAP, Advanced IP Scanner itd.

Ukrywamy dostęp do GUI kontrolera sieci z zewnątrz.

Ogólnie rzecz biorąc, aby zmniejszyć prawdopodobieństwo nieautoryzowanego dostępu do VDS, na którym znajduje się mój kontroler sieci, mogę skorzystać z zapory w panelu klienta ProHoster. Ten temat nadaje się raczej na osobny artykuł. Dlatego tutaj pokażę, jak zapewnić dostęp do GUI kontrolera tylko z sieci, którą stworzyłem w tym artykule.

Aby to zrobić, należy połączyć się przez SSH z VDS, na którym znajduje się kontroler, a następnie otworzyć plik konfiguracyjny za pomocą polecenia:

nano /opt/key-networks/ztncui/.env

W otwartym pliku, po linii „HTTPS_PORT=3443”, zawierającej adres portu, na którym otwierany jest GUI, trzeba dodać dodatkową linię z adresem, pod którym GUI będzie dostępne — w moim przypadku to HTTPS_HOST=10.10.10.1.

Następnie zapisuję plik

Czl+V
Y
Enter 

i wykonuję polecenie:

systemctl restart ztncui

I to wszystko, teraz GUI mojego kontrolera sieci jest dostępne tylko dla węzłów z sieci 10.10.10.0/24.

Zamiast zakończenia

Na tym kończę pierwszą część praktycznego przewodnika po tworzeniu wirtualnych sieci na bazie ZeroTier. Czekam na wasze komentarze.

A tymczasem, aby umilić czas przed publikacją następnej części, w której opowiem, jak połączyć wirtualną sieć z fizyczną, jak zorganizować tryb „road warrior” i kilka innych rzeczy, zachęcam was do spróbowania zorganizować własną wirtualną sieć za pomocą prywatnego kontrolera sieciowego z GUI na bazie VDS z marketplace na stronie ProHoster. Tym bardziej, że dla wszystkich nowych klientów obowiązuje bezpłatny okres próbny — 3 dni!

P.S. Tak! Prawie zapomniałem! Usunięcie węzła z sieci można wykonać poleceniem w CLI tego węzła.

zerotier-cli leave

200 leave OK

lub poleceniem Delete w GUI klienta na węźle.

-> Wprowadzenie. Część teoretyczna. Inteligentny switch Ethernet dla planety Ziemia
-> Praktyczny przewodnik po budowie wirtualnych sieci. Część 1
-> Praktyczny przewodnik po budowie wirtualnych sieci. Część 2

Zasilane przez ZeroTier. Praktyczny przewodnik po budowie wirtualnych sieci. Część 1

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster