Загальна ідея PXE-сервера полягає в тому, щоб мати можливість встановлювати операційні системи на вузлах мережі без необхідності використовувати збірники USB або DVD.
Якщо ви хочете налаштувати PXE-сервер на Fedora, ви можете скористатися наступними кроками:
### Крок 1: Встановлення пакетів
Спочатку потрібно встановити необхідні пакети, використовуючи команду:
```
sudo dnf install -y syslinux-tftpboot tftp-server httpd
```
Це встановить TFTP-сервер, необхідний для завантаження зображення вузлів, Apache HTTP Server, необхідний для зберігання зображень та файлів для інсталяції, та syslinux, який надає меню завантаження та інші опції PXE.
### Крок 2: Конфігурація TFTP-сервера
Далі потрібно налаштувати TFTP-сервер. Відкрийте файл конфігурації `/etc/xinetd.d/tftp` у текстовому редакторі та додайте або розкоментуйте наступні рядки:
```
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -c -s /var/lib/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
```
Це налаштує TFTP-сервер на використання `/var/lib/tftpboot` як кореневу директорію для завантаження файлів.
### Крок 3: Налаштування DHCP
Для належного функціонування PXE-сервера також потрібно налаштувати DHCP-сервер на вашій мережі таким чином, щоб він надавав клієнтам правильну адресу IP та шлюз за замовчуванням. Відкрийте файл конфігурації `/etc/dhcp/dhcpd.conf` у текстовому редакторі та додайте наступні рядки:
```
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100
Крок 6: Налаштування TFTP-сервера
TFTP-сервер (Trivial File Transfer Protocol) - це простий протокол передачі файлів, який використовується для передачі файлів через мережу. TFTP використовує UDP-порт 69.
Для налаштування TFTP-сервера використовується пакет `tftp-server`. Встановіть його командою:
```
sudo dnf install tftp-server -y
```
Тепер вам потрібно налаштувати TFTP-сервер, щоб він коректно працював з PXE-завантаженням. Відкрийте файл налаштування TFTP-сервера за допомогою текстового редактора:
```
sudo vim /etc/xinetd.d/tftp
```
Знайдіть рядок `disable = yes` та замініть його на `disable = no`.
Далі знайдіть рядок `server_args = -s /var/lib/tftpboot` та замініть його на:
```
server_args = -c -v -s /var/lib/tftpboot
```
Збережіть зміни та вийдіть з редактора.
Тепер потрібно додати правила firewall для TFTP-сервера. Відкрийте порт 69 в firewall командою:
```
sudo firewall-cmd --add-service=tftp --permanent
sudo firewall-cmd --reload
```
Крок 7: Створення конфігураційного файлу PXE
Тепер, коли ви налаштували TFTP-сервер, ви можете створити конфігураційний файл для PXE-завантаження. Створіть файл `/var/lib/tftpboot/pxelinux.cfg/default` командою:
```
sudo mkdir /var/lib/tftpboot/pxelinux.cfg
sudo vim /var/lib/tftpboot/pxelinux.cfg/default
```
Вставте наступний вміст в файл:
```
DEFAULT menu.c32
PROMPT 0
MENU TITLE PXE Boot Menu
TIMEOUT 200
LABEL Fedora Workstation
MENU LABEL Fedora Workstation 34 x64
KERNEL fedora-workstation-34/vmlinuz
APPEND initrd=fedora-workstation-34/initrd.img inst.stage2=ftp://192.168.0.100/pub/fedora-workstation-34/ ip=dhcp
```
Це конфігураційний файл для Fedora Workstation 34. За необхідності змініть відповідно до своїх потреб.
У цьому файлі визначається заголовок меню, тайм-аут очікування
Завершуючи процес налаштування PXE-сервера на Fedora, останнім кроком є перезавантаження сервера, щоб застосувати зміни. Після перезавантаження PXE-сервер буде готовий до роботи.
Якщо ви бажаєте додати образ операційної системи для завантаження, скопіюйте образ у папку tftpboot на сервері PXE і змініть налаштування dhcpd.conf, як показано вище. Для додавання додаткових образів просто повторіть цей процес для кожного образу.
В цілому, налаштування PXE-сервера на Fedora не є складною задачею, якщо ви знаєте основи мережевих технологій та розумієте, як працює завантаження ОС через мережу. PXE-завантаження може значно спростити розгортання операційної системи на кількох комп'ютерах, зокрема в офісних установках або масштабних серверних парках. Надіємося, що ця стаття допомогла вам зрозуміти процес налаштування PXE-сервера на Fedora.