Бесплатно, Windows и Linux

Своя локальная сеть через интернет

Компьютеры в разных городах, каждый за своим роутером, видят друг друга так, будто стоят в одной комнате: общие папки, «Сетевое окружение», принтеры, удалённый рабочий стол, SSH. Ничего не нужно настраивать на роутерах — ни проброса портов, ни «белого» IP.

443/TCPобычный HTTPS, как у сайта
L2настоящий Ethernet, широковещание работает
2команды до готовой сети
server@office: ~

Что это умеет

Не «доступ к серверу», а настоящая локальная сеть: широковещание, обнаружение соседей, любые протоколы поверх Ethernet.

Как в одной комнате

Каждой машине выдаётся постоянный адрес вида 10.77.0.5. Соседи видны в «Сетевом окружении», доступны по имени и по адресу.

Терминал прямо в браузере

SSH к любой Linux-машине из панели — обычный вход, имя и пароль спрашивает сама машина. Никаких туннелей руками.

Обновление одной кнопкой

Отставший клиент на Linux обновляется прямо из таблицы: панель заходит по SSH и выполняет apt-get за вас.

Не похоже на VPN

Снаружи видно соединение с обычным сайтом по HTTPS на 443. Никаких характерных VPN-протоколов, которые узнаёт и режет провайдер.

Сегменты и приглашения

Несколько независимых сетей на одном сервере. Машина входит по коду приглашения, а вы решаете, пускать её или нет.

Видно, что происходит

Кто в сети и сколько времени, текущая скорость в обе стороны, трафик, журнал подключений за последние 200 сессий.

Из чего это состоит

Всего две программы. Одна стоит на сервере — обычно это VPS за 200–300 рублей в месяц. Вторая ставится на каждый компьютер, который должен оказаться в сети. Больше ничего не нужно: ни баз данных, ни брокеров, ни сторонних служб.

Ваш компьютерelxvnet
VPS с доменомelxvnet-server
Объект, плата, ноутбукelxvnet

1. Серверная часть — elxvnet-server

Ставится один раз на машину с постоянным адресом и доменным именем: подойдёт самый дешёвый VPS — одно ядро и 512 МБ памяти держат десятки подключённых компьютеров. Это один исполняемый файл около 12 МБ и юнит systemd; база — SQLite в файле рядом, никаких PostgreSQL и Redis ставить не надо.

Внутри него сразу три вещи: панель управления, которую вы сейчас видите на скриншотах; учётные записи, сегменты и коды приглашений; и сам коммутатор, через который идут кадры между машинами. Наружу смотрит только 443 — HTTPS за nginx; сценарий установки сам настроит nginx и получит сертификат Let's Encrypt.

Свой сервер — это не прихоть, а суть: ключи, список машин и весь трафик остаются у вас, а не в чужом облаке. Если поднимать не хочется, можно пользоваться демонстрационным.

2. Клиентская часть — elxvnet

Ставится на каждый компьютер, который должен попасть в сеть. Под Windows это установщик: служба, виртуальный сетевой адаптер и значок у часов. Под Linux — пакет elx-vnetwork для amd64, arm64 и armhf; драйвер не нужен, всё нужное давно в ядре.

Клиент создаёт виртуальный адаптер, получает от сервера постоянный адрес вида 10.77.0.5 и держит одно исходящее соединение. Наружу он ничего не слушает и ничего не просит открыть — поэтому и работает за любым роутером, «серым» IP и мобильным модемом.

Дальше система видит обычную сетевую карту: общие папки, «Сетевое окружение», принтеры, RDP, SSH и что угодно ещё поверх Ethernet работает само, без настройки.

Аналог ZeroTier — без того, что в нём мешает

Задача та же, что у ZeroTier, Tailscale или Hamachi: машины за чужими роутерами оказываются в одной сети. Разница — в том, как это доставлено.

Быстро и сразу

Одно соединение и один путь — никакого перебора маршрутов, пробивания NAT и согласования P2P. Сеть поднимается за пару секунд после запуска и не проваливается на середине работы, когда прямой путь вдруг перестал складываться.

Трафик не режут

Снаружи это обычный HTTPS на 443 — такой же, как открытая в браузере страница. У аналогов свои протоколы поверх UDP: ZeroTier на 9993, Tailscale на WireGuard. Их узнаёт DPI, и у операторов — особенно в мобильных сетях — они первыми попадают под нож.

Небольшой и без хвостов

Клиент — один исполняемый файл около 6 МБ, установщик под Windows 4,7 МБ. Ни Node, ни Electron, ни служб-спутников, ни аккаунта в чужом облаке: сервер ваш собственный, и он тоже один файл.

Ставится в две команды

На Linux — подключить репозиторий и ввести код приглашения; на Windows — запустить установщик и вписать те же две строки. Ни личных кабинетов, ни привязки к почте, ни регистрации устройства у кого-то на стороне.

Именно поэтому автор и взялся за своё решение: задача та же, что у ZeroTier и подобных, но собрана она так, чтобы всё перечисленное не мешало работать.

Установка за две минуты

Ставится клиент, вводится код приглашения — и машина в сети. Сервер можно поднять свой или взять демонстрационный.

Драйвер не нужен — он встроен в ядро. Поддерживаются amd64, arm64 и armhf.

# подключить репозиторий — один раз на машину
sudo wget -qO /usr/share/keyrings/elx-repo.gpg https://repo.um-d.ru/elx-repo.gpg
echo "deb [signed-by=/usr/share/keyrings/elx-repo.gpg] https://repo.um-d.ru stable main" \
    | sudo tee /etc/apt/sources.list.d/elx-repo.list
sudo apt update

# поставить и войти в сеть
sudo apt install elx-vnetwork
sudo elxvnet join -server https://vn.anyremote.ru -invite ELX-XXXX-XXXX-XXXX
sudo systemctl start elxvnet

Скачайте установщик, запустите и на шаге «Подключение к сети» введите адрес сервера и код приглашения. Всё остальное он сделает сам: драйвер адаптера, служба, значок у часов.

REM тихая установка сразу с настройками — для десятка машин
elxvnet-setup-1.0.39.exe /VERYSILENT /SUPPRESSMSGBOXES ^
    /SERVER=https://vn.anyremote.ru /INVITE=ELX-XXXX-XXXX-XXXX

REM или ввести данные позже, из командной строки администратора
cd "C:\Program Files\ELX-VNetwork"
elxvnet join -server https://vn.anyremote.ru -invite ELX-XXXX-XXXX-XXXX
elxvnet -service restart

Сервер — один двоичный файл и systemd-юнит. Ставится на любую машину с белым адресом; сценарий сам получит сертификат Let's Encrypt и настроит nginx.

# на сервере с доменом, от root
sudo DOMAIN=vnet.example.com sh install.sh

# дальше — открыть https://vnet.example.com/admin,
# войти как admin / admin и сменить пароль

Как это выглядит

Панель управления: сегменты слева, машины в таблице, коды приглашений и инструкция для подключения — на одной странице.

Таблица участников в панели ELX-VNetwork
Участники сегмента: адреса, версии, скорость и трафик
Окно терминала ELX-VNetwork
Терминал: обычный вход по SSH, пароль спрашивает сама машина

Все скриншоты →

Скачать

Программа бесплатна целиком: и клиент, и сервер. Ни подписок, ни ограничений по числу машин, ни платных «про»-возможностей.

Windows

Установщик со службой, виртуальным адаптером и значком у часов. Windows 10 и 11, 64-разрядные.

Взять в панели

Debian / Ubuntu

Пакет elx-vnetwork в репозитории repo.um-d.ru: amd64, arm64, armhf. Обновляется обычным apt upgrade.

Команды установки

Сервер

Один файл под Linux amd64 плюс сценарий установки: systemd, nginx и сертификат. Или пользуйтесь демонстрационным.

Демо-сервер
Полностью бесплатно, включая сервер и все возможности

Частые вопросы

То, о чём спрашивают перед тем, как ставить.

Чем заменить ZeroTier или Hamachi, если они не работают у провайдера?

ELX-VNetwork решает ту же задачу — объединяет компьютеры за NAT в одну локальную сеть, — но идёт по обычному HTTPS на порт 443. Для сети снаружи это соединение с сайтом, а не VPN-протокол, поэтому его не за что отличить и нечем отсечь. Ни аккаунта в чужом облаке, ни ограничений по числу машин: сервер ваш.

Как подключиться к компьютеру за NAT без «белого» IP?

Обе машины сами подключаются наружу к серверу и встречаются на нём. Пробрасывать порты, покупать статический адрес или настраивать роутер не нужно — работает и за мобильным модемом, и за «серым» IP провайдера.

Это то же, что ShellHub — удалённый доступ к устройствам?

Похоже, но шире. Удалённый терминал по SSH здесь тоже есть — прямо из браузера, к любой Linux-машине. Но кроме консоли вы получаете полноценную локальную сеть: общие папки, «Сетевое окружение», принтеры, RDP и любые другие протоколы поверх Ethernet.

Что нужно, чтобы поднять свой сервер?

Самый дешёвый VPS с доменным именем: одно ядро, 512 МБ памяти. Сценарий установки ставит службу, настраивает nginx и получает сертификат Let's Encrypt. Сервер — один файл, база — SQLite рядом с ним.

Это правда бесплатно?

Да, целиком: и клиент, и сервер, и все возможности. Ни подписок, ни лимита на число устройств, ни платных «про»-версий.

Какие системы поддерживаются?

Windows 10 и 11 (64-разрядные) и Linux — Debian, Ubuntu и родственные, для amd64, arm64 и armhf. То есть и обычные компьютеры, и одноплатники вроде Orange Pi или Raspberry Pi.

Помощь

Подробная справка живёт внутри панели — она всегда описывает ту версию, которая у вас установлена.

Справка в панели

Установка на Windows и Linux, первые шаги, разбор таблицы участников, терминал, обновление клиента, разбор частых неполадок.

Открыть панель →

Проверить состояние

Команда elxvnet status покажет состояние, выданный адрес и всех соседей по сегменту — с неё стоит начинать любой разбор.

Написать автору

Если что-то не работает или не хватает возможности — напишите. Отвечаем на русском и на английском.

serjaru@gmail.com

Об авторе

ELX-VNetwork написан Сергеем Абаевым (ELX-Device) — из практики, а не из любопытства: десятки объектов с контроллерами за чужими роутерами, к которым нужно попадать так же просто, как к машине в соседней комнате.

Тот же автор делает промышленную автоматизацию, контроллеры и ПО для них, MQTT-брокер и другие инструменты того же семейства.

serjaru@gmail.com

Из чего сделано

  • Go, без cgo — один файл на каждую платформу
  • Транспорт: WebSocket поверх TLS, порт 443
  • Уровень L2: TAP-Windows6 и /dev/net/tun
  • Хранилище: SQLite, без внешних служб
  • Панель: обычный HTML и JavaScript, без сборщиков