Поднять сервер
Серверу нужна машина с публичным адресом и доменным именем, указывающим на неё. Остальное делает сценарий установки: заводит юнит systemd, настраивает nginx и получает сертификат.
sudo DOMAIN=vnet.example.com sh install.sh
# дальше открыть https://vnet.example.com/admin
# войти как admin / admin и сменить пароль
Требования скромные: одного ядра и 512 МБ памяти хватает на десятки подключённых машин, потому что сервер пересылает кадры, а не обрабатывает их.
Установка клиента
Клиенту нужны две вещи: адрес вашего сервера и код приглашения от него. Всё остальное — адаптер, служба, адрес — он устраивает сам.
sudo dpkg -i elx-vnetwork_*.deb
sudo elxvnet join -server https://vnet.example.com -invite ELX-XXXX-XXXX-XXXX
sudo systemctl enable --now elxvnet
elxvnet status
cd "C:\Program Files\ELX-VNetwork"
elxvnet join -server https://vnet.example.com -invite ELX-XXXX-XXXX-XXXX
elxvnet -service restart
elxvnet status печатает состояние соединения, выданный адрес и всех соседей по сегменту. Большинство вопросов закрывается этой одной командой, ещё до того как что-то открыто.Сегменты и приглашения
Сегмент — независимая сеть. Машины внутри одного видят друг друга; машины в разных сегментах — нет, хотя сервер у них общий. Объект, заказчик или испытательный стенд получают каждый свой.
- Создайте сегмент в панели и назовите его так, чтобы через год узнать.
- Сгенерируйте код приглашения — одноразовый или открытый для партии машин.
- Поставьте клиент с этим кодом.
- Подтвердите машину в панели: до этого она не подключена, а ждёт.
Как читать таблицу участников
| Столбец | О чём говорит |
|---|---|
| Адрес | Постоянный адрес в сегменте, не меняется при переподключении |
| Версия | Версия клиента — устаревшая здесь и есть повод для кнопки обновления |
| В сети | Сколько длится текущая сессия; постоянно обнуляющееся число означает неустойчивый канал |
| Скорость | Текущая полоса в обе стороны |
| Трафик | Итоги за сессию |
| Система | Операционная система, занятая память и загрузка процессора, раз в полминуты |
Столбец «Система» собирается из того, что ядро и так знает; ничего лишнего на удалённую машину ради него не ставится.
Терминал в браузере
Любую Linux-машину сегмента можно открыть терминалом прямо из панели. Это обычная сессия SSH: удалённая машина проверяет вас сама, своими учётными записями и своей политикой паролей. Панель эти пароли не хранит и обойти проверку не может.
Обновление клиентов
- Windows. Клиент обновляется сам, без вопросов.
- Linux. Отставшую машину можно обновить прямо из таблицы участников: панель заходит по SSH и выполняет обновление пакета за вас.
- Вручную. Скачайте новый пакет и поставьте как обычно; приглашение и адрес переживают обновление.
Оповещения
Сервер умеет сообщать, что машина пропала или вернулась, что кто-то ждёт одобрения и что кто-то ошибся паролем. Доставка — в Telegram, письмом или и так и так, со временем в вашем часовом поясе.
Когда машина не подключается
| Симптом | Куда смотреть |
|---|---|
elxvnet status показывает отсутствие связи | Адрес сервера, сертификат или исходящий прокси, перехватывающий TLS |
| Подключено, но адрес не выдан | Машина ещё ждёт подтверждения в панели |
| Адрес выдан, соседи не отвечают | Локальный брандмауэр блокирует виртуальный адаптер — разрешите его как частную сеть |
| Windows видит адаптер, но нет «Сетевого окружения» | Для профиля этого адаптера выключены обнаружение сети и общий доступ к файлам |
| Соединение рвётся каждые несколько минут | Мобильный канал с коротким тайм-аутом простоя или два клиента с одинаковой личностью |
| Работает всё, кроме одного протокола | Этот протокол привязан к другому адаптеру — проверьте порядок интерфейсов и метрики |