WindowsMacПрограммное обес..НастройкиБезопасностьПродуктивностьЛинуксАндроид (Androi.. Все

Как настроить PXE-сервер загрузки на Linux

Отредактировано 1 день назад от ExtremeHow Редакционная команда

Сетевая загрузкаPXEНастройка сервераРазвертываниеКонфигурацияСистемный администраторTFTPКомандная строкаУстановкаСоздание образа

Как настроить PXE-сервер загрузки на Linux

Перевод обновлен 1 день назад

В этом руководстве мы узнаем, как настроить сервер загрузки PXE (Preboot Execution Environment) на машине с Linux. Этот процесс позволяет компьютеру загружаться, используя образ, предоставленный по сети, вместо локального хранилища. PXE полезен для системных администраторов, которым необходимо развертывать операционные системы или программное обеспечение на нескольких машинах в сети.

1. Введение в загрузку PXE

PXE, что означает "Среда выполнения предзагрузки" (Preboot Execution Environment), позволяет компьютеру загружаться через сетевой интерфейс независимо от доступного устройства хранения данных или установленной операционной системы. Это большая помощь в автоматизации развертывания серверов и может использоваться для сетевой установки операционной системы Linux и других операционных систем.

По сути, PXE состоит из двух основных компонентов:

С помощью PXE-сервера загрузки вы можете быстро и эффективно устанавливать операционные системы на несколько машин из централизованного расположения.

2. Требования

Для настройки PXE-сервера загрузки на Linux вам понадобятся следующие компоненты:

3. Настройка DHCP-сервера

DHCP-сервер назначает IP-адрес PXE-клиентам и сообщает им о следующем сервере, с которым нужно связаться для загрузки.

Установите DHCP-сервер, используя ваш менеджер пакетов. Если вы используете дистрибутив, такой как Ubuntu или Debian, команда будет выглядеть так:

sudo apt-get install isc-dhcp-server

После установки начните с редактирования файла конфигурации DHCP-сервера, который обычно находится в /etc/dhcp/dhcpd.conf. Вам нужно будет указать IP-адрес клиента PXE, маску подсети и детали загрузочного файла.

Ниже приведен основной фрагмент конфигурации:

subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.10 192.168.1.100;
    option routers 192.168.1.1;
    filename "pxelinux.0";
    next-server 192.168.1.5; # IP адрес вашего PXE-сервера
    option broadcast-address 192.168.1.255;
}

После настройки перезапустите службу DHCP для применения изменений:

sudo systemctl restart isc-dhcp-server

Убедитесь, что DHCP-сервер запускается при загрузке:

sudo systemctl enable isc-dhcp-server

4. Установка TFTP-сервера

TFTP-сервер (Trivial File Transfer Protocol) доставляет загрузчик PXE-клиенту. Установите его с помощью следующей команды:

sudo apt-get install tftpd-hpa

Отредактируйте файл конфигурации TFTP в /etc/default/tftpd-hpa для правильной настройки предоставления ваших загрузочных файлов:

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"

Убедитесь, что указанный каталог (по умолчанию /var/lib/tftpboot) создан и доступен. Перезапустите и включите службу TFTP:

sudo systemctl restart tftpd-hpa
sudo systemctl enable tftpd-hpa

5. Конфигурация загрузчика

SYSLINUX предоставляет загрузчик PXE, называемый pxelinux. Сначала установите syslinux, если он еще не установлен:

sudo apt-get install syslinux-common

Скопируйте необходимые файлы в каталог tftpboot:

sudo cp /usr/lib/PXELINUX/pxelinux.0 /var/lib/tftpboot
sudo mkdir -p /var/lib/tftpboot/pxelinux.cfg

Для предоставления меню загрузки необходимо создать файл конфигурации в /var/lib/tftpboot/pxelinux.cfg. Создайте файл под названием default:

DEFAULT menu.c32
PROMPT 0
TIMEOUT 50
ONTIMEOUT local
LABEL linux
    MENU LABEL ^Install Linux
    KERNEL vmlinuz
    APPEND initrd=initrd.img

Эта конфигурация предоставляет меню загрузки для выбора образа, загружаемого по сети, например, Linux.

6. Подготовка загрузочного ядра и initrd

Скопируйте файлы ядра и initrd с вашего установочного носителя Linux в каталог /var/lib/tftpboot:

sudo cp /path-to-linux-iso/vmlinuz /var/lib/tftpboot/
sudo cp /path-to-linux-iso/initrd.img /var/lib/tftpboot/

Убедитесь, что права доступа установлены правильно:

sudo chmod 644 /var/lib/tftpboot/*

7. Настройка NFS или HTTP

Вам нужно предоставить установочные файлы с помощью NFS или HTTP. Каждый метод подходит в зависимости от требований вашей сети.

Для NFS:

Установите NFS-сервер:

sudo apt-get install nfs-kernel-server

Отредактируйте файл экспортов /etc/exports, чтобы включить каталог, содержащий установочные файлы:

/path-to-your-linux-files 192.168.1.0/24(ro,sync,no_root_squash)

Перезапустите службы NFS:

sudo exportfs -a
sudo systemctl restart nfs-kernel-server

Для HTTP:

Установите HTTP-сервер, например, Apache:

sudo apt-get install apache2

Свяжите ваши установочные носители с веб-доступным каталогом:

sudo ln -s /path-to-your-linux-files /var/www/html/linux

Перезапустите Apache:

sudo systemctl restart apache2

Убедитесь, что ваш брандмауэр разрешает порты NFS/HTTP:

sudo ufw allow 2049
sudo ufw allow 80

8. Запуск ваших PXE-клиентов

Наконец, настройте ваш клиент на загрузку с сети. Обычно это настраивается в BIOS или UEFI настроек прошивки. После запуска PXE-клиента он подключается к вашей сети и получает IP от DHCP-сервера. Затем он загружает файл загрузчика с вашего TFTP-сервера и начинает процесс установки, используя предоставленные файлы NFS/HTTP.

Следуя приведенным выше шагам, вы успешно настроите PXE-сервер загрузки, который машины вашей сети могут использовать для загрузки операционных систем по сети.

Если вы найдете что-то неправильное в содержании статьи, вы можете


Комментарии