Powered by ZeroTier. Практическо ръководство за изграждане на виртуални мрежи. Част 1

Powered by ZeroTier. Практическо ръководство за изграждане на виртуални мрежи. Част 1
Продължавайки разказа за ZeroTier, от теорията, изложена в статията «Интелигентен Ethernet комутатор за планетата Земя», преминавам към практиката, в която:

  • Ще създадем и настроим частен мрежови контролер
  • Ще създадем виртуална мрежа
  • Ще настроим и свържем към нея възли
  • Ще проверим мрежовата свързаност между тях
  • Ще затворим достъпа до GUI на мрежовия контролер извън

Мрежови контролер

Както вече беше споменато, за създаване на виртуални мрежи, управление на тях и свързване на възли, потребителят се нуждае от мрежови контролер, графичен интерфейс (GUI), който съществува в две версии:

Опции на ZeroTier GUI

  • Един от разработчика ZeroTier, достъпен като публично облачно решение, предоставяно по модела SaaS, с четири плана за абонамент, включително безплатен, но ограничен в количество на управляемите устройства и нивото на поддръжка
  • Вторият — от независим разработчик, малко опростен по функционалност, но достъпен като частно open source решение, за използване on-premise или на облачни ресурси.

В своята практика съм ползвал и двете и в крайна сметка избрах втората. Причината за това бяха предупрежденията на разработчика.

«Мрежовите контролери служат като центрове за сертификация за виртуалните мрежи ZeroTier. Файловете, съдържащи секретните ключове на контролера, трябва да се съхраняват внимателно и надеждно да се архивират. Компрометирането им позволява на неупълномощени злонамерени лица да създават измамни конфигурации на мрежи, а загубата им води до загуба на способността за контрол и управление на мрежата, фактически я прави неизползваема»

Връзка към документацията

И също, признаци на собствена ИБ-параноидност 🙂

  • Дори и да дойде Чебурнет — трябва да имам достъп до своя мрежови контролер;
  • Мрежовият контролер трябва да се ползва само от мен. При необходимост, предоставяйки достъп на доверени лица;
  • Трябва да има възможност за ограничаване на достъпа до мрежовия контролер извън.

Не виждам смисъл да се спирам отделно на това как да разверна мрежов контролер и GUI за него на физически или виртуални ресурси on-premise. И за това има 3 причини:

  • буквите ще се окажат повече отколкото планирах
  • за това вече разказано на GitHab разработчика GUI
  • темата на статията е различна

Следователно, избирайки пътя на по-малкото съпротивление, ще използвам в това изложение мрежов контролер с GUI, базиран на VDS, създадено от шаблон, любезно разработен от моите колеги от ProHoster.

Първоначална настройка

След създаването сървър от посочения шаблон, достъпът до Web-GUI на контролера потребителят получава чрез браузъра, като отиде на адрес httрs://:3443

Powered by ZeroTier. Практическо ръководство за изграждане на виртуални мрежи. Част 1
По подразбиране сървър вече съдържа предварително създаден самоподписан TLS/SSL сертификат. За мен това е достатъчно, тъй като затварям достъпа до него отвън. За тези, които искат да използват други типове сертификати, има инструкция за инсталиране на GitHab разработчика GUI.

При първото влизане на потребителя в системата Вход с зададени по подразбиране логин и парола — админ и парола:

Powered by ZeroTier. Практическо ръководство за изграждане на виртуални мрежи. Част 1
Тя предлага да промени паролата по подразбиране на потребителска

Powered by ZeroTier. Практическо ръководство за изграждане на виртуални мрежи. Част 1
Постъпвам малко по-различно — не променям паролата на съществуващия потребител, а създавам нов — Създай потребител.

Задавам име на новия потребител — Потребителско име:
Задавам нова парола — Въведете новата парола:
Потвърдете новата парола — Въведете отново паролата:

Въведените символи са чувствителни към регистъра — бъдете внимателни!

Чек-бокс за потвърждение на смяната на паролата при следващо влизане — Промяна на паролата при следващо влизане: не отбелязвам.

За потвърждение на въведените данни натискам Задайте парола:

Powered by ZeroTier. Практическо ръководство за изграждане на виртуални мрежи. Част 1
После: преизлизам — Изход / Вход, вече с данните на новия потребител:

Powered by ZeroTier. Практическо ръководство за изграждане на виртуални мрежи. Част 1
След това преминавам в таба потребители — Потребители и изтривам потребителя админ, като кликна на иконата на кошницата, която се намира вляво от името му.

Powered by ZeroTier. Практическо ръководство за изграждане на виртуални мрежи. Част 1
По-късно промените паролата на потребителя, може да кликнете или на неговото име, или на задайте парола.

Създаване на виртуална мрежа

За да създадете виртуална мрежа, потребителят трябва да премине в таба Добави мрежа. От точка User това може да се извърши през страницата Начало — главната страница на Web-GUI, на която е показан ZeroTier адресът на този мрежов контролер и има връзка към страницата със списъка на мрежи, създадени чрез него.

Powered by ZeroTier. Практическо ръководство за изграждане на виртуални мрежи. Част 1
На страницата Добави мрежа потребителят задава името на новосъздадената мрежа.

Powered by ZeroTier. Практическо ръководство за изграждане на виртуални мрежи. Част 1
При прилагане на въведените данни — Създай мрежа потребителят попада на страницата със списък на мрежите, в която са посочени:

Име на мрежата — името на мрежата като връзка, при преминаване по която може да го промени
Идентификатор на мрежата — идентификатор на мрежата
детайл — връзка към страницата с детайлни параметри на мрежата
лесна настройка — линк към страницата за лесна настройка
членове — линк към страницата за управление на възлите

Powered by ZeroTier. Практическо ръководство за изграждане на виртуални мрежи. Част 1
За допълнителни настройки преминете по линка лесна настройка. На отворената страница потребителят задава диапазон от IPv4 адреси за създаваната мрежа. Това може да се направи автоматично, с натискане на бутона Generate network address или ръчно, като въведе в съответното поле мрежовата маска на мрежата CIDR.

Powered by ZeroTier. Практическо ръководство за изграждане на виртуални мрежи. Част 1
При потвърждаване на успешното въвеждане на данни е необходимо да се върнете на страницата със списъка на мрежите чрез бутона Back. На това основната настройка на мрежата може да се счита за завършена.

Свързване на възли в мрежата

  1. На първо място, на възела, който потребителят желае да свърже с мрежата, трябва да се инсталира услугата ZeroTier One.Какво е ZeroTier One?ZeroTier One — услуга, работеща на лаптопи, настолни компютри, сървъри, виртуални машини и контейнери, която осигурява свързаност с виртуална мрежа чрез виртуален мрежов порт, подобно на VPN клиент. След инсталиране и стартиране на услугата, може да се свържете с виртуалните мрежи, използвайки техните 16-значни адреси. Всяка мрежа изглежда като виртуален мрежов порт в системата, който се държи така, както обикновен Ethernet порт.
    Линкове към дистрибуции, както и команди за инсталиране могат да бъдат намерени на страницата на производителя. Управлявайте инсталираната услуга чрез терминал на командния ред (CLI) с права на администратор/рут. В Windows/MacOS също чрез графичен интерфейс. В Android/iOS само чрез GUI.
  2. Проверка на успешността на инсталацията на услугата:CLI:
    zerotier-cli status

    Резултат:

    200 info ebf416fac1 1.4.6 ONLINE
    GUI:

    Самият факт, че приложението работи и наличието на ред с Node ID с адреса на възела.

  3. Свързване на възела към мрежата:CLI:
    zerotier-cli join

    Резултат:

    200 join OK

    GUI:

    Windows: с десен клик върху иконата ZeroTier One в системния трей и избор на опцията — Join Network.

    Powered by ZeroTier. Практическо ръководство за изграждане на виртуални мрежи. Част 1
    MacOS: Стартирайте приложението ZeroTier One в менюто на лентата, ако още не е стартирано. Кликнете на иконата ⏁ и изберете Join Network.

    Android/iOS: + (снимка на плюса) в приложението

    Powered by ZeroTier. Практическо ръководство за изграждане на виртуални мрежи. Част 1
    В появилото се поле въведете зададения в GUI адрес на мрежовия контролер Идентификатор на мрежата, и натиснете Join / Add Network.

  4. Назначаване на IP-адрес на възела
    Сега се връщаме към мрежовия контролер и на страницата със списъка на мрежите, преминете по линка членове. Ако на екрана сте видели картинка, подобна на тази — значи вашият мрежов контролер е получил искане за потвърждение на свързването с мрежата от свързвания възел.Powered by ZeroTier. Практическо ръководство за изграждане на виртуални мрежи. Част 1
    На тази страница оставяме всичко както е и по линка Присвояване на IP преминаваме на страницата за присвояване на узлу IP-адрес:Powered by ZeroTier. Практическо ръководство за изграждане на виртуални мрежи. Част 1
    След присвояването на адреса, с бутона Назад се връщаме на страницата със списъка на свързаните узли и задаваме име — Име на члена и отбелязваме чек-бокса за авторизация на узла в мрежата — Авторизиран. Между другото, този чек-бокс е много удобен за изключване/включване на узла в мрежата впоследствие.Powered by ZeroTier. Практическо ръководство за изграждане на виртуални мрежи. Част 1
    Запазваме промените с бутона Обнови.
  5. Проверка на статусa на свързването на узла с мрежата:
    За проверка на статусa на свързването на самия узел изпълняваме:
    CLI:
    zerotier-cli listnetworks

    Резултат:

    200 списък мрежи
    200 списък мрежи 2da06088d9f863be My_1st_VLAN be:88:0c:cf:72:a1 OK PRIVATE ethernet_32774 10.10.10.2/24

    GUI:

    Статусът на мрежата трябва да е OK

    За свързване на останалите узли повтаряме операциите 1-5 за всеки от тях.

 

Проверка на мрежовата свързаност на узлите

Правя това чрез изпълнение на командата ping на устройството, свързано в мрежата, над което в момента управлявам.

Powered by ZeroTier. Практическо ръководство за изграждане на виртуални мрежи. Част 1
На екрана на Web-GUI на контролера можете да видите три свързани към мрежата узла:

  1. ZTNCUI — 10.10.10.1 — моят мрежов контролер с GUI — VDS в един от дата центровете на ProHoster. За нормална работа няма нужда да го добавям в мрежата, но го направих, тъй като искам да затворя достъпа до уеб интерфейса от външната страна. За това малко по-късно.
  2. MyComp — 10.10.10.2 — моят работен компютър — физически ПК
  3. Backup — 10.10.10.3 — VDS в друг дата център.

Затова от моя работен компютър проверявам достъпността на другите узли с командите:

ping 10.10.10.1

Пингувам 10.10.10.1 с 32 байта данни:
Отговор от 10.10.10.1: байтове=32 време=14мс TTL=64
Отговор от 10.10.10.1: байтове=32 време=4мс TTL=64
Отговор от 10.10.10.1: байтове=32 време=7мс TTL=64
Отговор от 10.10.10.1: байтове=32 време=2мс TTL=64

Статистика за Ping за 10.10.10.1:
Пакети: Изпратени = 4, Получени = 4, Загубени = 0 (0% загуба),
Приблизителни времена за кръгова пътуване в милисекунди:
Минимално = 2ms, Максимално = 14ms, Средно = 6ms

ping 10.10.10.3

Пингваме 10.10.10.3 с 32 байта данни:
Отговор от 10.10.10.3: байтове=32 време=15ms TTL=64
Отговор от 10.10.10.3: байтове=32 време=4ms TTL=64
Отговор от 10.10.10.3: байтове=32 време=8ms TTL=64
Отговор от 10.10.10.3: байтове=32 време=4ms TTL=64

Статистика за Ping за 10.10.10.3:
Пакети: Изпратени = 4, Получени = 4, Загубени = 0 (0% загуба),
Приблизителни времена за кръгова пътуване в милисекунди:
Минимално = 4ms, Максимално = 15ms, Средно = 7ms

Потребителят има право да използва други инструменти за проверка достъпността на узлите в мрежата, както вградени в ОС, така и такива като NMAP, Advanced IP Scanner и т.н.

Скриваме достъпа до GUI на мрежовия контролер от външната страна.

Всъщност, да намаля вероятността от неразрешен достъп до VDS, на който се намира моят мрежов контролер, мога чрез фаервола в личния кабинет на ProHoster. Тази тема е по-скоро за отделна статия. Затова, тук ще покажа как да осигурим достъп до GUI на контролера само от мрежата, която създадох в тази статия.

За целта е необходимо, след като се свържа по SSH с VDS, на който се намира контролера, да отворя конфигурационния файл с командата:

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

В отворения файл, след реда «HTTPS_PORT=3443», който съдържа адреса на порта, чрез който се отваря GUI, трябва да добавите допълнителен ред с адреса, по който GUI ще се отваря — в моя случай това е HTTPS_HOST=10.10.10.1.

След това ще запазя файла

Ctrl+C
Y
Enter 

и изпълнявам командата:

systemctl restart ztncui

И всичко, сега GUI на моя мрежов контролер е достъпен само за възли от мрежата 10.10.10.0.24.

Вместо заключение

С това искам да завърша първата част на практическото ръководство за изграждане на виртуални мрежи на основата на ZeroTier. Очаквам вашите коментари.

А междувременно, за да оползотворя времето до публикуването на следващата част, в която ще разкажа как да свържете виртуалната мрежа с физическата, как да организирате режим «road warrior» и още нещо, ви предлагам да опитате да организирате собствена виртуална мрежа с помощта на частен мрежов контролер с GUI на основата на VDS от маркетплейса на сайта ProHoster. Освен това, за всички нови клиенти важи безплатен тестов период — 3 дни!

P.S. Да! Почти забравих! Изтриването на възел от мрежата може да стане с команда в CLI на този възел.

zerotier-cli leave

200 leave OK

или с командата Delete в GUI клиента на възела.

-> Въведение. Теоретична част. Интелигентен Ethernet комутатор за планетата Земя
-> Практическо ръководство за изграждане на виртуални мрежи. Част 1
-> Практическо ръководство за изграждане на виртуални мрежи. Част 2

Powered by ZeroTier. Практическо ръководство за изграждане на виртуални мрежи. Част 1

Източник: habr.com

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster