Інструмент Preboot Execution Environment (PXE)-це технологія, яка дозволяє комп'ютерам завантажуватися через мережу та встановлювати операційну систему або виконувати інші завдання без необхідності використання завантажувального пристрою, такого як жорсткий диск або привід CD/DVD. За допомогою PXE сервера можна значно спростити і автоматизувати процес установки операційної системи на кілька комп'ютерів одночасно, що особливо корисно в середовищах мережевих адміністраторів.
Для налаштування PXE сервера на Ubuntu вам знадобиться встановлена операційна система Ubuntu та доступ до Інтернету. Підготуйте комп'ютер, який буде працювати як PXE сервер, і дотримуйтесь інструкцій нижче для успішної настройки.
Крок 1: Установка необхідного ПЗ
Для початку встановіть необхідні пакети на вашому сервері Ubuntu. Відкрийте термінал і виконайте таку команду:
sudo apt-get install tftpd-hpa syslinux pxelinux nfs-kernel-server
Ця команда встановить TFTP сервер, Syslinux, який містить необхідні файли для завантаження, і сервер NFS, який дозволить забезпечити доступ до файлів по мережі.
Крок 2: Налаштування TFTP
Після установки, відредагуйте файл налаштувань TFTP сервера, щоб вказати шлях до завантажувальних файлів. Відкрийте файл за допомогою наступної команди:
sudo nano /etc/default/tftpd-hpa
У цьому файлі знайдіть рядок " TFTP_DIRECTORY "і змініть його значення на"/srv/TFTP". Потім знайдіть рядок " TFTP_OPTIONS "і додайте прапор"- L " до існуючих опцій. У підсумку, файл повинен виглядати приблизно так:
Збережіть і закрийте файл. Налаштування TFTP сервера завершена.
Крок 3: створення необхідних директорій
Створіть каталоги, які міститимуть файли завантаження та файли для доступу через мережу. Виконайте наступні команди:
sudo mkdir /srv/tftp
sudo mkdir /srv/nfs
Поздоровляю! Тепер ваш PXE сервер готовий до роботи і може бути використаний для установки операційних систем на інші комп'ютери у вашій мережі. Надалі, ви зможете налаштувати DHCP сервер і додати файли завантаження для різних операційних систем.
Встановлення та налаштування PXE сервера
Крок 1: Установка PXE сервера
Перед початком процесу установки і настройки PXE сервера, переконайтеся, що ваша операційна система Ubuntu актуальна і має всі необхідні оновлення. Потім виконайте наступні кроки:
- Відкрийте термінал і виконайте команду sudo apt update, щоб оновити список пакетів.
- Потім виконайте команду sudo apt install tftpd-hpa syslinux pxelinux nfs-kernel-server, щоб встановити необхідні пакети для PXE сервера.
Крок 2: Налаштування TFTP сервера
Після установки пакета tftpd-hpa, налаштуйте TFTP сервер наступним чином:
- Відкрийте файл конфігурації сервера TFTP, виконавши команду sudo nano /etc/default/tftpd-hpa.
- Змініть значення змінної TFTP_OPTIONS на -l -s /var/lib/tftpboot.
- Збережіть внесені зміни та закрийте файл.
- Потім створіть каталог / var / lib / tftpboot за допомогою команди sudo mkdir /var/lib/tftpboot.
- Дайте дозвіл на запис і читання для TFTP сервера, виконавши команду sudo chmod -R 777 /var/lib/tftpboot.
Крок 3: Підготовка PXE сервера
Наступний крок-підготувати файли для завантаження через PXE:
- Скопіюйте файл pxelinux.0 з пакета syslinux в каталог TFTP сервера, виконавши команду sudo cp /usr/lib/PXELINUX/pxelinux.0 /var/lib/tftpboot.
- Створіть каталог / var/lib/tftpboot / pxelinux.cfg, використовуючи команду sudo mkdir /var/lib/tftpboot/pxelinux.cfg.
- Створіть файл за замовчуванням у каталозі pxelinux.cfg, виконавши команду sudo nano /var/lib/tftpboot/pxelinux.cfg/default.
- У файл default додайте наступні рядки:
DEFAULT menu.c32PROMPT 0MENU TITLE PXE Boot MenuTIMEOUT 100LABEL ubuntuMENU LABEL Install UbuntuKERNEL ubuntu-installer/amd64/linuxAPPEND vga=788 initrd=ubuntu-installer/amd64/initrd.gz netboot=nfs nfsroot=your_nfs_server_ip:/path/to/nfsroot
У цьому прикладі замініть your_nfs_server_ip на IP-адресу Вашого NFS сервера і/path/to / nfsroot на шлях до каталогу, який буде використовуватися в якості кореня NFS.
Крок 4: Налаштування NFS сервера
Для доступу до файлової системи Ubuntu через мережу, налаштуйте NFS сервер:
- Відкрийте файл конфігурації NFS сервера, виконавши команду sudo nano /etc/exports.
- Додайте наступний рядок у файл, замінивши/path/to / nfsroot на шлях до каталогу, який буде використовуватися як корінь NFS:
/path/to/nfsroot *(ro,sync,no_subtree_check,no_root_squash)
Збережіть внесені зміни та закрийте файл.
Крок 5: перезапустіть служби
Перезапустіть TFTP та NFS сервера, виконавши такі команди:
- Виконайте команду sudo service tftpd-hpa restart, щоб перезапустити TFTP сервер.
- Виконайте команду sudo service nfs-kernel-server restart, щоб перезапустити NFS сервер.
Поздоровляю! Ви встановили та налаштували PXE сервер на Ubuntu. Тепер ви можете використовувати PXE для встановлення Ubuntu через мережу.
Крок 1: встановлення Ubuntu на сервер
Першим кроком для налаштування PXE сервера на Ubuntu необхідно встановити операційну систему на сервер. Для цього дотримуйтесь інструкції нижче:
- Завантажте образ інсталяційного диска Ubuntu з офіційного веб-сайту Ubuntu.
- Запишіть образ на флешку або створіть інсталяційний диск.
- Підключіть флешку або вставте інсталяційний диск у сервер.
- Завантажте сервер з флешки або інсталяційного диска.
- Виберіть мову встановлення та натисніть "встановити Ubuntu".
- Виберіть розділ та файлову систему для встановлення Ubuntu.
- Задайте ім'я користувача та пароль для адміністративного доступу.
- Дочекайтеся завершення встановлення та перезавантажте сервер.
Після перезавантаження сервера у вас буде встановлена операційна система Ubuntu, яку ви зможете використовувати для налаштування PXE сервера.
Крок 2: встановлення необхідних пакетів
Перед тим, як приступити до Налаштування PXE сервера на Ubuntu, необхідно встановити кілька пакетів. У цьому розділі ми розглянемо процес установки пакетів, які знадобляться для роботи сервера.
| Пакет | Опис | Команда установки |
|---|---|---|
| TFTP сервер | Сервер для передачі файлів по протоколу TFTP | sudo apt-get install tftpd-hpa |
| DHCP сервер | Сервер видачі IP-адрес по протоколу DHCP | sudo apt-get install isc-dhcp-server |
| Apache сервер | Сервер для надання доступу до файлів по протоколу HTTP | sudo apt-get install apache2 |
Після виконання зазначених команд, всі необхідні пакети будуть успішно встановлені.
Крок 3: Конфігурація сервера DHCP
1. Відкриємо файл конфігурації DHCP сервера в текстовому редакторі:
sudo nano /etc/dhcp/dhcpd.conf
2. Додамо наступну конфігурацію в кінець файлу:
option domain-name "example.com";
option domain-name-servers ns1.example.com, ns2.example.com;
option routers 192.168.1.1;
range 192.168.1.100 192.168.1.200;
3. У даній конфігурації ми вказуємо наступні параметри:
- subnet-адреса підмережі;
- netmask-маска підмережі;
- option domain-name-доменне ім'я;
- option domain-name-servers-список серверів DNS;
- option routers - IP адреса шлюзу;
- range-діапазон адрес IP для видачі клієнтам;
- default-lease-time - час оренди за замовчуванням;
- max-lease-time-максимальний час оренди;
- next-server-адреса TFTP сервера;
- filename-ім'я файлу, який буде завантажений клієнтом по TFTP.
4. Збережіть і закрийте файл конфігурації.
5. Перезапустимо DHCP сервер:
sudo systemctl restart isc-dhcp-server
Тепер настройка DHCP сервера для PXE завантаження завершена і клієнти зможуть отримати необхідні параметри для завантаження по мережі.
Крок 4: Створення та налаштування TFTP сервера
Крок 1: Установка TFTP сервера.
1. Відкрийте термінал і виконайте таку команду:
sudo apt-get install tftpd-hpa
2. Під час процесу встановлення вам може бути запропоновано ввести пароль для TFTP, введіть потрібний пароль і продовжуйте встановлення.
Крок 2: Налаштування TFTP сервера.
1. Відкрийте файл конфігурації сервера TFTP за допомогою наступної команди:
sudo nano /etc/default/tftpd-hpa
2. Знайдіть рядок з параметром TFTP_OPTIONS і розкоментуйте її, видаливши символ "#".
3. Додайте наступні параметри:
Ці параметри дозволять створювати і безпечно записувати файли на TFTP сервер.
4. Збережіть зміни та закрийте файл.
Крок 3: Перезапустіть TFTP сервер.
1. Виконайте наступну команду для перезапуску TFTP сервера:
sudo systemctl restart tftpd-hpa
Тепер TFTP сервер успішно створений і налаштований на вашому Ubuntu сервері.
Крок 5: Створення та налаштування NFS сервера
Щоб дозволити клієнтам PXE сервера звертатися до файлового сховища через мережу, необхідно налаштувати NFS сервер.
В Ubuntu встановимо необхідні пакети:
sudo apt-get install nfs-kernel-server
Після установки пакета відредагуємо файл конфігурації:
sudo nano /etc/exports
Додамо наступні рядки, щоб дозволити доступ клієнтам до каталогу PXE сервера:
/srv/tftp 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash)
Збережіть зміни та перезавантажте NFS сервер:
sudo systemctl restart nfs-kernel-server
Тепер NFS сервер налаштований і готовий до використання з PXE сервером. У наступному кроці розглянемо настройку DHCP сервера.
Крок 6: Створення та налаштування FTP сервера
В Ubuntu ми можемо використовувати пакет vsftpd, щоб налаштувати FTP сервер. Для початку, встановимо пакет командою:
sudo apt-get install vsftpd
Після установки пакета, відкрийте файл налаштувань командою:
sudo nano /etc/vsftpd.conf
Розглянемо деякі настройки, які нам будуть потрібні:
anonymous_enable=YES
(дозволити доступ анонімних користувачів)
local_enable=YES
(дозволити доступ локальним користувачам)
write_enable=YES
(дозволити запис файлів на сервер)
local_umask=022
(встановити маску прав доступу для локальних користувачів)
dirmessage_enable=YES
xferlog_enable=YES
(включити логування операцій передачі файлів)
connect_from_port_20=YES
(дозволити підключення до порту 20 для активного режиму передачі даних)
Збережіть файл конфігурації і перезапустіть FTP сервер командою:
sudo service vsftpd restart
FTP сервер готовий до роботи. Тепер ви можете копіювати файли на сервер PXE за допомогою FTP клієнт.
Крок 7: Створення та налаштування HTTP сервера
Для установки і настройки HTTP сервера на Ubuntu, скористайтеся наступними командами:
1. Установка Apache HTTP сервера:
sudo apt update
sudo apt install apache2
2. Налаштування директорії:
Відкрийте файл конфігурації Apache:
sudo nano /etc/apache2/apache2.conf
Знайдіть рядок DocumentRoot і змініть її на:
Збережіть файл і закрийте редактор.
3. Дозвіл доступу до директорії:
Відкрийте файл конфігурації Apache:
sudo nano /etc/apache2/apache2.conf
Додайте наступний блок коду в кінець файлу:
Options Indexes FollowSymLinks
Require all granted
Збережіть файл і закрийте редактор.
4. Перевірка конфігурації:
Запустіть команду для перевірки конфігурації Apache:
sudo apache2ctl configtest
5. Перезапуск сервера Apache:
Запустіть команду для перезапуску Apache сервера:
sudo systemctl restart apache2
Тепер ваш HTTP сервер налаштований і готовий до використання.
Крок 8: Створення та налаштування PXE меню
Після успішного Налаштування PXE сервера на Ubuntu, настав час створити і налаштувати меню, яке буде відображатися на комп'ютері клієнта при завантаженні через мережу.
Для створення і налаштування PXE меню необхідно відредагувати файл default конфігурації TFTP сервера. Відкрийте файл / var/lib/tftpboot / pxelinux.cfg / default за допомогою текстового редактора:
- sudo nano /var/lib/tftpboot/pxelinux.cfg/default
У відкритому файлі ви знайдете приклад простого PXE меню:
- default menu.c32
- prompt 0
- timeout 100
- menu title PXE Boot Menu
- label local
- menu label Boot from local disk
- localboot 0
Цей приклад меню дозволяє користувачеві вибрати завантаження з локального диска комп'ютера. У нашому випадку, ми хочемо налаштувати PXE меню для установки Linux операційної системи.
Для цього ми можемо використовувати різні Linux дистрибутиви, такі як Ubuntu, Fedora, CentOS та інші.
Нижче наведено приклад налаштування PXE меню для встановлення Ubuntu:
- default menu.c32
- prompt 0
- timeout 100
- menu title PXE Boot Menu
- label ubuntu
- menu label Install Ubuntu
- kernel ubuntu-installer/amd64/linux
- append vga=normal initrd=ubuntu-installer/amd64/initrd.gz --quiet
У наведеному вище прикладі, ми створюємо пункт меню з назвою"Install Ubuntu". Потім, вказуємо шлях до ядра linux і initrd файлів Ubuntu інсталятора, які ми налаштували раніше.
Після збереження змін у файлі default, перезапустіть комп'ютер клієнта і переконайтеся, що PXE меню відображається коректно, і обраний пункт меню запускає установку Ubuntu.
Тепер ви знаєте, як створити і налаштувати PXE меню на Ubuntu для установки Linux операційної системи через мережу.
Крок 9: Завантаження та тестування PXE клієнта
Після успішної настройки PXE сервера на Ubuntu, прийшов час протестувати його роботу. Для цього нам знадобиться PXE клієнт, який буде завантажуватися по мережі.
Спочатку переконайтеся, що PXE клієнт підключений до тієї ж мережі, що і PXE сервер. Потім перезавантажте клієнтську машину та налаштуйте BIOS або UEFI таким чином, щоб завантажувальний пристрій був встановлений у PXE. Це дозволить клієнтському комп'ютеру Шукати завантажувальні файли на PXE сервері.
Після перезавантаження клієнта, ви повинні побачити процес завантаження з PXE сервера. На екрані повинні з'явитися різні повідомлення про завантаження, включаючи інформацію про DHCP запиті і завантаженні ядра і файлової системи через TFTP.
Якщо процес завантаження пройшов успішно, ви повинні побачити графічний інтерфейс операційної системи, яку ви налаштували для встановлення через PXE. Якщо у вас був встановлений сервер Ubuntu, ви побачите екран встановлення Ubuntu.
Тепер ви можете протестувати всі функції PXE сервера, такі як автоматична установка операційної системи, Оновлення ПЗ та інші функції, які ви налаштували в попередніх кроках.
Зверніть увагу, що під час тестування PXE клієнта, важливо переконатися, що мережа і сервер здатні обробляти і обслуговувати всі запити. Якщо у вас виникли проблеми із завантаженням або встановленням, перевірте налаштування мережі та конфігурацію PXE сервера.
Крок 10: вирішення можливих проблем
Проблема: При спробі завантажити клієнтську машину по мережі виникає помилка"TFTP open timeout".
Можливе рішення:
1. Перевірте, чи працює сервер TFTP і слухає порт 69. Виконайте наступну команду:
sudo netstat -tulpn | grep :69
Якщо порт 69 не слухається, виконайте таку команду для запуску сервера:
sudo systemctl start tftpd-hpa
2. Переконайтеся, що файли, які намагається завантажити клієнтська машина, знаходяться в правильній директорії TFTP сервера. Переконайтеся, що вони мають правильні дозволи доступу і приналежність користувачеві, від імені якого працює TFTP сервер.
Проблема: Клієнтська машина не може знайти DHCP сервер.
Можливе рішення:
1. Перевірте, що DHCP сервер працює і слухає порт 67. Виконайте наступну команду:
sudo netstat -tulpn | grep :67
Якщо порт 67 не слухається, виконайте таку команду для запуску сервера:
sudo systemctl start isc-dhcp-server
2. Переконайтеся, що файл конфігурації DHCP сервера містить правильні налаштування мережі, такі як підмережа та шлюз за замовчуванням. Перевірте, що файл /etc/dhcp/dhcpd.conf відповідає вашим вимогам.
Проблема: PXE клієнт не може завантажити образ операційної системи.
Можливе рішення:
1. Переконайтеся, що образ операційної системи доступний для завантаження через TFTP сервер. Переконайтеся, що він знаходиться в правильній директорії, зазначеної у файлі конфігурації TFTP.
2. Перевірте, що файл конфігурації PXE сервера (/var/lib/tftpboot/pxelinux.cfg/default) містить правильні налаштування для завантаження образу операційної системи. Переконайтеся, що шляхи до файлів і параметри ядра вказані вірно.
3. Перевірте, що клієнтська машина має правильні налаштування мережі, такі як IP адреса, підмережа і шлюз за замовчуванням. Переконайтеся, що вони відповідають налаштуванням у файлі конфігурації DHCP сервера.