Obsługiwane przez ZeroTier. Praktyczny przewodnik po budowaniu sieci wirtualnych. Część 1

Obsługiwane przez ZeroTier. Praktyczny przewodnik po budowaniu sieci wirtualnych. Część 1
Kontynuując opowieść o ZeroTier, wychodząc z teorii zarysowanej w artykule „Inteligentny przełącznik Ethernet dla planety Ziemia„, przechodzę do praktyki, w której:

  • Stwórzmy i skonfigurujmy kontroler sieci prywatnej
  • Stwórzmy sieć wirtualną
  • Skonfigurujmy i podłączmy do niego węzły
  • Sprawdźmy łączność sieciową między nimi
  • Zablokujmy dostęp do GUI kontrolera sieciowego z zewnątrz

Сетевой контролер

Jak wspomniano wcześniej, do tworzenia sieci wirtualnych, zarządzania nimi, a także łączenia węzłów, użytkownik potrzebuje kontrolera sieci, którego interfejs graficzny (GUI) występuje w dwóch postaciach:

Opcje interfejsu graficznego ZeroTier

  • Jeden od dewelopera ZeroTier, dostępny jako rozwiązanie SaaS w chmurze publicznej z czterema planami subskrypcyjnymi, w tym darmowymi, ale ograniczonymi pod względem liczby zarządzanych urządzeń i poziomu wsparcia
  • Drugie pochodzi od niezależnego programisty i ma nieco uproszczoną funkcjonalność, ale jest dostępne jako prywatne rozwiązanie typu open source do użytku lokalnego lub w zasobach w chmurze.

W swojej praktyce stosowałem obydwa i w rezultacie ostatecznie zdecydowałem się na ten drugi. Powodem były ostrzeżenia dewelopera.

„Kontrolery sieciowe służą jako urzędy certyfikacji dla sieci wirtualnych ZeroTier. Pliki zawierające tajne klucze kontrolera muszą być starannie strzeżone i bezpiecznie archiwizowane. Ich kompromis umożliwia nieautoryzowanym atakującym tworzenie fałszywych konfiguracji sieci, a ich utrata prowadzi do utraty możliwości kontrolowania i zarządzania siecią, skutecznie czyniąc ją bezużyteczną.”

Link do dokumentacji

A także oznaki własnej paranoi dotyczącej cyberbezpieczeństwa :) 

  • Nawet jeśli przyjdzie Cheburnet, nadal muszę mieć dostęp do mojego kontrolera sieciowego;
  • Tylko ja powinienem używać kontrolera sieciowego. W razie potrzeby zapewnienie dostępu swoim upoważnionym przedstawicielom;
  • Powinna istnieć możliwość ograniczenia dostępu do sterownika sieciowego z zewnątrz.

W tym artykule nie widzę większego sensu rozwodzić się osobno nad wdrażaniem kontrolera sieciowego i jego graficznego interfejsu użytkownika na lokalnych zasobach fizycznych lub wirtualnych. Są też 3 powody: 

  • listów będzie więcej niż planowano
  • już o tym powiedział na deweloperze GUI GitHab
  • temat artykułu dotyczy czegoś innego

Dlatego wybierając ścieżkę najmniejszego oporu posłużę się w tej historii kontrolerem sieciowym z GUI opartym na VDS, stworzonym przez Z szablonu, opracowany dzięki uprzejmości moich kolegów z RuVDS.

Początkowe ustawienia

Po utworzeniu serwera z określonego szablonu użytkownik uzyskuje dostęp do kontrolera Web-GUI poprzez przeglądarkę wchodząc na https:// :3443

Obsługiwane przez ZeroTier. Praktyczny przewodnik po budowaniu sieci wirtualnych. Część 1
Domyślnie serwer zawiera już wstępnie wygenerowany certyfikat TLS/SSL z podpisem własnym. To mi wystarczy, bo blokuję dostęp do tego z zewnątrz. Dla tych, którzy chcą korzystać z innych typów certyfikatów, istnieje Instrukcje Instalacji na deweloperze GUI GitHab.

Gdy użytkownik loguje się po raz pierwszy Zaloguj z domyślnym loginem i hasłem - Admin и password:

Obsługiwane przez ZeroTier. Praktyczny przewodnik po budowaniu sieci wirtualnych. Część 1
Sugeruje zmianę domyślnego hasła na niestandardowe

Obsługiwane przez ZeroTier. Praktyczny przewodnik po budowaniu sieci wirtualnych. Część 1
Robię to trochę inaczej - nie zmieniam hasła istniejącego użytkownika, ale tworzę nowe - Utwórz użytkownika.

Ustawiłem nazwę nowego użytkownika - Użytkownik:
Ustawiłem nowe hasło - Wprowadź nowe hasło
Potwierdzam nowe hasło - Wprowadź ponownie hasło:

Wprowadzane znaki uwzględniają wielkość liter – bądź ostrożny!

Pole wyboru umożliwiające potwierdzenie zmiany hasła przy następnym logowaniu - Zmień hasło przy następnym logowaniu: Nie świętuję. 

Aby zatwierdzić wprowadzone dane, naciśnij Ustaw hasło:

Obsługiwane przez ZeroTier. Praktyczny przewodnik po budowaniu sieci wirtualnych. Część 1
Następnie: Loguję się ponownie - Wyloguj Się / Zaloguj, już pod danymi uwierzytelniającymi nowego użytkownika:

Obsługiwane przez ZeroTier. Praktyczny przewodnik po budowaniu sieci wirtualnych. Część 1
Następnie przechodzę do zakładki Użytkownicy - użytkownicy i usuń użytkownika Adminklikając na ikonę kosza znajdującą się po lewej stronie jego imienia.

Obsługiwane przez ZeroTier. Praktyczny przewodnik po budowaniu sieci wirtualnych. Część 1
W przyszłości będziesz mógł zmienić hasło użytkownika klikając na jego nazwę lub na ustawione hasło.

Tworzenie sieci wirtualnej

Aby utworzyć sieć wirtualną należy przejść do zakładki Dodaj sieć. Z punktu Użytkownik można to zrobić poprzez stronę Strona główna — strona główna Web-GUI, która wyświetla adres ZeroTier tego kontrolera sieciowego i zawiera łącze do strony z listą sieci utworzonych za jego pośrednictwem.

Obsługiwane przez ZeroTier. Praktyczny przewodnik po budowaniu sieci wirtualnych. Część 1
Strona Dodaj sieć użytkownik nadaje nazwę nowo utworzonej sieci.

Obsługiwane przez ZeroTier. Praktyczny przewodnik po budowaniu sieci wirtualnych. Część 1
Przy zastosowaniu danych wejściowych − Utwórz sieć użytkownik zostaje przeniesiony na stronę z listą sieci, która zawiera: 

Nazwa sieci — nazwa sieci w formie linku, po kliknięciu można ją zmienić 
ID sieci — identyfikator sieci
detal — link do strony ze szczegółowymi parametrami sieci
łatwe ustawienie — link do strony w celu łatwej konfiguracji
członkowie — link do strony zarządzania węzłami

Obsługiwane przez ZeroTier. Praktyczny przewodnik po budowaniu sieci wirtualnych. Część 1
Aby uzyskać dalszą konfigurację, kliknij łącze łatwe ustawienie. Na stronie, która się otworzy, użytkownik określa zakres adresów IPv4 dla tworzonej sieci. Można to zrobić automatycznie, naciskając przycisk Wygeneruj adres sieciowy lub ręcznie wpisując maskę sieci w odpowiednim polu CIDR.

Obsługiwane przez ZeroTier. Praktyczny przewodnik po budowaniu sieci wirtualnych. Część 1
Po potwierdzeniu pomyślnego wprowadzenia danych należy powrócić do strony z listą sieci za pomocą przycisku Wstecz. W tym momencie podstawową konfigurację sieci można uznać za zakończoną.

Łączenie węzłów sieci

  1. Najpierw należy zainstalować usługę ZeroTier One na węźle, z którym użytkownik chce połączyć się z siecią.

    Co to jest ZeroTier One?ZeroTier XNUMX to usługa działająca na laptopach, komputerach stacjonarnych, serwerach, maszynach wirtualnych i kontenerach, która zapewnia połączenia z siecią wirtualną poprzez wirtualny port sieciowy, podobnie jak klient VPN. 

    Po zainstalowaniu i uruchomieniu usługi możesz łączyć się z sieciami wirtualnymi, korzystając z ich 16-cyfrowych adresów. Każda sieć pojawia się w systemie jako wirtualny port sieciowy, który zachowuje się jak zwykły port Ethernet.
    Można znaleźć łącza do dystrybucji, a także polecenia instalacyjne na stronie producenta.

    Możesz zarządzać zainstalowaną usługą za pomocą terminala wiersza poleceń (CLI) z uprawnieniami administratora/root. W systemie Windows/MacOS również za pomocą interfejsu graficznego. W systemie Android/iOS tylko przy użyciu GUI.

  2. Sprawdzanie powodzenia instalacji usługi:

    Interfejs wiersza polecenia:

    zerotier-cli status

    Wynik: 

    200 info ebf416fac1 1.4.6 ONLINE
    GUI:

    Sam fakt, że aplikacja jest uruchomiona i obecność w niej linii Node ID z adresem węzła.

  3. Podłączenie węzła do sieci:

    Interfejs wiersza polecenia:

    zerotier-cli join <Network ID>

    Wynik: 

    200 join OK

    GUI:

    Windows: kliknij ikonę prawym przyciskiem myszy ZeroTier XNUMX w zasobniku systemowym i wybierając element - Dołącz do sieci.

    Obsługiwane przez ZeroTier. Praktyczny przewodnik po budowaniu sieci wirtualnych. Część 1
    MacOS: апустить приложение ZeroTier XNUMX w menu paska, jeśli nie zostało jeszcze uruchomione. Kliknij ikonę ⏁ i wybierz Dołącz do sieci.

    Android/iOS: + (plus obraz) w aplikacji

    Obsługiwane przez ZeroTier. Praktyczny przewodnik po budowaniu sieci wirtualnych. Część 1
    W wyświetlonym polu wprowadź kontroler sieciowy określony w GUI ID siecii naciśnij Dołącz/Dodaj sieć.

  4. Przypisywanie adresu IP do hosta
    Teraz wracamy do kontrolera sieci i na stronie z listą sieci klikamy link członkowie. Jeśli na ekranie zobaczysz obraz podobny do tego, oznacza to, że kontroler sieci otrzymał żądanie potwierdzenia połączenia z siecią z podłączonego węzła.

    Obsługiwane przez ZeroTier. Praktyczny przewodnik po budowaniu sieci wirtualnych. Część 1
    Na tej stronie zostawiamy wszystko bez zmian i podążamy za linkiem Przypisanie IP przejdź do strony przypisania adresu IP do węzła:

    Obsługiwane przez ZeroTier. Praktyczny przewodnik po budowaniu sieci wirtualnych. Część 1
    Po przypisaniu adresu kliknij przycisk Wstecz wróć na stronę listy podłączonych węzłów i ustaw nazwę - Nazwa członka i zaznacz pole wyboru, aby autoryzować węzeł w sieci - Upoważniony. Nawiasem mówiąc, to pole wyboru jest bardzo wygodne w przypadku odłączania/łączenia się z siecią hosta w przyszłości.

    Obsługiwane przez ZeroTier. Praktyczny przewodnik po budowaniu sieci wirtualnych. Część 1
    Zapisz zmiany za pomocą przycisku Odśwież kod.

  5. Sprawdzanie stanu połączenia węzła z siecią:
    Aby sprawdzić status połączenia na samym węźle, uruchom:
    Interfejs wiersza polecenia:

    zerotier-cli listnetworks

    Wynik:

    200 listnetworks <nwid> <name> <mac> <status> <type> <dev> <ZT assigned ips>
    200 listnetworks 2da06088d9f863be My_1st_VLAN be:88:0c:cf:72:a1 OK PRIVATE ethernet_32774 10.10.10.2/24

    GUI:

    Stan sieci powinien być OK

    Aby połączyć pozostałe węzły, powtórz operacje 1-5 dla każdego z nich.

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

Robię to uruchamiając polecenie świst na urządzeniu podłączonym do sieci, którą aktualnie zarządzam.

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

  1. ZTNCUI - 10.10.10.1 - mój kontroler sieciowy z GUI - VDS w jednym z DC RuVDS. Do normalnej pracy nie ma potrzeby dodawania go do sieci, ale zrobiłem to, bo chcę zablokować dostęp do interfejsu WWW z zewnątrz. Więcej na ten temat później. 
  2. MójKomp — 10.10.10.2 - mój komputer służbowy jest fizycznym komputerem PC
  3. Kopia zapasowa - 10.10.10.3 — VDS w innym DC.

Dlatego z komputera służbowego sprawdzam dostępność innych węzłów za pomocą poleceń:

ping 10.10.10.1

Pinging 10.10.10.1 with 32 bytes of data:
Reply from 10.10.10.1: bytes=32 time=14ms TTL=64
Reply from 10.10.10.1: bytes=32 time=4ms TTL=64
Reply from 10.10.10.1: bytes=32 time=7ms TTL=64
Reply from 10.10.10.1: bytes=32 time=2ms TTL=64

Ping statistics for 10.10.10.1:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 2ms, Maximum = 14ms, Average = 6ms

ping 10.10.10.3

Pinging 10.10.10.3 with 32 bytes of data:
Reply from 10.10.10.3: bytes=32 time=15ms TTL=64
Reply from 10.10.10.3: bytes=32 time=4ms TTL=64
Reply from 10.10.10.3: bytes=32 time=8ms TTL=64
Reply from 10.10.10.3: bytes=32 time=4ms TTL=64

Ping statistics for 10.10.10.3:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 4ms, Maximum = 15ms, Average = 7ms

Użytkownik ma prawo skorzystać z innych narzędzi sprawdzających dostępność węzłów w sieci, zarówno wbudowanych w system operacyjny, jak i takich jak NMAP, Advanced IP Scanner itp.

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

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

W tym celu należy połączyć się poprzez SSH z VDS na którym znajduje się kontroler i otworzyć plik konfiguracyjny komendą:

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

W otwartym pliku, po linii „HTTPS_PORT=3443” zawierającej adres portu, na którym otworzy się GUI, należy dodać dodatkową linię z adresem, pod którym otworzy się GUI - w moim przypadku jest to HTTPS_HOST=10.10.10.1 .XNUMX. 

Następnie zapiszę plik

Сtrl+C
Y
Enter 

i uruchom polecenie:

systemctl restart ztncui

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

Zamiast zawierania 

Na tym chcę zakończyć pierwszą część praktycznego przewodnika po tworzeniu sieci wirtualnych w oparciu o ZeroTier. Czekam z niecierpliwością na Twoje komentarze. 

Tymczasem dla zabicia czasu do publikacji kolejnej części, w której opowiem jak połączyć sieć wirtualną z fizyczną, jak zorganizować tryb „wojownika drogi” i coś jeszcze, proponuję spróbować organizowanie własnej sieci wirtualnej za pomocą kontrolera sieci prywatnej z GUI w oparciu o VDS z marketplace witryna internetowa RUVDS. Co więcej, wszyscy nowi klienci mają bezpłatny okres próbny wynoszący 3 dni!

PS Tak! Prawie zapomniałam! Możesz usunąć węzeł z sieci za pomocą polecenia w interfejsie CLI tego węzła.

zerotier-cli leave <Network ID>

200 leave OK

lub polecenie Usuń w interfejsie GUI klienta w węźle.

-> Wstęp. Część teoretyczna. Inteligentny przełącznik Ethernet dla planety Ziemia
-> Praktyczny przewodnik po budowaniu sieci wirtualnych. Część 1
-> Praktyczny przewodnik po budowaniu sieci wirtualnych. Część 2

Obsługiwane przez ZeroTier. Praktyczny przewodnik po budowaniu sieci wirtualnych. Część 1

Źródło: www.habr.com

Dodaj komentarz