Настройка PXE¶
Определения¶
PXE (Preboot Execution Environment) — сетевой стандарт или протокол, созданный Intel, который определяет способ загрузки операционной системы через сеть, используя сетевую карту компьютера
Примечание
PXE-код, обычно находящийся в ПЗУ сетевой карты, получает из сети по протоколу TFTP (получив адрес TFTP-сервера по BOOTP) исполняемый файл, после чего передаёт ему управление
BOOTP — сетевой протокол прикладного уровня, используемый для автоматического получения клиентом IP-адреса
TFTP — простой пошаговый протокол передачи файлов, который позволяет клиенту получить файл с удаленного хоста или поместить его на удаленный
Wimboot — специальный загрузчик, который позволяет загружать образы Windows в формате WIM (Windows Imaging Format)
Примечание
Wimboot может быть использован для загрузки Windows PE (Preinstallation Environment) или полной версии Windows
Он загружает WIM-образ в память и позволяет запускать его, что особенно полезно для установки Windows через PXE
Этапы работы PXE¶
Инициализация сети
При включении компьютера выполняется процедура POST (Power-On Self Test), после чего инициализируется сетевой интерфейс
DHCP-запрос
Компьютер, настроенный на загрузку через PXE, отправляет DHCP-запрос в локальную сеть для получения IP-адреса и информации о загрузочном сервере. Запрос может быть широковещательным
DHCP-ответ
DHCP-сервер отвечает на запрос, предоставляя: IP-адрес, Маску подсети, Шлюз, Адрес TFTP-сервера, Имя загрузочного файла (например, pxelinux.0), DHCP Options:
В ответе DHCP-сервер может также включать различные опции, которые помогают клиенту во время загрузки
Option 66 — адрес TFTP-сервера
Option 67 — имя загрузочного файла
Option 15 — имя домена
Option 60 — идентификатор клиента, например:
PXEClient
Загрузка загрузчика
После получения информации о TFTP-сервере и имени файла клиент загружает загрузчик по протоколу TFTP
Примечание
Этот загрузчик может быть, например:
PXELINUX
илиiPXE
Загрузка операционной системы
После загрузки загрузчика, например:
wimboot
, он может предоставить меню для выбора операционной системы или автоматически загрузить образ ОС, который также может быть получен через TFTP или другие протоколы (HTTP, NFS)Инициализация ОС
После завершения загрузки образа операционной системы, он передается в память, и компьютер начинает выполнение кода ОС
Важно
Сервер Rudesktop использует собственный DHCP PROXY
Как работает DHCP proxy¶
При загрузке PXE-клиента он отправляет в сеть широковещательное сообщение DHCP Discover, которое содержит список информации, которую клиент хотел бы получить от DHCP-сервера, а также некоторые сведения, идентифицирующие его как устройство с поддержкой PXE
Обычный DHCP-сервер отвечает предложением DHCP, которое содержит возможные значения для сетевых настроек, запрашиваемых клиентом. Обычно это возможный IP-адрес, маска подсети, адрес маршрутизатора (шлюза), доменное имя DNS и т.д.
Поскольку клиент идентифицировал себя как PXE-клиент, прокси-сервер DHCP также отвечает предложением DHCP с дополнительной информацией, но без информации об IP-адресе. Он оставляет IP-адрес для назначения обычному серверу DHCP. Прокси-сервер DHCP предоставляет имя следующего сервера и имя загрузочного файла, которые используются клиентом во время предстоящей транзакции TFTP
Клиент PXE отвечает на предложение DHCP запросом DHCP, в котором он официально запрашивает информацию о конфигурации IP-адреса у обычного DHCP-сервера
Обычный DHCP-сервер отвечает подтверждением ACK, сообщая клиенту, что он может использовать запрошенные данные конфигурации IP
Теперь клиент получает информацию о конфигурации IP-адреса, имя сервера TFTP и имя загрузочного файла и инициирует транзакцию TFTP для загрузки загрузочного файла
Загрузочные файлы и конфигурация находятся по пути:
/var/lib/rudesktop/pxe/tftp/
Подсказка
wimboot для Windows
autoexec.ipxe для Linux
После публикации образа потребуется в настройках DHCP сервера указать опции 66, 67:
Option 66 — адрес сервера RuDesktop
Option 67 — имя загрузочного файла
Описание PXE¶
Процесс установки записан в файле по пути:
/usr/share/rudesktop/etc/answers/answers_uefi.xml
Загрузочный файл находится по пути:
/var/lib/rudesktop/pxe/tftp/wimboot
Передача параметров определяется по пути:
/usr/share/rudesktop/bin/pxe
Изменить имя и параметры возможно по пути:
/usr/share/rudesktop/bin/publish
Пример для Windows:
После загрузки
wimboot
на устройство, ОС устанавливается по правилам которые описаны в файлеanswers_uefi.xml
Форматирование дисков и разделов
Создание диска C:\
Создание пользователя
Подсказка
Пользователь указывается при создании образа в веб-интерфейсе на странице Установка OS
Установка приложения RuDesktop
Подключение приложения RuDesktop к серверу, с которого раздавался образ
Изменение конфигурации PXE¶
Переопределение конфигурации PXE возможно через добавление файла-конфигурации в пользовательскую директорию
Основная директория:
/var/lib/rudesktop/pxe
Пользовательская директория:
/var/lib/rudesktop/user/pxe
Важно
Приоритет выше у пользовательского конфига
Директория
/var/lib/rudesktop/user/
используется для переопределения конфигов, таким образом можно изменить любой конфиг
Пример по изменению ответов для Windows¶
Cоздать конфиг-файл answers_uefi.xml
Добавить его в директорию по пути:
/var/lib/rudesktop/user/pxe/overlay/answers_uefi.xml
Опубликовать образ повторно в веб-интерфейсе на странице Установка OS
Важно
Аналогичным способом можно осуществлять изменения любых файлов в /var/lib/rudesktop/pxe