Отредактировано 1 день назад от ExtremeHow Редакционная команда
Сетевая загрузкаPXEНастройка сервераРазвертываниеКонфигурацияСистемный администраторTFTPКомандная строкаУстановкаСоздание образа
Перевод обновлен 1 день назад
В этом руководстве мы узнаем, как настроить сервер загрузки PXE (Preboot Execution Environment) на машине с Linux. Этот процесс позволяет компьютеру загружаться, используя образ, предоставленный по сети, вместо локального хранилища. PXE полезен для системных администраторов, которым необходимо развертывать операционные системы или программное обеспечение на нескольких машинах в сети.
PXE, что означает "Среда выполнения предзагрузки" (Preboot Execution Environment), позволяет компьютеру загружаться через сетевой интерфейс независимо от доступного устройства хранения данных или установленной операционной системы. Это большая помощь в автоматизации развертывания серверов и может использоваться для сетевой установки операционной системы Linux и других операционных систем.
По сути, PXE состоит из двух основных компонентов:
С помощью PXE-сервера загрузки вы можете быстро и эффективно устанавливать операционные системы на несколько машин из централизованного расположения.
Для настройки PXE-сервера загрузки на Linux вам понадобятся следующие компоненты:
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
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
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.
Скопируйте файлы ядра и 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/*
Вам нужно предоставить установочные файлы с помощью NFS или HTTP. Каждый метод подходит в зависимости от требований вашей сети.
Установите 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-сервер, например, 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
Наконец, настройте ваш клиент на загрузку с сети. Обычно это настраивается в BIOS или UEFI настроек прошивки. После запуска PXE-клиента он подключается к вашей сети и получает IP от DHCP-сервера. Затем он загружает файл загрузчика с вашего TFTP-сервера и начинает процесс установки, используя предоставленные файлы NFS/HTTP.
Следуя приведенным выше шагам, вы успешно настроите PXE-сервер загрузки, который машины вашей сети могут использовать для загрузки операционных систем по сети.
Если вы найдете что-то неправильное в содержании статьи, вы можете