← Назад к «Интерфейсы (UI)»

Интерфейс Edge

Экран входа Edge

Обзор Edge

Зачем нужен этот раздел#

Edge — это пограничный сервер в DMZ. Его задача — быть «почтовым ящиком» между закрытым контуром организации и интернетом: скачивать оттуда репозитории, OVAL-базы, KB и доставлять их на Master. Без Edge Master был бы вынужден сам ходить в интернет, что во многих контурах запрещено политикой безопасности.

У Edge есть собственный веб-интерфейс, полностью отдельный от Master. Открывается по адресу https://<edge-host>:<порт> (по умолчанию 443). Вход — логин admin, пароль из переменной EDGE_UI_PASSWORD (файл .env).

infoEdge ≠ Master

Edge не хранит клиентов, не применяет политики, не запускает кампании. У него своя задача: качать и раздавать файлы. Поэтому UI у него совсем другой — про файлы, расписания, зеркала и хранилища.

Какие вкладки есть#

Edge устроен вокруг файлов и их движения через границу контура:

Вкладка Зачем
Обзор Сводка: сколько файлов в очереди, сколько скачано, состояние диска. Кнопка быстрого добавления зеркала по пресету.
Загрузки Текущие и исторические задачи скачивания файлов.
Файлы Файлы, уже скачанные и лежащие в хранилище.
Расписания Регулярные задачи по cron — что и когда Edge должен тянуть.
Хранилища Каталоги на диске, где Edge физически хранит файлы.
Зеркала Зеркала внешних репозиториев (Astra, Debian, РЕД ОС, ALT и т.д.) — главный механизм доставки пакетов в контур.
Шаттл Файловый шаттл: идентичность Edge, назначения носителей, мастер экспорта бандла для закрытого Master.
Логи Журнал событий Edge.
Настройки Сетевые параметры, прокси upstream, SSL-сертификат, API-ключи, пароль админа.

Вкладка «Обзор»#

Обзор Edge

Сводные карточки по состоянию Edge:

  • В очереди — сколько задач ждёт скачивания.
  • Загружается — сколько задач прямо сейчас активны.
  • Завершено — сколько успешно скачано.
  • Ошибки — сколько задач завершились с ошибкой. Если число растёт — что-то не так с upstream или каналом.
  • В хранилище — суммарный объём файлов на Edge.
  • Не забрано — файлы, которые Master ещё не забрал с Edge. Большое число = Master долго не синхронизировался.
  • Карантин — файлы, попавшие в карантин (например, AV-проверка не пройдена).
  • AV проверено — сколько файлов прошло антивирусную проверку (если включён EDGE_AV_ENABLED).

Под карточками:

  • Сеть сейчас — живая картина сетевой активности. Блок «Скачивается из интернета»: зеркала и загрузки с именем, файлом, прогрессом и скоростью. Блок «Раздача сайтам»: по каждому сайту скорость, занятые потоки из лимита («4 из 4» подсвечивается: новые запросы получают 503 и повторяют позже), общий расход потоков и файлы, которые отдаются прямо сейчас. Данные обновляются раз в 5 секунд, пока открыт «Обзор». Раздача считается раздатчиком lsus-edge-repod: если он недоступен, блок так и пишет, а загрузки из интернета показываются всё равно. Те же сведения есть в карточке Edge на мастере.
  • Карточка «Добавить зеркало репозитория» — короткий путь к мастеру создания зеркала (см. ниже).
  • Диагностика upstream — полезный инструмент: проверяет цепочку DNS → TCP → TLS → HTTP до указанного URL. Используется, когда зеркало «не качается», — сразу видно, на каком этапе обрывается соединение.

Вкладка «Загрузки»#

Загрузки Edge

Список задач скачивания — текущих и исторических. Здесь видно:

  • Что Edge сейчас качает и на каком прогрессе.
  • Что уже скачано, когда и куда положено.
  • Какие задачи завершились с ошибкой (с текстом ошибки).

Кнопка «+ Создать загрузку» — вручную создать разовую задачу: указать URL, тип файла (package / repo / oval / kb / iso / cert / crl / other), хранилище.

lightbulbЧем «Загрузки» отличаются от «Расписаний»

  • Загрузки — точечные задачи (разовые или инициированные расписанием).
  • Расписания — шаблоны задач по cron, которые порождают загрузки.

Вкладка «Файлы»#

Хранилище Edge

Файлы, уже лежащие в хранилище Edge. Отсюда их можно:

  • Скачать — вручную выгрузить с Edge (например, чтобы забрать на Master в офлайн-режиме).
  • Удалить — освободить место.
  • Передать Master'у — инициировать синхронизацию конкретного файла с Master.

Вкладка «Расписания»#

Расписания Edge

Регулярные задачи по cron. Например:

  • «Каждый день в 03:00 скачивать свежий wsusscn2.cab».
  • «Каждое воскресенье в 02:00 обновлять зеркало Astra Linux 1.8 main».

Часы в cron и в кнопках вроде «Ежедневно 02:00» — в поясе Пограничного сервера (Настройки → Сервер). Пустое значение — UTC; подпись в форме это показывает. Колонки «последний запуск» и «начало» показываются в поясе браузера.

В каждой записи:

  • Имя расписания.
  • URL источника.
  • Тип файла.
  • Cron-выражение (с кнопками быстрой вставки: «Ежедневно 03:00», «Каждые 6ч» и т.п.).
  • Хранилище назначения.
  • Активность (можно временно выключить).

Вкладка «Хранилища»#

Хранилища Edge

Каталоги на диске Edge, где физически лежат файлы. Один Edge может иметь несколько хранилищ на разных дисках:

  • «Основное» — на быстром диске для горячего кэша.
  • «Архив» — на дешёвом HDD для старых версий.

В карточке хранилища видно: путь, размер, свободное место, количество файлов.

Вкладка «Зеркала»#

Зеркала Edge

Главная функциональность пограничного сервера — зеркалирование внешних репозиториев. Зеркало — это локальный срез репозитория для пакетного менеджера: метаданные и пакеты, которые нужны apt/dnf для обновления уже установленных систем в рамках suite, компонентов и архитектуры зеркала. Это не побайтовая копия всего каталога вендора.

Состав зеркала по семействам:

Семейство Что попадает в зеркало
APT (Debian, Astra) Подпись выпуска (Release/InRelease), индексы пакетов выбранной архитектуры и all, служебные метаданные, которые запрашивает apt (переводы, AppStream, иногда Contents), пакеты .deb из этих индексов
DNF (РЕД ОС и аналоги) Весь каталог метаданных repodata и RPM выбранной архитектуры плюс noarch; записи других архитектур и исходников в тех же индексах пропускаются
APT-RPM (Альт) Каталог base/ и RPM указанных компонентов и архитектур; noarch и 32-битные пакеты — только если включены в настройках зеркала

Чего в зеркале не будет — и это ожидаемо: пакеты установщика (.udeb), исходники, пакеты чужих архитектур, debuginfo. Их отсутствие при зелёной синхронизации — не «недокачали», а штатный состав зеркала.

Проверка целостности зеркала#

Проверка из меню зеркала («Проверить целостность») сверяет дерево с тем же составом — индексами и пакетами выбранного среза, а не с каталогом вендора. Режимы:

  • Быстрая — сверяет размер и время каждого файла с накопленным индексом контрольных сумм; выполняется после синхронизации (если включена галочка в настройках зеркала).
  • Полный проход — перечитывает каждый файл и сверяет контрольную сумму: видит порчу содержимого, при которой размер и время файла не изменились (деградация носителя, перезапись «в ноль»). Запускается вручную и периодически по расписанию.

Индекс контрольных сумм накапливается при синхронизациях — повторно файлы не хешируются, отсутствующие записи чистятся.

lightbulbПочему срез, а не весь каталог

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

В таблице зеркал:

  • Имя зеркала.
  • URL upstream.
  • Семейство ОС (Astra, Debian, РЕД ОС, ALT и т.д.).
  • Локальный путь.
  • Дата последней синхронизации.
  • Статус (ожидание / синхронизация / готово / ошибка / не опубликовано).

Действия над зеркалом: синхронизировать сейчас, редактировать, удалить.

infoСекции без контента на repo.lsus.ru

Некоторые файловые секции (AI-модели, OVAL-пресеты и другие зарезервированные разделы) на repo.lsus.ru могут ещё не быть опубликованы. После синхронизации такое зеркало получает статус «Не опубликовано», а не «Ошибка»: канал и токен в порядке, контента пока нет. Когда файлы появятся в репозитории, повторная синхронизация снимет этот статус.

Секция agent/ (универсальный клиент lsus-agent: бандлы и пакеты загрузчика) зеркалируется на Edge как остальные файловые секции repo.lsus.ru. Туда же входит секция «Замены обновлений» (windows/supersedence): мастер забирает файл сам. Откуда он берётся — сборка на этом пограничном сервере или зеркало repo.lsus.ru — задаётся на вкладке Windows мастера; отдельного расписания на Edge нет. Ручной запуск зеркала из визарда файловых секций остаётся запасным путём, когда источник — репозиторий. Master видит секцию агента на вкладке «Универсальный клиент → Источники и доставка» и забирает релиз кнопкой — либо автоматически, если включена настройка автозабора (подробнее — Универсальный клиент lsus-agent).

Вкладка «Шаттл»#

Шаттл Edge

Сторона Edge файлового шаттла — канала доставки обновлений закрытому Master без IP-связности (полный сценарий — в руководстве «Файловый шаттл»):

  • Идентичность — ID Edge, отпечаток и публичный ключ подписи бандла (их вставляют в карточку канала «Шаттл» на Master) и статус закреплённого ключа Master;
  • Назначения — куда писать бандлы: локальный каталог тома, SMB или SFTP; «Проверить» показывает свободное место и тип ФС (FAT32 предупреждает о файлах больше 4 ГБ);
  • Мастер экспорта бандла — пять шагов: назначение → что знает Master (квитанции) → задачи Master (TOFU-подтверждение ключа, выполнение запроса) → состав («Запрошено Master / Новое с прошлого рейса / Уже у Master / Не запрошено») → запись бандла;
  • Автоэкспорт — раз в 6 часов Edge сам собирает бандл из запрошенного Master.

Уведомления Edge о шаттле: бандл готов к переносу, задачи Master применены, ошибка экспорта, бандл не забран.

Создание зеркала по пресету — мастер за 4 шага#

На вкладке «Зеркала» есть кнопка «Создать зеркало по пресету». Она открывает пошаговый мастер, который проводит через создание зеркала без необходимости вручную вбивать URL, suite, компоненты и расписание.

lightbulbЗачем мастер, а не свободная форма

Мастер решает три задачи:
1. Не нужно искать URL — встроенная библиотека пресетов содержит выверенные адреса для Astra, Debian, РЕД ОС, ALT и других.
2. Массовое создание — можно выбрать сразу несколько пресетов (например, Astra 1.7 + Astra 1.8 + Debian 12), задать им общее расписание одним кликом и создать все за один проход.
3. Защита от ошибок — параметры уже заполнены и проверены; остаётся только подтвердить или при необходимости поправить.

Шаг 1. Источник#

Выбор из дерева пресетов: ОС сгруппированы по семейству (Astra, Debian, РЕД ОС, ALT и т.д.), у каждой ветки — готовые URL, suite и компоненты. Можно отметить несколько пресетов сразу. Уже созданные зеркала помечены и недоступны для повторного создания.

После выбора пресетов кнопка «Далее» становится активной — можно переходить к параметрам.

Шаг 2. Параметры#

Проверка значений, взятых из пресетов. Для каждого выбранного зеркала видно: имя, URL, архитектуру, хранилище. Если нужно поправить конкретный параметр — клик по строке открывает расширенную форму (URL, аутентификация upstream, TLS-сертификат, GPG-проверка).

Шаг 3. Расписание#

Настройка частоты синхронизации для каждого зеркала. Кнопки быстрого применения ко всем:
- «Всем ежедневно 02:00» — стандартный nightly-режим (02:00 в поясе Пограничного сервера).
- «Всем каждые 6 ч» — для часто обновляемых репозиториев.
- «Всем вручную» — синхронизация только по кнопке.
- «Разбросать 22:00–06:00» — автоматически распределяет старт синхронизаций по ночному окну, чтобы не перегружать канал и upstream.

Шаг 4. Итог#

Сводка всех параметров: сколько зеркал будет создано, их имена, URL, расписания. Кнопка «Создать зеркало» запускает процесс — зеркала создаются и первая синхронизация начинается автоматически.

Импорт и экспорт набора пресетов#

На вкладке «Зеркала» есть панель импорта/экспорта пресетов — можно сохранить свой кастомный пресет в JSON и перенести на другой Edge. Полезно для идентичности конфигураций в нескольких DMZ.

Вкладка «Логи»#

Логи Edge

Журнал событий Edge: что когда качалось, какие ошибки возникали, когда Master забирал файлы.

Фильтры по типу события, по статусу, по дате. Поддерживается экспорт в файл — полезно для отправки в техподдержку.

Вкладка «Настройки»#

Настройки Edge

Параметры самого Edge:

Подвкладка «Сервер» (только для роли admin):

  • Часовой пояс расписаний зеркал и загрузок (IANA, например Europe/Samara). Пусто — UTC.
  • Внешний порт HTTPS за фронт-nginx (если nginx включён).

Подвкладка «Прокси» — upstream-прокси, через который Edge ходит в интернет. Если в вашей DMZ весь трафик через прокси — укажите его здесь:

  • HTTP-прокси. HTTPS по умолчанию повторяет его и остаётся редактируемым: при необходимости задайте отдельный URL.
  • URL обычно http://прокси:порт даже для HTTPS — так работает CONNECT-прокси.
  • Логин/пароль (если требуется). Пароль не пишется в файл репозитория и не показывается в ходе синхронизации зеркала.

Подвкладка «Скорость» — глобальные лимиты:

  • Максимальная скорость скачивания (КБ/с) — чтобы Edge не забил весь канал DMZ.
  • Параллельные потоки.
  • Раздача сайтам — как Edge отдаёт зеркала сайтам. Потоков на сайт (1–32, по умолчанию 4) и скорость на сайт (КБ/с, 0 — без лимита) действуют на каждый ключ сайта отдельно. Всего потоков (0 — автоматически: не меньше 64 и 4 на каждый ключ, до 512) — общий предел раздачи. Число одновременных копий на сайт задаётся на мастере параметром «Копий с одного Edge на сайт»; при N потоках на сайт и K сайтах одновременно нужно до N×K потоков в общем лимите. Значения применяются сразу, без перезапуска; те же поля — в карточке Edge на мастере («Настройки»). Приоритет: настройка из интерфейса, затем переменные окружения, затем умолчание.

Подвкладка «Мой пароль» — смена пароля admin.

Подвкладка «API-ключи» (только admin):

  • Создание, удаление, просмотр ключей с ролями admin и readonly.
  • Ключ с ролью admin нужен для регистрации Edge на Master.

warningAPI-ключ показывается только один раз

При создании ключа LSUS выводит его сырую форму единственный раз. В базе хранится только SHA-256 хэш — восстановить сырой ключ нельзя. Если ключ утерян, придётся создать новый.

Каталог Windows и шаттл#

Если Master не может ходить на Edge по сети (закрытый контур), Edge сам качает актуальные wsusscn2.cab и MSRC — блок «Каталог Windows» на вкладке «Загрузки». Состав бандла и выгрузка на флешку, SMB или SFTP — вкладка «Шаттл»: мастер экспорта (группы «Запрошено Master / Новое / Уже у Master / Не запрошено»), назначения, ID и ключ подписи. Уведомления открывают этот мастер.

Колокольник в шапке и Настройки → Уведомления сообщают, что появился новый каталог или бандл готов к переносу.

Полный сценарий закрытого контура — Файловый шаттл Edge↔Master.

Связь с Master#

Edge регистрируется на Master через API-ключ или как канал «Шаттл» (без URL). На Master: Администрирование → Edge-сервер (карточка) и Управление обновлениями → Шаттл (импорт бандла). После регистрации сетевого Edge Master видит статус и может инициировать синхронизацию. Для шаттл-Edge Master файлы не забирает по сети — только из бандла.

Расписания и часть настроек Edge можно прислать с Master задачей конфиг Edge в визарде «Подготовить рейс». Живые логи и обновление ПО самого Edge через шаттл не передаются.