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, створанага з шаблону, ласкава распрацаванага маімі калегамі з RuVDS.

першапачатковая настройка

Пасля стварэння сервера з паказанага шаблону, доступ да 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
У далейшым змяніць пароль карыстальніка, можна клікнуўшы або на яго імя, або на set password.

Стварэнне віртуальнай сеткі

Для стварэння віртуальнай сеткі карыстачу неабходна перайсці ва ўкладку Дадаць сетку. З пункта карыстальнік гэта можна ажыццявіць праз старонку Галоўная - галоўную старонку 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 <Network ID>

    Вынік: 

    200 join OK

    GUI:

    Windows: клікам правай кнопкай мышы на абразку ZeroTier One у сістэмным трэі і выбару пункта Далучайцеся да сеткі.

    Powered by ZeroTier. Практычнае кіраўніцтва па будаўніцтве віртуальных сетак. Частка 1
    MacOS: Запусціць дадатак ZeroTier One у bar menu, калі яшчэ не запушчаны. Клік на значку ⏁ і выбар Далучайцеся да сеткі.

    Android/iOS: + (малюнак плюсу) у дадатку

    Powered by ZeroTier. Практычнае кіраўніцтва па будаўніцтве віртуальных сетак. Частка 1
    У якое з'явілася поле ўвядзіце паказаны ў GUI сеткавага кантролера Ідэнтыфікатар сеткі, і цісне Join / Add Network.

  4. Прызначэнне вузлу IP-адраса
    Цяпер вяртаемся да сеткавага кантролера і на старонцы са спісам сетак перайсці па спасылцы членаў. Калі на экране вы ўбачылі карцінку аналагічнай гэтай - значыць ваш сеткавы кантролер атрымаў запыт на пацверджанне падлучэння да сеткі ад падключанага вузла.

    Powered by ZeroTier. Практычнае кіраўніцтва па будаўніцтве віртуальных сетак. Частка 1
    На гэтай старонцы пакідаем пакуль усё як ёсць і па спасылцы Прызначэнне IP пераходзім на старонку прызначэння вузлу IP-адрасы:

    Powered by ZeroTier. Практычнае кіраўніцтва па будаўніцтве віртуальных сетак. Частка 1
    Пасля прызначэння адрасы, па кнопцы назад вяртаемся на старонку спісу падлучаных вузлоў і задаём назву — Member name і адзначаем чэк-бокс для аўтарызацыі вузла ў сетцы упаўнаважаны. Дарэчы, гэты чэк-бокс вельмі зручная рэч для адключэння/падлучэнні ад сеткі вузла ў далейшым.

    Powered by ZeroTier. Практычнае кіраўніцтва па будаўніцтве віртуальных сетак. Частка 1
    Захоўваем змены з дапамогай кнопкі абнаўленне.

  5. Праверка статусу падключэння вузла да сеткі:
    Для праверкі статусу падключэння на самым вузле выконваем:
    CLI:

    zerotier-cli listnetworks

    Вынік:

    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:

    Статус сеткі мусіць быць OK

    Для падлучэння астатніх вузлоў паўтараем аперацыі 1-5 для кожнага з іх.

Праверка сеткавай складнасці вузлоў

Я раблю гэта з дапамогай выканання каманды ping на падлучаным да сеткі прылады, якім у дадзены момант кірую.

Powered by ZeroTier. Практычнае кіраўніцтва па будаўніцтве віртуальных сетак. Частка 1
На скрыншоце Web-GUI кантролера можна ўбачыць тры падлучаныя да сеткі вузла:

  1. ZTNCUI - 10.10.10.1 - Мой сеткавы кантролер з GUI – VDS у адным з ДЦ RuVDS. Для звычайнай працы няма неабходнасці дадаваць яго ў сетку, але я зрабіў гэта, бо жадаю зачыніць доступ да вэб-інтэрфейсу звонку. Пра гэта крыху пазней. 
  2. MyComp - 10.10.10.2 - мой працоўны кампутар - фізічны ПК
  3. Backup - 10.10.10.3 - VDS ў іншым ДЦ.

Таму са свайго працоўнага кампутара я правяраю даступнасць іншых вузлоў камандамі:

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 гэтага вузла.

zerotier-cli leave <Network ID>

200 leave OK

або камандай Delete у GUI кліента на вузле.

-> Увядзенне. Тэарэтычная частка. Інтэлектуальны Ethernet-камутатар для планеты Зямля
-> Практычнае кіраўніцтва па будаўніцтве віртуальных сетак. Частка 1
-> Практычнае кіраўніцтва па будаўніцтве віртуальных сетак. Частка 2

Powered by ZeroTier. Практычнае кіраўніцтва па будаўніцтве віртуальных сетак. Частка 1

Крыніца: habr.com

Дадаць каментар