Як ужо было сказанае раней, для стварэння віртуальных сетак, кіраванні імі, а таксама падлучэнні вузлоў, карыстачу неабходзен сеткавы кантролер, графічны інтэрфейс (GUI) для якога існуе ў двух выявах:
Варыянты ZeroTier GUI
Адзін ад распрацоўніка ZeroTier, даступнага ў выглядзе публічнага хмарнага рашэння, які прадстаўляецца па мадэлі SaaS, з чатырма планамі падпіскі, у тым ліку бясплатным, але абмежаваным па колькасці кіраваных прылад і ўзроўню падтрымкі
Другі - ад незалежнага распрацоўніка, некалькі спрошчанага па функцыянале, але даступнага ў якасці прыватнага open source рашэння, для выкарыстання on-premise або на хмарных рэсурсах.
У сваёй практыцы я карыстаўся абедзвюма і ў выніку ўсё ж такі спыніўся на другой. Прычынай чаму паслужыла перасцярогі распрацоўшчыка.
«Сеткавыя кантролеры служаць цэнтрамі сертыфікацыі для віртуальных сетак ZeroTier. Файлы змяшчаюць сакрэтныя ключы кантролера павінны старанна ахоўвацца і надзейна архівавацца. Іх кампраметацыя дазваляе неаўтарызаваным зламыснікам ствараць ашуканскія канфігурацыі сетак., а страта – прыводзіць да страты здольнасці кантраляваць і кіраваць сеткай, фактычна робячы яе непрыдатнай для выкарыстання»
Нават калі прыйдзе Чэбурнет - у мяне павінен заставацца доступ да свайго сеткавага кантролера;
Сеткавым кантролерам павінен карыстацца толькі я. Пры неабходнасці, падаючы доступ сваім давераным асобам;
Павінна быць магчымасць абмежавання доступу да сеткавага кантролера звонку.
Асобна спыняцца на тым, як разгарнуць сеткавы кантролер і GUI для яго на on-premise фізічных ці віртуальных рэсурсах, у гэтым артыкуле я не бачу асаблівага сэнсу. І таму таксама ёсць 3 прычыны:
літар атрымаецца больш чым планаваў
пра гэта ўжо расказана на GitHab распрацоўніка GUI
тэма артыкула пра іншае
Таму, абраўшы шлях меншага супраціву, буду выкарыстоўваць у дадзеным апавяданні сеткавы кантролер з GUI на аснове VDS, створанага з шаблону, ласкава распрацаванага маімі калегамі з RuVDS.
першапачатковая настройка
Пасля стварэння сервера з паказанага шаблону, доступ да Web-GUI кантролера карыстач атрымлівае праз браўзэр, звярнуўшыся па адрасе httрs:// :3443
Па змаўчанні сервер ужо ўтрымоўвае папярэдне створаны самападпісаны TLS/SSL сертыфікат. Для мяне гэтага дастаткова, бо я закрываю доступ да яго звонку. Для тых жа, хто жадае выкарыстоўваць іншыя тыпы сертыфікатаў, ёсць інструкцыя па ўстаноўцы на GitHab распрацоўніка GUI.
Пры першым уваходзе карыстальніка ў сістэму Увайсці з усталяванымі па змаўчанні лагіну і паролю адмін и пароль:
Яна прапануе змяніць пароль па змаўчанні на карыстацкі
Я раблю крыху інакш — не мяняю пароль у існуючага карыстальніка, а ствараю новага — стварыць карыстальніка.
Задаю імя новага карыстальніка Імя карыстальніка:
Задаю новы пароль - Увядзіце новы пароль:
Пацвярджаю новы пароль - Увядзіце пароль паўторна:
Уводныя сімвалы адчувальныя да рэгістра - будзьце ўважлівыя!
Чэк-бокс пацверджання змены пароля пры наступным уваходзе Змяніць ласку на наступны лагін: не адзначаю.
Для пацверджання ўведзеных дадзеных цісну Усталюйце пароль:
Потым: пералагінваюся Выхад / Увайсці, ужо пад уліковымі дадзенымі новага карыстальніка:
Далей пераходжу ва ўкладку карыстальнікі карыстальнікаў і выдаляю карыстальніка адмін, Клікнуўшы на абразок кошыка, якая знаходзіцца злева ад яго імя.
У далейшым змяніць пароль карыстальніка, можна клікнуўшы або на яго імя, або на set password.
Стварэнне віртуальнай сеткі
Для стварэння віртуальнай сеткі карыстачу неабходна перайсці ва ўкладку Дадаць сетку. З пункта карыстальнік гэта можна ажыццявіць праз старонку Галоўная - галоўную старонку Web-GUI, на якой адлюстраваны ZeroTier-адрас дадзенага сеткавага кантролера і прысутнічае спасылка на старонку спісу сетак, праз яго створаных.
На старонцы Дадаць сетку карыстач прызначае імя ізноў стваранай ім сеткі.
Пры ўжыванні ўводзімых дадзеных - Стварыце сетку карыстач трапляе на старонку са спісам сетак, на якой пазначаны:
Назва сеткі - імя сеткі ў выглядзе спасылкі, пры пераходзе па якой можна яго змяніць Ідэнтыфікатар сеткі - Ідэнтыфікатар сеткі падрабязна - спасылка на старонку з дэталёвымі параметрамі сеткі лёгкая налада - спасылка на старонку для простай налады членаў - спасылка на старонку кіравання вузламі
Для далейшай наладкі пераходзім па спасылцы лёгкая налада. На старонцы, якая адкрылася, карыстальнік задае дыяпазон IPv4 — адрасоў для ствараемай сеткі. Зрабіць гэта можна аўтаматычна, націскам кнопкі Generate network address ці ўручную, увёўшы ў адпаведнае поле сеткавую маску сеткі CIDR.
Пры пацверджанні паспяховага ўводу даных неабходна вярнуцца на старонку са спісам сетак з дапамогай кнопкі Back. На гэтым асноўную настройку сеткі можна лічыць завершанай.
Падключэнне вузлоў сеткі
Для пачатку на вузел, які карыстач жадае падлучыць да сеткі, неабходна ўсталяваць сэрвіс ZeroTier One.
Што такое ZeroTier One?ZeroTier One - Які працуе на наўтбуках, настольных кампутарах, серверах, віртуальных машынах і кантэйнерах сэрвіс, які забяспечвае падлучэнні да віртуальнай сеткі праз віртуальны сеткавы порт, падобна VPN-кліенту.
Пасля ўсталёўкі і запуску службы да віртуальных сетак можна падлучыцца, выкарыстоўваючы іх 16-знакавыя адрасы. Кожная сетка выглядае як віртуальны сеткавы порт у сістэме, які паводзіць сябе гэтак жа, як звычайны порт Ethernet.
Спасылкі на дыстрыбутывы, а таксама каманды ўстаноўкі можна знайсці на старонцы вытворцы.
Кіраваць усталяваным сэрвісам можна праз тэрмінал каманднага радка (CLI) з правамі адміна/рута. У Windows/MacOS яшчэ з дапамогай графічнага інтэрфейсу. У Android/iOS толькі з дапамогай GUI.
Праверка паспяховасці ўстаноўкі сэрвісу:
CLI:
zerotier-cli status
Вынік:
200 info ebf416fac1 1.4.6 ONLINE
GUI:
Сам факт яго працы прыкладання і наяўнасць у ім радкі з Node ID з адрасам вузла.
Падлучэнне вузла да сеткі:
CLI:
zerotier-cli join <Network ID>
Вынік:
200 join OK
GUI:
Windows: клікам правай кнопкай мышы на абразку ZeroTier One у сістэмным трэі і выбару пункта Далучайцеся да сеткі.
MacOS: Запусціць дадатак ZeroTier One у bar menu, калі яшчэ не запушчаны. Клік на значку ⏁ і выбар Далучайцеся да сеткі.
Android/iOS: + (малюнак плюсу) у дадатку
У якое з'явілася поле ўвядзіце паказаны ў GUI сеткавага кантролера Ідэнтыфікатар сеткі, і цісне Join / Add Network.
Прызначэнне вузлу IP-адраса
Цяпер вяртаемся да сеткавага кантролера і на старонцы са спісам сетак перайсці па спасылцы членаў. Калі на экране вы ўбачылі карцінку аналагічнай гэтай - значыць ваш сеткавы кантролер атрымаў запыт на пацверджанне падлучэння да сеткі ад падключанага вузла.
На гэтай старонцы пакідаем пакуль усё як ёсць і па спасылцы Прызначэнне IP пераходзім на старонку прызначэння вузлу IP-адрасы:
Пасля прызначэння адрасы, па кнопцы назад вяртаемся на старонку спісу падлучаных вузлоў і задаём назву — Member name і адзначаем чэк-бокс для аўтарызацыі вузла ў сетцы упаўнаважаны. Дарэчы, гэты чэк-бокс вельмі зручная рэч для адключэння/падлучэнні ад сеткі вузла ў далейшым.
Захоўваем змены з дапамогай кнопкі абнаўленне.
Праверка статусу падключэння вузла да сеткі:
Для праверкі статусу падключэння на самым вузле выконваем:
CLI:
Для падлучэння астатніх вузлоў паўтараем аперацыі 1-5 для кожнага з іх.
Праверка сеткавай складнасці вузлоў
Я раблю гэта з дапамогай выканання каманды ping на падлучаным да сеткі прылады, якім у дадзены момант кірую.
На скрыншоце Web-GUI кантролера можна ўбачыць тры падлучаныя да сеткі вузла:
ZTNCUI - 10.10.10.1 - Мой сеткавы кантролер з GUI – VDS у адным з ДЦ RuVDS. Для звычайнай працы няма неабходнасці дадаваць яго ў сетку, але я зрабіў гэта, бо жадаю зачыніць доступ да вэб-інтэрфейсу звонку. Пра гэта крыху пазней.
Таму са свайго працоўнага кампутара я правяраю даступнасць іншых вузлоў камандамі:
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
Карыстальнік мае права выкарыстоўваць іншыя прылады праверкі даступнасці вузлоў у сетцы, як убудаваныя ў АС, так і такія як NMAP, Advanced IP Scanner і г.д.
Хаваем доступ да GUI сеткавага кантролера звонку.
Наогул, паменшыць верагоднасць несанкцыянаванага доступу да VDS, на якім знаходзіцца мой сеткавы кантролер, я магу сродкамі файрвала ў асабістым кабінеце RuVDS. Гэтая тэма хутчэй для асобнага артыкула. Таму, тут я пакажу як забяспечыць доступ да GUI кантролера толькі з сеткі, якую стварыў у гэтым артыкуле.
Для гэтага неабходна падлучыўшыся па SSH да VDS на якім знаходзіцца кантролер, адкрыць файл канфігурацыі з дапамогай каманды:
nano /opt/key-networks/ztncui/.env
У які адкрыўся файле, пасля радка «HTTPS_PORT=3443», утрымоўвальнай адрас порта, па якім адчыняецца GUI, трэба дадаць дадатковы радок з адрасам, па якім GUI будзе адчыняцца — у маім выпадку гэта HTTPS_HOST=10.10.10.1.
Далей захаваю файл
Сtrl+C
Y
Enter
і выконваю каманду:
systemctl restart ztncui
І ўсё, зараз GUI майго сеткавага кантролера даступны толькі для вузлоў сеткі 10.10.10.0.24.
замест заключэння
На гэтым першую частку практычнага кіраўніцтва па стварэнні віртуальных сетак на аснове ZeroTier жадаю скончыць. Чакаю вашых каментароў.
А пакуль, каб прабавіць час да моманту публікацыі наступнай часткі, у якой я раскажу, як аб'яднаць віртуальную сетку з фізічнай, як арганізаваць «road warrior» рэжым і сёе-тое яшчэ, прапаную вам паспрабаваць арганізаваць уласную віртуальную сетку з дапамогай прыватнага сеткавага кантролера з GUI на аснове VDS з маркетплэйсу на сайце RUVDS. Тым больш, што для ўсіх новых кліентаў дзейнічае бясплатны тэставы перыяд - 3 дні!
PS Так! Ледзь не забыўся! Выдаліць вузел з сеткі можна камандай у CLI гэтага вузла.