Self-hosted mesh: Headscale, NetBird, Netmaker, Nebula, ZeroTier и OpenZiti

Цикл «Виды связности и SDN», часть 9. Предыдущая часть: «Шифрование в SDN: MACsec, IPsec, WireGuard и mTLS».
Срез по продуктам: уровень, NAT/relay, управление, HA.
Список функций mesh-платформ выглядит одинаково: зашифрованная сеть, простое подключение, ACL, DNS, NAT traversal. Различия начинаются после вопросов о data plane, relay и отказе управления. Типы HA и тесты отказа — в части 5; свойства NAT и TCP/443 — в части 7.
Headscale
Headscale — self-hosted реализация control server для клиентов Tailscale. Клиенты используют WireGuard, пытаются построить прямой UDP-путь и при необходимости работают через DERP.
Сильные стороны:
- знакомые клиенты Tailscale;
- собственный control plane;
- ACL и OIDC;
- возможность своего DERP;
- сравнительно простая установка.
Ограничения:
- проект ориентирован на один tailnet, self-hosters и небольшие организации;
- официально рекомендуется SQLite; PostgreSQL в режиме сопровождения;
- штатного active-active control plane нет;
- интерфейсы управления в основном сторонние;
- DERP — отдельный компонент, его нет внутри бинарника Headscale.
Хороший выбор для лаборатории, небольшой команды и собственной инфраструктуры, если один контроллер с нормальным резервным копированием допустим.
NetBird
NetBird строит L3-сеть на WireGuard. Management управляет узлами, адресами и policies, Signal помогает установить P2P, Relay используется при неудачном прямом соединении.
Плюсы:
- полноценный self-hosting;
- web-интерфейс и identity integration;
- прямой WireGuard data plane;
- relay с QUIC и запасным WebSocket;
- несколько relay;
- маршрутизация сетей за routing peers.
Нюанс HA: Community — один Management. Active-active Management и Signal — Enterprise (PostgreSQL, Redis, NATS). Несколько собственных relay доступны в обеих редакциях.
Netmaker
Netmaker автоматизирует WireGuard между серверами, площадками и пользователями. Он удобен для full mesh и site-to-site, предоставляет gateways, egress и remote access.
Сильная сторона — использование kernel WireGuard и ориентация на производительный L3 overlay.
UDP/443 в конфигурации WireGuard остаётся UDP. TCP/443 у Netmaker — UI, API и служебные каналы, а не универсальный data fallback. При сравнении редакций отдельно смотрят failover, расширенные ACL и observability.
Nebula
Nebula использует собственный зашифрованный UDP overlay, сертификаты и локальный firewall. Lighthouses помогают участникам найти друг друга, но не обязаны пропускать data plane.
Можно указать несколько lighthouses. Для сложного NAT существуют UDP relays. Управление в большей степени файловое и распределённое: нет обязательной тяжёлой панели и центральной базы для каждого изменения.
Это нравится тем, кто предпочитает понятные конфиги и PKI. Обратная сторона — больше собственной автоматизации, а полный запрет UDP не переживается штатным TCP fallback. Несколько lighthouses — это HA discovery, а не HA data plane.
ZeroTier
ZeroTier предоставляет виртуальный Ethernet-порт поверх зашифрованной P2P-сети. Это делает его удобным там, где нужна L2-подобная модель, multicast или подключение приложений, ожидающих обычный сетевой интерфейс.
Для discovery используются публичные root servers (planet). Private moons официально deprecated и для новых внедрений не рекомендуются. Политики применяются распределённо на endpoints. При проблемах с UDP разворачивают отдельный TCP relay через HTTPS — это не тот же механизм, что UDP-ретрансляция через roots.
С версии 1.16 контроллер больше не входит в дефолтные пакеты по умолчанию: self-host control plane возможен, но это отдельное решение по поставке и лицензии.
OpenZiti
OpenZiti стоит в другой колонке. Он не обязан создавать общую IP-сеть между устройствами. Пользователь или приложение получает доступ к разрешённому сервису через fabric routers.
Есть tun/tproxy intercept, но это не делает OpenZiti IP-mesh в смысле WireGuard.
Преимущества:
- identity-based policy;
- сервисы не требуется публиковать в обычной IP-сети;
- endpoints инициируют исходящие соединения;
- edge router может использовать TCP/443;
- контроллеры поддерживают RAFT-кластер.
Цена — более сложная архитектура и иной способ мышления. Это не «быстро заменить WireGuard», а построить сервисный overlay.
Короткая матрица
| Решение | Модель | Оба узла за NAT | Relay | Data fallback через TCP/443 | HA управления |
|---|---|---|---|---|---|
| Headscale | WireGuard L3 | да | DERP отдельно от control plane | да | нет active-active |
| NetBird | WireGuard L3 | да | да | QUIC / запасной WebSocket | Community: нет; Enterprise: да |
| Netmaker | WireGuard L3 | условно | gateway/relay | нет штатного TCP data fallback | Pro/внешнее |
| Nebula | собственный L3 | условно | UDP relay | нет | несколько lighthouses |
| ZeroTier | виртуальный Ethernet | да | UDP через roots + отдельный TCP relay | отдельный TCP relay | зависит от схемы |
| OpenZiti | сервисный overlay | да | fabric routers | TCP/443 | RAFT-кластер |
Полная таблица — в tables/solution-matrix.md. Оценки архитектурные, до лаборатории.
Как выбирать
Небольшой self-hosted tailnet: Headscale.
Современная панель, identity и хорошие relay-механизмы: NetBird.
Производительный WireGuard site-to-site/full mesh: Netmaker, но с проверкой редакции.
Минимум центральной панели и собственная PKI: Nebula.
Нужна виртуальная Ethernet-модель: ZeroTier.
Доступ строится вокруг сервисов и identity, а не общей IP-сети: OpenZiti.
Окончательный выбор делаем не по таблице возможностей, а после лаборатории: два CGNAT, запрет UDP, потеря контроллера, отказ relay и измерение рабочего MTU.
Где это ломается
- Панель зелёная, а data plane сидит на далёком relay.
- Community принимают за HA, потому что «есть Postgres».
- UDP/443 Netmaker записывают как HTTPS fallback.
- Private moon ZeroTier поднимают как актуальный способ self-host discovery.
- OpenZiti сравнивают с WireGuard mesh как с взаимозаменяемыми продуктами.
В следующей части те же оси — уровень, VTEP, control plane — появятся в фабрике ЦОД, уже без mesh-панели.
Предыдущая часть: «Шифрование в SDN: MACsec, IPsec, WireGuard и mTLS»
Оглавление цикла: «SDN без магии: карта видов связности»
Следующая часть: «SDN в ЦОД: spine-leaf, EVPN/VXLAN и OVN»











