Сейчас появилось очень много программ для построения mesh-сетей. Это локальные сети поверх других сетей, где хосты могут соединяться друг с другом напрямую, если есть возможность. А каждый из членов сети может выступать маршрутизатором для доступа к другим ресурсами.
Известными представителями подобных продуктов являются Nebula, Tailscale, Netmaker, Netbird и ZeroTier. На последнем я бы хотел остановиться поподробнее. Он выделяется из этого списка своим протоколом передачи данных, в то время как остальные в основном используют WireGuard. Плюс, Mikrotik в RouterOS7 имеет реализацию, как клиента, так и своего контроллера на базе ZeroTier.
Я раньше только слышал про него, сам не пробовал. Решил исправить это, развернул и протестировал. Сразу скажу, что это не инструмент для обхода блокировок. Он не для этого придуман и в данной роли работает плохо. Не стоит эту тему развивать.
ZeroTier - платный SaaS сервис. Регистрируетесь, платите деньги и получаете личный кабинет для управления всеми своими сетями. Но при этом серверная часть выложена в open source. Каждый может развернуть свой локальный сервер и управлять им через CLI. Я немного изучил команды, там на самом деле всё относительно просто.
В связи с этим появилось очень много реализаций бесплатного веб интерфейса для управления сервером. Я недавно читал статью про настройку Self-Hosted ZeroTier с помощью интерфейса ZTNET, поэтому не стал смотреть другие интерфейсы, а их много, взял сразу этот. В целом, там всё необходимое для управления есть.
Запускаем так:
Можно и вручную всё это сделать. В репозитории есть описание. Теперь можно идти на 3000 порт сервера и регистрировать учётку админа.
Принцип объединения устройств в единую сеть следующий:
1️⃣ Скачиваете клиента под свою систему (есть под все, в том числе мобильные)
2️⃣ В клиенте указываете Network ID или сканируете QR код, который видно в веб интерфейсе. В этом ID, как я понял, закодирован IP контроллера.
3️⃣ Клиент подключается к серверу, на сервере вы подтверждаете его подключение.
4️⃣ Клиент получает IP адрес внутренней сети.
Я объединил Windows, Linux и Mikrotik. Получилось всё без проблем. Узлы сети сразу же напрямую увидели себя по внутренним адресам сети ZeroTier. Заработали RDP, SSH, Winbox.
Вы можете назначить Mikrotik шлюзом для какой-то подсети, которая находится за ним. Клиенты, которые подключатся к общей mesh-сети, могут ходить в ту сеть через него. А какой-нибудь Linux сервер назначить шлюзом для доступа в другую инфраструктуру. То есть каждый узел может выступать в роли и клиента, и шлюза для других. Настраивается это очень просто, буквально в несколько кликов в веб интерфейсе.
Если клиенты не видят друг друга напрямую, то общаются через контроллер. По умолчанию локальный ZeroTier подключается к набору публичных серверов для связи клиентов, которые не могут через ваш сервер увидеть друг-друга. Например, если сервер не в публичном доступе для всех.
В ZTNET это отключается в разделе настроек ZT Controller, где вы можете создать так называемый Custom Planet, который будет работать только локально и никуда подключаться не будет. Вам нужно будет обеспечить к нему прямой доступ всех клиентов, либо опубликовав контроллер напрямую в интернете, либо пробросив к нему порт 9993/udp.
Я всё это настроил. Разобрался со всем за пару-тройку часов. Не могу подробно расписать установку клиентов и команды, потому что лимит на длину заметки. В сети всё это есть, там ничего сложного.
Продукт простой, функциональный, бесплатный и известный. Много кем поддерживается. Так что если нужно что-то подобное, то можете смело использовать. Единственное, я бы поискал какой-то другой GUI. Этот показался немного кривоват, хотя вся необходимая функциональность присутствует.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
———
ServerAdmin:📱 Telegram | 🌐 Сайт | 📲 MAX
#vpn #network
Известными представителями подобных продуктов являются Nebula, Tailscale, Netmaker, Netbird и ZeroTier. На последнем я бы хотел остановиться поподробнее. Он выделяется из этого списка своим протоколом передачи данных, в то время как остальные в основном используют WireGuard. Плюс, Mikrotik в RouterOS7 имеет реализацию, как клиента, так и своего контроллера на базе ZeroTier.
Я раньше только слышал про него, сам не пробовал. Решил исправить это, развернул и протестировал. Сразу скажу, что это не инструмент для обхода блокировок. Он не для этого придуман и в данной роли работает плохо. Не стоит эту тему развивать.
ZeroTier - платный SaaS сервис. Регистрируетесь, платите деньги и получаете личный кабинет для управления всеми своими сетями. Но при этом серверная часть выложена в open source. Каждый может развернуть свой локальный сервер и управлять им через CLI. Я немного изучил команды, там на самом деле всё относительно просто.
В связи с этим появилось очень много реализаций бесплатного веб интерфейса для управления сервером. Я недавно читал статью про настройку Self-Hosted ZeroTier с помощью интерфейса ZTNET, поэтому не стал смотреть другие интерфейсы, а их много, взял сразу этот. В целом, там всё необходимое для управления есть.
Запускаем так:
# wget -O docker-compose.yml https://raw.githubusercontent.com/sinamics/ztnet/main/docker-compose.yml
# sed -i "s|http://localhost:3000|http://$(hostname -I | cut -d' ' -f1):3000|" docker-compose.yml
# docker compose up -d
Можно и вручную всё это сделать. В репозитории есть описание. Теперь можно идти на 3000 порт сервера и регистрировать учётку админа.
Принцип объединения устройств в единую сеть следующий:
Я объединил Windows, Linux и Mikrotik. Получилось всё без проблем. Узлы сети сразу же напрямую увидели себя по внутренним адресам сети ZeroTier. Заработали RDP, SSH, Winbox.
Вы можете назначить Mikrotik шлюзом для какой-то подсети, которая находится за ним. Клиенты, которые подключатся к общей mesh-сети, могут ходить в ту сеть через него. А какой-нибудь Linux сервер назначить шлюзом для доступа в другую инфраструктуру. То есть каждый узел может выступать в роли и клиента, и шлюза для других. Настраивается это очень просто, буквально в несколько кликов в веб интерфейсе.
Если клиенты не видят друг друга напрямую, то общаются через контроллер. По умолчанию локальный ZeroTier подключается к набору публичных серверов для связи клиентов, которые не могут через ваш сервер увидеть друг-друга. Например, если сервер не в публичном доступе для всех.
В ZTNET это отключается в разделе настроек ZT Controller, где вы можете создать так называемый Custom Planet, который будет работать только локально и никуда подключаться не будет. Вам нужно будет обеспечить к нему прямой доступ всех клиентов, либо опубликовав контроллер напрямую в интернете, либо пробросив к нему порт 9993/udp.
Я всё это настроил. Разобрался со всем за пару-тройку часов. Не могу подробно расписать установку клиентов и команды, потому что лимит на длину заметки. В сети всё это есть, там ничего сложного.
Продукт простой, функциональный, бесплатный и известный. Много кем поддерживается. Так что если нужно что-то подобное, то можете смело использовать. Единственное, я бы поискал какой-то другой GUI. Этот показался немного кривоват, хотя вся необходимая функциональность присутствует.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
———
ServerAdmin:
#vpn #network
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍130👎3