PXE — сетевая установка ОС
Зачем нужен этот раздел#
Разворачивать ОС на новых машинах вручную — час работы администратора на каждый АРМ: носитель, установка, ввод в домен, агент. Вкладка «PXE» автоматизирует весь цикл: машина включается, загружается по сети, получает операционную систему с нужными настройками, агента LSUS и (опционально) место в домене — без установочного диска и присутствия человека. Поддерживаются РЕД ОС, Astra Linux (включая Special Edition), Альт и Windows 10/11.
Что получается на выходе:
- Новое «голое» железо ставится с нуля: LSUS замечает незнакомую машину в сети, администратор подтверждает — и она получает готовый образ.
- Уже известные хосты можно переустановить удалённо из карточки хоста или списком.
- После установки машина сама появляется в LSUS: агент регистрируется, дальше работают обычные Конфигурации — домен, политики, пакеты, обновления.
Практическое развёртывание
Как устроен PXE-конвейер (Master, точка, жизненный цикл заданий), подключение точки, настройка сети для установки (IP-helper / options 66/67), ввод в домен и Secure Boot — в руководстве PXE: развёртывание в корпоративной инфраструктуре. Там же — пошаговый пример для корпоративной среды: настройка DHCP, образы Astra Linux 1.8, РЕД ОС 8 и Альт p11, машины в домене.
Кратко
- Где смотреть: вкладка «PXE», только на Master.
- Что нужно: отдельный хост с ролью
pxe, лицензияos_deploymentи правоosdeploy.view. - Поддерживаемые ОС: РЕД ОС (Anaconda/kickstart), Astra Linux 1.7/1.8 (debian-installer/preseed), Альт 10/11 (alterator).
- Secure Boot на целевых машинах должен быть выключен (загрузчик iPXE не подписан ключами Microsoft).
Подключение PXE-точки#
Роль pxe ставится на отдельный хост пакетами ОС, как остальные серверные роли LSUS. На Master откройте PXE → PXE-точки → «Подключить точку» и нажмите «Выпустить ключ» — регистрационный ключ действует 24 часа. В .env точки укажите LSUS_MASTER_URL и полученный LSUS_PXE_REGISTRATION_KEY: сертификат Master точка подтянет сама при регистрации, а если Master в момент старта ещё не готов — повторит регистрацию сама, без перезапуска. После старта контейнеров точка появляется на вкладке PXE-точки со статусом online.
Полная процедура подключения — в руководстве PXE: развёртывание; установка роли — в Развёртывании серверов, порты и переменные роли — в Справочнике портов и переменных.
Подвкладка «Носители»#

Носитель — исходный ISO-дистрибутив, загруженный на PXE-точку; из носителей собираются образы.
- «Загрузить ISO» — файл идёт через Master на точку по частям (Master ISO не хранит) либо с пограничного сервера (Edge): Master скачивает ISO с Edge и сразу заливает на точку, как при импорте репозитория из ISO. После успешного скана окно закрывается; в статусе вкладки — семейство/версия/архитектура и подсказка «распакуйте носитель». Пока идёт загрузка, кнопки «Загрузить» и «Скачать и сканировать» недоступны.
- «Подхватить с диска точки» — для закрытых контуров: файл заранее копируется в каталог incoming, Master регистрирует его и сразу сканирует.
Столбец «Семейство» — пресет из справочника «Пресеты ОС» (Astra Linux 1.7.*, РЕД ОС / Red OS 8.*, ALT Linux 11.* / p11), а не сырая строка astra 1.7; сопоставление — по семейству и версии из ISO (и имени файла). Фильтр носителей строится из того же справочника.
| Статус | Значение |
|---|---|
incoming |
Файл загружен, ещё не распознан |
scanning |
Точка определяет семейство, версию, архитектуру, группы пакетов |
ready |
Можно создавать образы |
error |
Ошибка разбора — текст виден в карточке носителя |
Действия: Пересканировать — повторно определить метаданные (после замены файла вручную); Extract — распаковать ISO в дерево на точке, из которого инсталлятор берёт пакеты, ядро и initrd (ISO можно оставить для remaster или удалить ради места); Собрать носитель (remaster) — офлайн-носитель: облегчённый iPXE-ISO с URL точки или полный ISO с зашитым автоответом для машин вовсе без сети.
Колонка Shim показывает, есть ли в дистрибутиве подписанный загрузчик — заготовка под Secure Boot (см. Secure Boot). Удалить носитель нельзя, пока на него ссылаются образы, — сначала удалите образы.
Подвкладка «Образы»#

Образ — не новый ISO, а сохранённый состав установки поверх носителя: разметка диска, локаль, учётные записи, пакеты, файлы, скрипты, агент, целевой домен. Один носитель — много образов («рабочая станция», «касса», «АРМ разработчика»).
Версии образа проходят жизненный цикл draft → published → archived: черновик правится сколько угодно; published-версия неизменяема, и именно её получает машина; старую опубликованную версию можно архивировать при выпуске новой. В списке видно, какая версия опубликована и когда.
- «Создать образ» — из носителя в статусе
ready; в модалке выбирается пресет состава (встроенный или свой) или пустой черновик, сразу открывается редактор. - Каталог пресетов над таблицей (семейство, id, роль, версии носителя, описание, источник) — только состав установки: это не шестая подвкладка и не справочник линеек ОС (
os_version_pattern_presets). Встроенные (redos_8_workstation,astra_1_7_workstation/ ALSE 1.7,astra_1_8_workstation/ ALSE 1.8,alt_11_workstation) можно редактировать (перекрытие в БД) или скопировать в свой id; «Сбросить» возвращает встроенный состав. Импорт/экспорт JSON — перенос пресетов между стендами. Пароли в пресет не входят, пока их не зададут в редакторе. Retry цели и клон образа пресетом не являются; пресет ALSE 1.8 (live YAML) не подходит к носителю ALSE 1.7 (debian-installer). - Импорт/экспорт JSON образа — перенос образов между стендами (dev → prod) без ручного повторения настроек.
- Флаг «По умолчанию» — образ, который получает незнакомое железо в режиме
default_image(см. Очередь PXE).
Редактор образов#
Полноэкранная модалка в стиле конструктора политик: слева дерево разделов, справа форма.
| Раздел | Что настраивается |
|---|---|
| Основное | Имя, описание, теги; режим исходника (форма собирает файл автоответов или берётся текст с вкладки «Исходник») |
| Диск | Разметка, целевой диск и размеры: Root ГБ, Swap МБ, Home ГБ (0 = остаток), при LVM — неразмеченное место в VG под снапшоты |
| Локаль | Язык — из списка; часовой пояс — полный IANA со смещением GMT; раскладки и NTP — списком |
| Учётные записи | Root и первый пользователь: в состав уходит только хеш. Кнопка «Из пароля» строит SHA-512 ($6$) на Master; пароль не сохраняется. На Astra группа sudo — sudo (не wheel) |
| Сеть | Настройки сети первого старта |
| Пакеты | Для Astra — компоненты штатного установщика (tasksel: базовые, Fly, SSH, офис, интернет…); для РЕД ОС / Альт — группы носителя. Плюс отдельные пакеты и исключения |
| Файлы | Файлы, которые кладутся в систему (тела файлов лежат на точке) |
| Скрипты | Post-скрипты (в chroot), порядок и таймауты |
| Агент LSUS | Установка агента: репозиторий, ключи |
| Домен | Цель ввода после установки; тип каталога как у LDAP-коннектора (MS AD / SAMBA, REDADM, FreeIPA, ALD Pro) |
| Windows | Только для Windows-образов: издание (имя в WIM, например Windows 11 Pro), image index, ключ продукта (необязательно) |
Для Astra Special Edition добавляется раздел Astra SE: уровень защищённости Орёл / Воронеж / Смоленск (как в preseed os-check и YAML mode) и дополнительные опции, которые допускает выбранный уровень (МКЦ, мандатное разграничение, ЗПС, запрет ptrace). Уровень должен соответствовать лицензии.
Образ Windows#
Windows 10/11 (x86_64, UEFI) ставится как отдельное семейство:
- Разметка — только «весь диск» (GPT: EFI, MSR и раздел Windows); LVM и отдельный
/homeдля Windows недоступны. - Часовой пояс — идентификаторы Windows (
Russian Standard Time), не IANA. - Издание задаётся именем из WIM носителя (
Windows 11 Proи т.п.) или порядковым индексом; ключ продукта — необязательно. - Пароль локального администратора задаётся на каждую цель при выдаче задания (вместе с одноразовым кодом), а не в составе образа — в редакторе он не хранится.
- Загрузка: WinPE стартует по сети (iPXE + wimboot по HTTP), установщик берёт файлы с точки по SMB.
- Ввод в домен — шаблон
lsus.win.domain-join(после установки, как у Linux). - Удалённо перезагрузить Windows-машину в PXE нельзя (
BOOT_PXEдля Windows не выполняется) — нужен человек с выбором сетевой загрузки в меню UEFI.

Разметка диска#
Новый образ по умолчанию: отдельный /home, корень 100 ГБ, swap 8192 МБ. Для LVM дополнительно 50 ГБ свободных экстентов VG под снапшоты агента (не отдельный том и не заглушка). Уже сохранённые образы со своими root_gb / swap_mb не переписываются.
| Разметка | Что получается |
|---|---|
| Отдельный /home | EFI, /boot, swap, фиксированный /, /home на остаток. Если остаток меньше ≈10 ГБ, /home не создаётся |
| LVM | То же в группе томов; неразмеченное в VG — резерв под снапшоты. На Альт все LV фиксированные (без firstboot-сжатия) |
| Весь диск | Без отдельного /home: swap и корень (корень растёт на остаток) |
Для LVM с дефолтами нужен диск примерно 160 ГБ; на меньшем (демо-VM 40–60 ГБ) генератор ужмёт корень и резерв, установку не роняет. Astra 1.8 (live YAML) принимает только шаблон storage.template (minimal / default) — точные размеры разделов инсталлятор не читает.
Кнопки тулбара:
- Сохранить черновик, Валидировать — проверка состава без публикации.
- Применить пресет — в меню «три точки» черновика: подставить состав из каталога (пустые хеши пресета не затирают уже заданные пароли).
- Редактор пресета — тот же каркас, без публикации: сохранение пишет в каталог (перекрытие встроенного или свой пресет).
- Превью — итоговый файл автоответов «глазами инсталлятора»: kickstart для РЕД ОС, preseed/YAML для Astra,
autoinstall.scm+vm-profile.scmдля Альт; обновляется на лету при правке формы. - Опубликовать — зафиксировать версию для выдачи машинам.
- Клонировать, Diff — копия образа и сравнение версий.
- Собрать носитель — remaster офлайн-ISO.
Один рендерер на Master и точке
Файл автоответов для превью и для реальной установки считает один и тот же рендерер (диск, sudo на Astra, хеши). Если версия lsus-pxe на точке несовместима с Master, строка точки покажет предупреждение, а задания на неё публиковаться не будут.
Подвкладка «Задания»#

Задание — «поставить такую-то published-версию образа на такие-то машины через такую-то точку». Создаётся со вкладки Задания → «Создать задание» (кнопка «Выбрать хосты…» открывает дерево каталога, как в кампаниях; в таблице видны имя, MAC и возможность уйти в PXE удалённо) либо из карточки хоста → «Установить ОС» (вкладка открывается с уже выбранным хостом). Это хосты, уже известные LSUS; числовой id вводить не нужно. MAC голого железа без агента сюда не вставляют — такие машины на вкладке «Очередь PXE».
| Поле | Что задаёт |
|---|---|
| Хосты | Цели из каталога: имя, MAC, готовность к удалённому PXE |
| Published-версия образа | Что ставить |
| PXE-точка | Через какую точку грузить |
| TTL boot-token | Сколько минут действует разрешение на загрузку (по умолчанию 120) |
| Прежняя учётка компьютера | Что сделать с объектом компьютера в AD / Samba / FreeIPA / ALD после установки: сбросить пароль и ввести заново; переиспользовать как есть; удалить и создать новый. На машину без доменного объекта не влияет |
| Перезагрузить в PXE сейчас | Отправить хосту команду BOOT_PXE — см. ниже |
После создания задания (и после одобрения неизвестного MAC) Master выдаёт одноразовый код формата XXXX-XXXX; его нужно ввести в консоли iPXE — без кода ядро не отдаётся. Код виден в журнале задания (столбец «Код») и в меню «Одноразовые коды»; после шага boot код помечается использованным, «Повторить» или «Выдать новый код» выпускает другой.
По каждой цели отслеживается статус (жизненный цикл); неудачную цель можно повторить, задание — отменить. Повтор выдаёт новый boot-token и снимает на точке маркер install-started. Сам маркер one-shot пишется только после шага post (успешный %post / laststate), а не после %pre / early_command: иначе любой сбой инсталлятора оставлял пустой диск и запрещал вторую загрузку по PXE (exit 1 / localboot).
UEFI / OVMF: когда вешать NVRAM
Цепочка до ядра — iPXE HTTP (boot.ipxe), свой UEFI-загрузчик LSUS не нужен. На гипервизоре не подключайте NVRAM-диск (efidisk в Proxmox/OVMF) так, чтобы BootOrder ставил диск первым до появления ОС: пустой efidisk часто перехватывает сеть. Для Anaconda (РЕД ОС) NVRAM нужна, чтобы efibootmgr записал GRUB: вешайте efidisk, но оставьте сеть первой (boot: order=net0;scsi0) на время установки. Когда ОС уже на диске и GRUB в ESP — BootOrder с диска первым (сеть не первой). Без NVRAM OVMF забывает BootEntry GRUB, iPXE exit 1 (localboot) не загружает диск, и машина снова уходит в PXE.
«Перезагрузить в PXE сейчас» работает не везде
Команда BOOT_PXE ставит сетевую загрузку на один раз (--bootnext) и перезагружает хост. Требуется UEFI и сетевая BootEntry в BootOrder — агент собирает эти данные в инвентарь (раздел firmware). Если сетевой записи нет, команда завершится ошибкой с подсказкой, а машине нужен «человек с F12»: вручную выбрать загрузку по сети в меню загрузки.
Подвкладка «Очередь PXE»#

Очередь MAC, которые загрузились по PXE без активного задания установки: новое железо без агента и уже известные хосты, если их загрузили по сети вхолостую. В таблице: MAC, хост из инвентаря (если MAC совпал), архитектура, загрузчик, вендор NIC, когда впервые и последний раз замечены.
Режим очереди задаётся полем «MAC без задания» в карточке точки:
| Режим | Что происходит |
|---|---|
approve |
Машина ждёт решения администратора: Одобрить (с выбором образа) или Отклонить. После одобрения выдаётся одноразовый код для консоли iPXE |
default_image |
Образ с флагом «По умолчанию» подставляется в очередь предварительно выбранным, но установка всё равно ждёт одобрения администратора: ядро без одноразового кода не выдаётся. Режим экономит выбор образа при массовом развёртывании |
После успешной установки машина проходит enrolled и появляется в списке хостов как обычный управляемый хост.
Подвкладка «PXE-точки»#

Таблица точек: статус online (по heartbeat), URL, версия lsus-pxe и совместимость с Master, свободное место store, число активных установок и лимит параллельных, подсети обслуживания, режим очереди (колонка «Очередь»).
- Подключить точку — выпустить регистрационный ключ (см. выше).
- Подсети — список сетей, которым точка отвечает как proxyDHCP; попадают в конфиг dnsmasq как
dhcp-range=<сеть>,proxy. Relay из подсети без записи точка игнорирует. - Диагностика DHCP — журнал DHCP-обмена по MAC: что запросил клиент и что ответила точка. Первый инструмент при «не грузится по сети».
Безопасность#
- Загрузочная плоскость — HTTP без TLS: доступ ограничен одноразовым кодом (ввод в iPXE), boot-token (служебный, с TTL), привязкой к MAC и ACL по подсетям из карточки точки. TTL проверяется на точке: просроченный токен не отдаёт ядро — машина снова ждёт одобрения.
- От случайной переустановки при постоянно включённом PXE: ядро получают только MAC из задания в статусе
pxe_wait/installing. После%postточка помнит MAC (install-done) и отдаёт localboot (exit 1), даже если задание уже не вjobs.json; статусыinstalled/enrolled/joined— тоже только localboot; отклонённые MAC (denied) ядер не получают. Повтор цели в журнале задания выдаёт новый boot-token и снимает one-shot (маркер токена и запись MAC) — без Retry повторная установка с того же MAC не начнётся. - Режим unknown «approve» — единственная защита для машин без задания: iPXE ждёт решения администратора; «Образ по умолчанию» в этой версии ОС сам не ставит.
- В файле автоответов — только хеш пароля root; post-скрипты удаляют следы (
anaconda-ks.cfgи аналоги). - Пароль join-учётки домена не покидает ConfigCredential на Master.
- Загрузка ISO на точку — по одноразовому билету Master (Bearer-токен, CORS на origin Master, не cookie).
- Все ключевые действия пишутся в аудит: выпуск ключа точки, создание носителя, создание образа, публикация версии, создание задания.
Права доступа#
Готовая системная роль PXE-админ (pxe_admin) выдаёт все четыре права ниже плюс просмотр дашборда, кабинета, отчётов и списка хостов. Администратор (admin) получает их автоматически. Администратор ИБ (security_auditor) — только osdeploy.view. Роли можно назначить и по отдельности в пользовательской роли.
| Право | Что даёт |
|---|---|
osdeploy.view |
Просмотр носителей, образов, заданий, очереди и точек |
osdeploy.images.operate |
Загрузка ISO-образов, редактор образов, публикация версий, пересборка носителя |
osdeploy.deploy.operate |
Создание и отмена заданий установки, одобрение очереди |
osdeploy.points.operate |
Регистрация точек, подсети, режим очереди, проверка связи |
Ограничения текущей версии#
- Secure Boot на целевых машинах должен быть выключен (ограничение iPXE).
- Поддерживаются семейства РЕД ОС, Astra Linux, Альт и Windows 10/11 (x86_64, UEFI; удалённый старт в PXE для Windows-хостов недоступен — сетевую загрузку выбирают вручную).
- Точка PXE — всегда отдельный хост, совмещение с другими ролями не поддерживается.
- Откат установки не предусмотрен: PXE ставит систему заново (для отката перед обновлениями используйте LVM-снапшоты).
Связанные страницы#
- PXE: развёртывание в корпоративной инфраструктуре — практическое руководство
- Развёртывание роли PXE
- Порты и переменные
- Конфигурации — шаблон
lsus.linux.domain-join - Хосты — действие «Установить ОС»
- Снапшоты — откат обновлений, не переустановка
- RBAC