Соедините свои офисы, или игровые компьютеры в единую сеть.
Идеальное приложение для соединения локальных сетей распределенной инфраструктуры предприятия, или офисов вашей фирмы. Соединение игровых компьютеров в локальную сеть для совместной игры. И еще много вариантов применения.
ZTNET, это серверное приложение для установки на ваш сервер. Оно заменяет узлы VPN серверов от https://my.zerotier.com/. Дает полную независимость от сторонних каналов обслуживания. Даже при блокировке сервисов zerotier, ваши сети не пострадают, так как они полностью автономны на вашем оборудовании.
Допустим у вас в офисе 1, есть сервер 1С, и вы хотите его расшарить еще на два офиса. При подключении офисов к контроллеру сети ZTNET, каждой машине в офисе (при условии что клиент установлен, настроен и авторизован) выдается IP адрес из определенной подсети, допустим 10.121.15.0/24. При этом компьютер с 1С получает адрес 10.121.15.18, компьютер второго офиса получил 10.121.15.48, а комп из третьего офиса 10.121.15.64. Система работает прозрачно, не нарушая локальной адресации и не перенаправляет трафик интернет. То-есть как компьютер работал, откуда он получал интернет, так все и остается. Единственное - добавляется виртуальный TAP адаптер сети и у вас через адрес допустим второго офиса (10.121.15.48) появляется возможность взаимодействовать с компьютерами первого и третьего офисов. Теперь вы по адресу 10.121.15.18, сможете получить доступ к 1С.
Еще один плюс системы. Она не разворачивает интернет трафик через себя, а это исключает возможность использования VPN для захода на запрещенные законом сайты. В свою очередь это надеюсь поможет избежать блокировки вашего сервера за использование VPN, ведь фактически нарушений закона нет. Через канал соединяются только локальные сети.
Установка ZTNET на VDS или локальный сервер с белым IP.
Конечно можно поставить и на компьютер без наличия белого IP. Ставить буду на свой тестовый ProxMox сервер. Приступим.
Первым делом, после установки системы мы делаем обновление пакетов.
sudo apt update
sudo apt upgrade
Теперь можно ставить пакет Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
Если система ругнется на отсутствие curl, произведите установку этого пакета -
sudo apt install curl
Проверим статус докера в системе
sudo systemctl status docker
Для удобства, поставим Portainer.
Создадим папку для Portainer -
sudo docker volume create portainer_data
Теперь установим -
docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:2.21.5
Заходим в интерфейс и регистрируем пользователя, после регистрации заходим-
Приступаем к установке ZTNET (все операции под root).
В начале, закачиваем файл compose -
wget -O docker-compose.yml https://raw.githubusercontent.com/sinamics/ztnet/main/docker-compose.yml
Теперь нам надо настроить IP адрес нашего сервера в файле. Воспользуемся редактором NANO -
nano docker-compose.yml
В файле ищем строку NEXTAUTH_URL:
Меняем localhost на IP вашего сервера, после этого файл сохраняем нажав Ctrl+o. Что бы выйти из редактора, жмем Ctrl+х.
Теперь ставим при помощи команды -
docker compose up -d
Открыв страницу Portainer и зайдя на вкладку Containers, видим такую картину -
Стек ZTNET успешно установлен и запущен. Теперь нам открыта дорога в интерфейс управления нашими сетями по адресу - http://IP:3000
Нажимаем Начать и попадаем на страницу регистрации администратора -
Регистрируемся и нас перебрасывает в наш интерфейс управления -
- Первым делом идем на страницу Контроллер ZT и опускаемся в низ страницы до раздела ОПАСНАЯ ЗОНА. В этом разделе можно ввести ключ Секрет ZeroTier, который можно получить в аккаунте на оф сайте Zerotier. Эта настройка позволит вам управлять сетями настроенными на официальном сервере. Что бы управлять своими сетями с нашего сервера, надо создать Planet файл. В этом файле содержится адрес нашего сервера и ключи для подключения клиентов. Для генерации файла жмем кнопку СОЗДАТЬ PLANET. При создании, обязательно проконтролируйте IP адрес. Он должен соответствовать адресу вашего сервера.
Видим синюю ссылку api/planet. По нажатию на нее, скачиваем PLANET файл к себе на компьютер.
Программный комплекс, позволяет сразу разделить сети по организациям. Что бы воспользоваться этой функцией, в левом меню жмем кнопку Организация -
Я зарегистрировал как - Тестовая организация, и теперь у нас есть список организаций и их сетей.
Чтобы создать сеть для нашей организации, нажимаем Создать сеть -
Сеть создана, и ждет своих клиентов!
Пора подключать наши компьютеры к нашему-же серверу.
Идем на страницу загрузки клиентов тыц. Там описаны всевозможные методы и платформы установки. Так-как у меня ноут под виндой, я соответственно закачал и установил установщик для виндовс.
После инсталляции, наш клиент настроен на официальные сервера Zerotier. Но мы то хотим использовать наш независимый сервер. Для этого мы и скачали файл planet. Закрываем программу ZeroTier если она запущена. Открываем проводник Win, вводим в адресную строку и переходим по следующему адресу -
%PROGRAMDATA%\ZeroTier\One\
Находим файл с именем planet и удаляем. Теперь скачанный нами с сервера файл с именем planet.custom, копируем на место удаленного и переименовываем его в planet. Запускаем приложение ZeroTier.
Теперь программа знает на какой сервер стучаться для подключения к сети но она не знает ID сети. Для указания адреса сети в всплывающем окне программы, жмем - Join New Network. Откроется окно для ввода идентификатора сети который мы можем скопировать на сервере. Вводим ID в окно программы и жмем Join -
После произведенных операций, наша сеть настроена. Чтобы принять все изменения обязательно перезагрузите компьютер.
После перезагрузки идем в интерфейс ZTNET. И видим что к нашему серверу запрашивает подключение устройство с ID b5eebd3e31, что соответствует идентификатору нашего ZeroTier приложения установленного на ноут.
Смело даем ему доступ.
Программа немного подумает, и выделит адрес в сети. В моем случае присвоен Ip 10.121.15.14.
Давайте теперь проверим нашу сеть. У меня установлен локально на ноуте Winginx. Это универсальный сервер для разработчиков. Единственная настройка заключается в изменении адреса прослушивания. Чтобы его изменить заходим в интерфейс и открываем настройка localhost.
Нам надо изменить параметр listen на 0.0.0.0:80, что откроет доступ к странице со всех сетевых интерфейсов компа. Запускаем nginx, остальные сервисы нам не нужны, и открываем страницу с ip нашего компа. У меня адрес ноута в локалке -192.168.1.216. Его я пока и открою -
А вот в сети сервера ZTNET, адрес у ноута - 10.121.15.14. Теперь вводим и его -
Теперь мы убедились что наша сеть - работает. БИНГООО!
Конечно это еще не полноценная сеть. Вы можете пригласить друга из Малайзии (может у вас есть такой), подключить его к вашей сети и поиграть. Вся сеть защищена по умолчанию, все потоки завернуты в SSH, поэтому о безопасности можно не беспокоиться.
Это конечно не продакшен, но есть варианты спрятать все интерфейсы от публики. Можно даже выставить через VDS свои нужные сервера чтоб они были доступны из интернет.
Всем удачи!