Интерфейс Edge


Зачем нужен этот раздел#
Edge — это пограничный сервер в DMZ. Его задача — быть «почтовым ящиком» между закрытым контуром организации и интернетом: скачивать оттуда репозитории, OVAL-базы, KB и доставлять их на Master. Без Edge Master был бы вынужден сам ходить в интернет, что во многих контурах запрещено политикой безопасности.
У Edge есть собственный веб-интерфейс, полностью отдельный от Master. Открывается по адресу https://<edge-host>:<порт> (по умолчанию 443). Вход — логин admin, пароль из переменной EDGE_UI_PASSWORD (файл .env).
Edge ≠ Master
Edge не хранит клиентов, не применяет политики, не запускает кампании. У него своя задача: качать и раздавать файлы. Поэтому UI у него совсем другой — про файлы, расписания, зеркала и хранилища.
Какие вкладки есть#
Edge устроен вокруг файлов и их движения через границу контура:
| Вкладка | Зачем |
|---|---|
| Обзор | Сводка: сколько файлов в очереди, сколько скачано, состояние диска. Кнопка быстрого добавления зеркала по пресету. |
| Загрузки | Текущие и исторические задачи скачивания файлов. |
| Файлы | Файлы, уже скачанные и лежащие в хранилище. |
| Расписания | Регулярные задачи по cron — что и когда Edge должен тянуть. |
| Хранилища | Каталоги на диске, где Edge физически хранит файлы. |
| Зеркала | Зеркала внешних репозиториев (Astra, Debian, РЕД ОС, ALT и т.д.) — главный механизм доставки пакетов в контур. |
| Шаттл | Файловый шаттл: идентичность Edge, назначения носителей, мастер экспорта бандла для закрытого Master. |
| Логи | Журнал событий Edge. |
| Настройки | Сетевые параметры, прокси upstream, SSL-сертификат, API-ключи, пароль админа. |
Вкладка «Обзор»#

Сводные карточки по состоянию 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 сейчас качает и на каком прогрессе.
- Что уже скачано, когда и куда положено.
- Какие задачи завершились с ошибкой (с текстом ошибки).
Кнопка «+ Создать загрузку» — вручную создать разовую задачу: указать URL, тип файла (package / repo / oval / kb / iso / cert / crl / other), хранилище.
Чем «Загрузки» отличаются от «Расписаний»
- Загрузки — точечные задачи (разовые или инициированные расписанием).
- Расписания — шаблоны задач по cron, которые порождают загрузки.
Вкладка «Файлы»#

Файлы, уже лежащие в хранилище Edge. Отсюда их можно:
- Скачать — вручную выгрузить с Edge (например, чтобы забрать на Master в офлайн-режиме).
- Удалить — освободить место.
- Передать Master'у — инициировать синхронизацию конкретного файла с Master.
Вкладка «Расписания»#

Регулярные задачи по cron. Например:
- «Каждый день в 03:00 скачивать свежий wsusscn2.cab».
- «Каждое воскресенье в 02:00 обновлять зеркало Astra Linux 1.8 main».
Часы в cron и в кнопках вроде «Ежедневно 02:00» — в поясе Пограничного сервера (Настройки → Сервер). Пустое значение — UTC; подпись в форме это показывает. Колонки «последний запуск» и «начало» показываются в поясе браузера.
В каждой записи:
- Имя расписания.
- URL источника.
- Тип файла.
- Cron-выражение (с кнопками быстрой вставки: «Ежедневно 03:00», «Каждые 6ч» и т.п.).
- Хранилище назначения.
- Активность (можно временно выключить).
Вкладка «Хранилища»#

Каталоги на диске Edge, где физически лежат файлы. Один Edge может иметь несколько хранилищ на разных дисках:
- «Основное» — на быстром диске для горячего кэша.
- «Архив» — на дешёвом HDD для старых версий.
В карточке хранилища видно: путь, размер, свободное место, количество файлов.
Вкладка «Зеркала»#

Главная функциональность пограничного сервера — зеркалирование внешних репозиториев. Зеркало — это локальный срез репозитория для пакетного менеджера: метаданные и пакеты, которые нужны 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. Их отсутствие при зелёной синхронизации — не «недокачали», а штатный состав зеркала.
Проверка целостности зеркала#
Проверка из меню зеркала («Проверить целостность») сверяет дерево с тем же составом — индексами и пакетами выбранного среза, а не с каталогом вендора. Режимы:
- Быстрая — сверяет размер и время каждого файла с накопленным индексом контрольных сумм; выполняется после синхронизации (если включена галочка в настройках зеркала).
- Полный проход — перечитывает каждый файл и сверяет контрольную сумму: видит порчу содержимого, при которой размер и время файла не изменились (деградация носителя, перезапись «в ноль»). Запускается вручную и периодически по расписанию.
Индекс контрольных сумм накапливается при синхронизациях — повторно файлы не хешируются, отсутствующие записи чистятся.
Почему срез, а не весь каталог
В закрытый контур попадает только необходимое для обновления хостов. Не тащим установочные пакеты, исходники и чужие архитектуры — меньше поверхности (лишние пакеты, из которых можно собрать непредусмотренное окружение), меньше неотревьюенного объёма из интернета, меньше места и времени синхронизации. Во внешнюю сеть смотрит только пограничный сервер: Master получает уже ограниченный набор и сам наружу не ходит.
В таблице зеркал:
- Имя зеркала.
- URL upstream.
- Семейство ОС (Astra, Debian, РЕД ОС, ALT и т.д.).
- Локальный путь.
- Дата последней синхронизации.
- Статус (ожидание / синхронизация / готово / ошибка / не опубликовано).
Действия над зеркалом: синхронизировать сейчас, редактировать, удалить.
Секции без контента на 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 файлового шаттла — канала доставки обновлений закрытому Master без IP-связности (полный сценарий — в руководстве «Файловый шаттл»):
- Идентичность — ID Edge, отпечаток и публичный ключ подписи бандла (их вставляют в карточку канала «Шаттл» на Master) и статус закреплённого ключа Master;
- Назначения — куда писать бандлы: локальный каталог тома, SMB или SFTP; «Проверить» показывает свободное место и тип ФС (FAT32 предупреждает о файлах больше 4 ГБ);
- Мастер экспорта бандла — пять шагов: назначение → что знает Master (квитанции) → задачи Master (TOFU-подтверждение ключа, выполнение запроса) → состав («Запрошено Master / Новое с прошлого рейса / Уже у Master / Не запрошено») → запись бандла;
- Автоэкспорт — раз в 6 часов Edge сам собирает бандл из запрошенного Master.
Уведомления Edge о шаттле: бандл готов к переносу, задачи Master применены, ошибка экспорта, бандл не забран.
Создание зеркала по пресету — мастер за 4 шага#
На вкладке «Зеркала» есть кнопка «Создать зеркало по пресету». Она открывает пошаговый мастер, который проводит через создание зеркала без необходимости вручную вбивать URL, suite, компоненты и расписание.
Зачем мастер, а не свободная форма
Мастер решает три задачи:
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: что когда качалось, какие ошибки возникали, когда Master забирал файлы.
Фильтры по типу события, по статусу, по дате. Поддерживается экспорт в файл — полезно для отправки в техподдержку.
Вкладка «Настройки»#

Параметры самого 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.
API-ключ показывается только один раз
При создании ключа 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 через шаттл не передаются.