- PVSM.RU - https://www.pvsm.ru -
Продолжая рассказ о ZeroTier, от теории, изложенной в статье «Интеллектуальный Ethernet-коммутатор для планеты Земля [1]», перехожу к практике, в которой:
Как уже было сказано ранее, для создания виртуальных сетей, управления ими, а также подключения узлов, пользователю необходим сетевой контроллер, графический интерфейс (GUI) для которого существует в двух ипостасях:
В своей практике я пользовался обеими и в результате всё-таки остановился на второй. Причиной чему послужило предостережения разработчика.
«Сетевые контроллеры служат центрами сертификации для виртуальных сетей ZeroTier. Файлы содержащие секретные ключи контроллера должны тщательно охраняться и надежно архивироваться. Их компрометация позволяет неавторизованным злоумышленникам создавать мошеннические конфигурации сетей., а потеря — приводит к потере способности контролировать и управлять сетью, фактически делая её непригодной для использования»
→ Ссылка на документацию [2]
А также, признаки собственной ИБ-параноидальности :)
Отдельно останавливаться на том, как развернуть сетевой контроллер и GUI для него на on-premise физических или виртуальных ресурсах, в этой статье я не вижу особого смысла. И тому тоже есть 3 причины:
Поэтому, выбрав путь меньшего сопротивления, буду использовать в данном повествовании сетевой контроллер с GUI на основе
После создания сервера из указанного шаблона, доступ к Web-GUI контроллера пользователь получает через браузер, обратившись по адресу httрs://<IP-адрес сервера>:3443
По умолчанию сервер уже содержит предварительно созданный самоподписанный TLS/SSL сертификат. Для меня этого достаточно, так как я закрываю доступ к нему извне. Для тех же, кто желает использовать другие типы сертификатов, есть инструкция по установке [3] на GitHab разработчика GUI.
При первом входе пользователя в систему Login с установленными по умолчанию логину и паролю — admin и password:
Она предлагает изменить пароль по умолчанию на пользовательский
Я поступаю чуть иначе — не меняю пароль у существующего пользователя, а создаю нового — Create User.
Задаю имя нового пользователя — Username:
Задаю новый пароль — Enter new password:
Подтверждаю новый пароль — Re-enter password:
Вводимые символы чувствительны к регистру — будьте внимательны!
Чек-бокс подтверждения смены пароля при следующем входе — Change password on next login: не отмечаю.
Для подтверждения введенных данных жму Set password:
Потом: перелогиниваюсь — Logout / Login, уже под учётными данными нового пользователя:
Далее перехожу во вкладку пользователи — Users и удаляю пользователя admin, кликнув на иконку корзины, которая находится слева от его имени.
В дальнейшем изменить пароль пользователя, можно кликнув либо на его имя, либо на set password.
Для создания виртуальной сети пользователю необходимо перейти во вкладку Add network. Из пункта User это можно осуществить через страницу Home — главную страницу Web-GUI, на которой отображён ZeroTier-адрес данного сетевого контроллера и присутствует ссылка на страницу списка сетей, через него созданных.
На странице Add network пользователь назначает имя вновь создаваемой им сети.
При применении вводимых данных — Create Network пользователь попадает на страницу со списком сетей, на которой указаны:
Network name — имя сети в виде ссылки, при переходе по которой можно его изменить
Network ID — идентификатор сети
detail — ссылка на страницу с детальными параметрами сети
easy setup — ссылка на страницу для простой настройки
members — ссылка на страницу управления узлами
Для дальнейшей настройки переходим по ссылке easy setup. На открывшейся странице пользователь задаёт диапазон IPv4 — адресов для создаваемой сети. Сделать это можно автоматически, нажатием кнопки Generate network address или вручную, введя в соответствующее поле сетевую маску сети CIDR.
При подтверждении успешного ввода данных необходимо вернуться на страницу со списком сетей с помощью кнопки Back. На этом основную настройку сети можно считать завершённой.
После установки и запуска службы к виртуальным сетям можно подключиться, используя их 16-значные адреса. Каждая сеть выглядит как виртуальный сетевой порт в системе, который ведет себя так же, как обычный порт Ethernet.
Ссылки на дистрибутивы, а также команды установки можно найти на странице производителя [6].
Управлять установленным сервисом можно через терминал командной строки (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 в системном трее и выбора пункта — Join Network.
MacOS: Запустить приложение ZeroTier One в bar menu, если ещё не запущен. Клик на значке ⏁ и выбор Join Network.
Android/iOS: + (изображение плюса) в приложении
В появившемся поле введите указанный в GUI сетевого контроллера Network ID, и жмёте Join / Add Network.
На этой странице оставляем пока всё как есть и по ссылке IP assignment переходим на страницу назначения узлу IP-адреса:
После назначения адреса, по кнопке Back возвращаемся на страницу списка подключенных узлов и задаём название — Member name и отмечаем чек-бокс для авторизации узла в сети — Authorized. Кстати, этот чек-бокс очень удобная вещь для отключения/подключения от сети узла в дальнейшем.
Сохраняем изменения с помощью кнопки Refresh.
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 <IP-адрес другого узла сети> на подключённом к сети устройства, которым в данный момент управляю.
На скриншоте Web-GUI контроллера можно увидеть три подключенных к сети узла:
Поэтому со своего рабочего компьютера я проверяю доступность других узлов командами:
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 и т.д.
Вообще, уменьшить вероятность несанкционированного доступа к
Для этого необходимо подключившись по SSH к
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 на основе
P.S. Да! Чуть не забыл! Удалить узел из сети можно командой в CLI этого узла.
zerotier-cli leave <Network ID>
200 leave OK
или командой Delete в GUI клиента на узле.
Автор: Andrey Korhonen
Источник [7]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/sistemnoe-administrirovanie/344879
Ссылки в тексте:
[1] Интеллектуальный Ethernet-коммутатор для планеты Земля: https://habr.com/ru/company/ruvds/blog/484178/
[2] Ссылка на документацию: https://www.zerotier.com/manual/#2_2_1
[3] рассказано: https://github.com/key-networks/ztncui
[4] VDS: https://www.reg.ru/?rlink=reflink-717
[5] из шаблона: https://ruvds.com/ru-rub/marketplace/zerotier#advantages
[6] на странице производителя: https://www.zerotier.com/download/
[7] Источник: https://habr.com/ru/post/485914/?utm_source=habrahabr&utm_medium=rss&utm_campaign=485914
Нажмите здесь для печати.