Настройка точек распространения

Настройка точек распространения — развёртывание дополнительных узлов RuDesktop в режиме исполнителя (INSTALL_MODE=executor), которые подключаются к общим Redis и PostgreSQL главного сервера, забирают оттуда задачи (например, выполнение политик) и выполняют их у себя — это снимает нагрузку с главного сервера и позволяет распараллелить выполнение задач между несколькими узлами

Регистрация и параметры точки распространения настраиваются на странице Точки распространения в веб-интерфейсе

Предупреждение

Версии сервера RuDesktop на главном узле и на точке распространения должны совпадать. После обновления главного сервера на новую версию точку распространения необходимо обновить до той же версии — иначе часть функциональности может работать некорректно

Сетевые порты и потоки данных

Точка распространения участвует в передаче файлов на устройства по цепочке главный сервер → точка распространения → конечное устройство. Ниже приведены сетевые соединения, которые нужно разрешить на межсетевом экране.

Соединение

Инициатор

Протокол

Порт

Кэширование файла: точка распространения загружает файл из хранилища главного сервера

Точка распространения → главный сервер

HTTPS (TCP)

веб-порт главного сервера (по умолчанию 443)

Загрузка файла на устройство: устройство забирает файл с точки распространения

Конечное устройство → точка распространения

HTTPS (TCP)

веб-порт точки распространения (по умолчанию 443)

Управляющий канал: запуск задач и получение результата (протокол RuDesktop)

Конечное устройство и точка распространения → главный сервер (сервер подключений)

WSS (WebSocket поверх TLS)

443

Доступ к общим службам главного сервера

Точка распространения → главный сервер

Redis / PostgreSQL

32459 / порт PostgreSQL

Управление по SSH (если для устройства выбран тип подключения SSH)

Точка распространения → конечное устройство

SSH (TCP)

22

Примечание

Значение 443 приведено по умолчанию — фактически это веб-порт узла (параметр PUBLIC_PORT), заданный при установке. Если узел развёрнут на нестандартном порту (например, на ALT Server порт отличается от 443), укажите соответствующий порт

Важно

В штатном режиме (протокол RuDesktop) на управляемых устройствах не требуется открывать входящие порты — и управляющий канал, и загрузка файла выполняются исходящими соединениями от самого устройства. Входящий доступ по веб-порту нужен только на серверных узлах: главном сервере и точках распространения

Подключение точки распространения

Для подключения точки распространения к серверу RuDesktop выполните следующие шаги

Создание точки распространения в веб-интерфейсе

Создайте точку распространения на странице Точки распространения в веб-интерфейсе главного сервера. На этом этапе достаточно указать название и IPv4-адрес узла — параметры будут применены, когда узел выйдет на связь

Настройка главного сервера

Примечание

Этот раздел нужен, если Redis и PostgreSQL развёрнуты на самом главном сервере — для того, чтобы открыть к ним сетевой доступ с узла точки распространения. Если базы вынесены на отдельные серверы, настраивайте сетевой доступ на них и переходите сразу к разделу Настройка точки распространения

Чтобы подключить точку распространения к главному серверу, на котором развёрнуты Redis и Postgres, необходимо открыть к ним внешнее подключение

Для этого выполните следующие действия:

Чтобы открыть доступ к Redis и защитить его паролем, отредактируйте файл конфигурации, который находится по пути /etc/rudesktop/redis.conf

В файле найдите строку, начинающуюся с bind, и укажите IP-адрес сервера, например:

bind 127.0.0.1 192.168.10.10 -::1

И добавьте пароль

requirepass <ваш_пароль>

Подсказка

Не забудьте заменить <ваш_пароль> на актуальный и сложный пароль

Важно

Настройка requirepass потребует пароля для всех подключений, что усилит безопасность Redis-сервера

В файле /etc/default/rudesktop определите переменную, которая используется для указания адреса Redis:

REDIS_URL='redis://:<ваш_пароль>@127.0.0.1:32459'

Также вы можете развернуть Redis и Postgres отдельно от главного сервера RuDesktop по инструкциям и подключить главный сервер и точку распространения к ним

Настройка точки распространения

  1. Добавьте репозиторий

    mkdir -p /usr/share/keyrings/
    wget -qO - https://storage.rudesktop.ru/repos/stable3.0/rudesktop.gpg | sudo gpg --dearmor -o /usr/share/keyrings/rudesktop.gpg
    echo "deb [signed-by=/usr/share/keyrings/rudesktop.gpg] https://storage.rudesktop.ru/repos/stable3.0 stable3.0 non-free" | sudo tee /etc/apt/sources.list.d/rudesktop.list
    apt-get update -y
    
  2. Установите сервер RuDesktop с переменной INSTALL_MODE=executor на узле:

    INSTALL_MODE=executor apt install rudesktop-server -y
    
  3. Откройте файл по пути /etc/default/rudesktop и добавьте следующее:

    SETUP_SERVER='Адрес главного сервера'
    
    REDIS_URL='Адрес и порт Redis'
    
    POSTGRES_HOST='Адрес БД'
    POSTGRES_PORT='Порт БД'
    POSTGRES_DB='Имя БД'
    POSTGRES_USER='Пользователь БД'
    POSTGRES_PASSWORD='Пароль БД'
    

    Важно

    • SETUP_SERVER — укажите адрес главного сервера, например 192.168.10.10

    • REDIS_URL — укажите адрес и порт Redis, если необходимо с паролем, например redis://:password@192.168.10.10:32459

    • POSTGRES — укажите настройки Postgres

  4. Выполните команду, указав адрес главного сервера:

    rude setup_server --skip-relay <АДРЕС_ГЛАВНОГО_СЕРВЕРА>
    
  5. Перезагрузите узел командой:

    rude restart
    
  6. Запустите задачу и убедитесь, что политики запустились на точке распространения. Перейдите на страницу Очередь задач — в колонке Точка распространения должно отображаться название настроенного узла

Проверка доступности Redis

Примечание

Раздел опциональный — нужен только для диагностики, если точка распространения не получает задачи

Чтобы убедиться, что узел может подключиться к Redis главного сервера:

  1. Установите на узле пакет redis-tools

  2. Подключитесь к Redis главного сервера:

    redis-cli -h <АДРЕС_ГЛАВНОГО_СЕРВЕРА> -p 32459
    
  3. Выполните авторизацию командой AUTH:

    AUTH <ваш_пароль>
    

    Если в ответ возвращается OK, авторизация успешна

    Важно

    Не передавайте пароль в командной строке через -a или --pass — он может попасть в историю shell или быть виден другим пользователям через список процессов. Используйте интерактивный AUTH после подключения

  4. Выполните команду PING. Ответ PONG означает, что узел успешно установил соединение с Redis

Обновление точки распространения

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

Обновление выполняется на узле точки распространения:

  1. Обновите пакет сервера RuDesktop:

    apt-get update -y
    apt-get install --only-upgrade rudesktop-server -y
    
  2. Перезапустите узел:

    rude restart
    
  3. Убедитесь, что точка снова вышла на связь: на вкладке «Информация об узле» страницы Точки распространения отобразится актуальная версия сервера