Сервер PXE - середовище попереднього завантаження eXecution - вказує клієнтському комп'ютеру завантажувати, запускати або встановлювати операційну систему безпосередньо з мережевого інтерфейсу, усуваючи необхідність записувати CD/DVD або використовувати фізичний носій або, може полегшити роботу з встановлення дистрибутивів Linux у вашій мережевій інфраструктурі на декількох машинах час.
У цій статті буде пояснено, як можна встановити та налаштувати Сервер PXE на RHEL/CentOS 7 x64-біт із дзеркальними локальними сховищами інсталяції, джерела, що надаються образом CentOS 7 DVD ISO, за допомогою DNSMASQ Сервер.
Що забезпечує DNS та DHCP послуги, Syslinux пакет, що забезпечує завантажувачі для завантаження мережі,
TFTP-сервер, що робить завантажувальні зображення доступними для завантаження через мережу за допомогою Тривіальний протокол передачі файлів (TFTP) і VSFTPD Сервер, на якому буде розміщено локальний дзеркальний образ DVD, який буде виконувати роль офіційного сховища встановлення дзеркал RHEL/CentOS 7, звідки інсталятор буде витягувати необхідні пакети.1. Не потрібно нагадувати, що це абсолютно вимогливий інтерфейс вашої мережевої карти, якщо ваш сервер містить більше мережевих карт, повинні бути налаштовані зі статичною IP -адресою з того самого діапазону IP -адрес, що належить до сегмента мережі, який надаватиме PXE послуги.
Отже, після того, як ви налаштували свою статичну IP -адресу, оновили систему та виконали інші початкові налаштування, використовуйте таку команду для встановлення DNSMASQ демон.
# yum встановити dnsmasq.
2. Основний файл конфігурації DNSMASQ, розташований за адресою /etc Каталог є зрозумілим, але його буде досить важко редагувати, враховуючи пояснення, котрі дуже коментуються.
Спочатку переконайтеся, що ви створили резервну копію цього файлу на випадок, якщо вам доведеться його переглянути пізніше, а потім створіть новий порожній файл конфігурації за допомогою улюбленого текстового редактора, виконавши такі команди.
# mv /etc/dnsmasq.conf /etc/dnsmasq.conf.backup. # nano /etc/dnsmasq.conf.
3. Тепер скопіюйте та вставте наведені нижче конфігурації dnsmasq.conf файл і переконайтеся, що ви змінили наведені нижче пояснення, щоб вони відповідно відповідали налаштуванням вашої мережі.
інтерфейс = eno16777736, lo. #bind-інтерфейси. домен = centos7.lan. # Оренда діапазону DHCP. dhcp-range = eno16777736,192.168.1.3,192.168.1.253,255.255.255.0,1h. # PXE. dhcp-boot = pxelinux.0, pxeserver, 192.168.1.20. # Шлюз. dhcp-option = 3,192.168.1.1. # DNS. dhcp-option = 6,92.168.1.1, 8.8.8.8. сервер = 8.8.4.4. # Адреса мовлення. dhcp-option = 28,10.0.0.255. # NTP -сервер. dhcp-option = 42,0.0.0.0 pxe-prompt = "Натисніть F8 для меню.", 60. pxe-service = x86PC, "Встановити CentOS 7 з мережевого сервера 192.168.1.20", pxelinux. enable-tftp. tftp-root =/var/lib/tftpboot.
Нижче наведено такі твердження:
Інші додаткові параметри щодо файлу конфігурації читайте Інструкція dnsmasq.
4. Після того як ви відредагували та зберегли DNSMASQ основний файл конфігурації, продовжуйте та встановлюйте Syslinx Пакет завантажувача PXE, виконавши таку команду.
# yum встановити syslinux.
5. Файли завантажувачів PXE знаходяться у /usr/share/syslinux абсолютний системний шлях, тому ви можете перевірити його, перерахувавши вміст цього шляху. Цей крок є необов’язковим, але вам може знати цей шлях, оскільки на наступному кроці ми скопіюємо весь його вміст у Сервер TFTP шлях.
# ls/usr/share/syslinux.
6. Тепер переходимо до наступного кроку та встановлення TFTP-сервер а потім скопіюйте всі файли завантажувачів, надані пакетом Syslinux, із зазначеного вище розташування в /var/lib/tftpboot шлях, виконавши такі команди.
# yum встановити tftp-сервер. # cp -r/usr/share/syslinux/*/var/lib/tftpboot.
7. Як правило, Сервер PXE зчитує свою конфігурацію з групи конкретних файлів (GUID файли - спочатку, МАК файли - далі, За замовчуванням файл - останній), розміщений у папці під назвою pxelinux.cfg, який повинен знаходитися у каталозі, зазначеному в tftp-корінь оператор з основного файлу конфігурації DNSMASQ.
Створіть необхідний каталог pxelinux.cfg і заповніть його символом за замовчуванням файл, виконавши такі команди.
# mkdir /var/lib/tftpboot/pxelinux.cfg. # торкніться /var/lib/tftpboot/pxelinux.cfg/default.
8. Тепер настав час редагування Сервер PXE конфігураційний файл із допустимими параметрами встановлення дистрибутивів Linux. Також зверніть увагу, що всі шляхи, що використовуються у цьому файлі, мають бути відносними до /var/lib/tftpboot каталогу.
Нижче ви можете побачити приклад файлу конфігурації, який можна використовувати, але змінити інсталяційні образи (ядро та initrd файли), протоколи (FTP, HTTP, HTTPS, NFS) та IP -адреси для відображення сховищ джерел і шляхів встановлення мережі відповідно.
# nano /var/lib/tftpboot/pxelinux.cfg/default.
Додайте наступний уривок у файл.
меню за замовчуванням. c32. підказка 0. час очікування 300. Заголовок локального меню ONTIMEOUT ########## Мітка завантаження PXE ########## мітка 1. підпис меню ^1) Встановіть CentOS 7 x64 за допомогою Local Repo. ядро centos7/vmlinuz. додати initrd = centos7/initrd.img метод = ftp: //192.168.1.20/pub devfs = мітка nomount 2. підпис меню ^2) Встановіть CentOS 7 x64 за допомогою http://mirror.centos.org Репо. ядро centos7/vmlinuz. додати initrd = centos7/initrd.img метод = http://mirror.centos.org/centos/7/os/x86_64/ devfs = nomount ip = мітка dhcp 3. підпис меню ^3) Встановіть CentOS 7 x64 за допомогою Local Repo за допомогою VNC. ядро centos7/vmlinuz. додати initrd = centos7/initrd.img метод = ftp: //192.168.1.20/pub devfs = nomount inst.vnc inst.vncpassword = мітка пароля 4. підпис меню ^4) Завантажитись з локального диска.
Як ви бачите, завантажувальні образи CentOS 7 (ядро та initrd) знаходяться у каталозі з іменем centos7 щодо /var/lib/tftpboot (на абсолютному системному шляху це означало б /var/lib/tftpboot/centos7) і до сховищ інсталятора можна отримати доступ за допомогою FTP протокол про 192.168.1.20/pub мережеве розташування - у цьому випадку репозиторії розміщуються локально, оскільки IP -адреса така ж, як і адреса сервера PXE).
Також меню етикетка 3 вказує, що установку клієнта слід здійснювати з віддаленого розташування через VNC (тут замініть пароль VNC на надійний пароль) на випадок, якщо ви встановите на безголовний клієнт і меню етикетка 2 вказує як
джерела установки - це офіційне дзеркало Інтернету CentOS 7 (у цьому випадку потрібне підключення до Інтернету, доступне на клієнті через DHCP та NAT).
Важливо: Як ви бачите у наведеній вище конфігурації, ми використовували CentOS 7 для демонстраційних цілей, але ви також можете визначити RHEL 7 зображення та наступні інструкції та конфігурації базуються лише на CentOS 7, тому будьте обережні при виборі розподіл.
9. Для цього кроку потрібні файли ядра CentOS та файли initrd. Щоб отримати ці файли, вам потрібно CentOS 7 DVD ISO Зображення. Отже, завантажте CentOS DVD Image, покладіть його у DVD -дисковод та змонтуйте образ /mnt системний шлях, виконавши команду нижче.
Причиною використання DVD, а не мінімального зображення компакт -диска, є той факт, що пізніше цей вміст DVD буде використовуватися для створення
локальні сховища інсталяторів для FTP джерел.
# mount -o loop /dev /cdrom /mnt. # лс /мнт.
Якщо у вашому апараті немає DVD -дисковода, його також можна завантажити CentOS 7 DVD ISO локально з використанням wget або завивати комунальні послуги від а Дзеркало CentOS і встановіть його.
# wget http://mirrors.xservers.ro/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-DVD.iso. # петля монтування -o /path/to/centos-dvd.iso /mnt.
10. Після того, як вміст DVD стане доступним, створіть centos7 каталогів та скопіюйте завантажувальне ядро CentOS 7 та зображення initrd з місця, встановленого на DVD, у структуру папок centos7.
# mkdir/var/lib/tftpboot/centos7. # cp/mnt/images/pxeboot/vmlinuz/var/lib/tftpboot/centos7. # cp /mnt/images/pxeboot/initrd.img/var/lib/tftpboot/centos7.
Причина використання такого підходу полягає в тому, що пізніше ви можете створити нові окремі каталоги в /var/lib/tftpboot шлях та додайте інші дистрибутиви Linux до меню PXE, не порушуючи всієї структури каталогів.
11. Хоча ви можете налаштувати Джерела установки джерела За допомогою різних протоколів, таких як HTTP, HTTPS або NFS, для цього посібника я вибрав FTP протокол, оскільки він дуже надійний і простий у налаштуванні за допомогою vsftpd сервер.
Далі встановіть демон vsftpd, скопіюйте весь вміст, встановлений на DVD, у vsftpd шлях до сервера за замовчуванням (/var/ftp/pub) - це може зайняти деякий час залежно від ваших системних ресурсів і додати до цього шляху дозволи для читання, виконавши такі команди.
# yum встановити vsftpd. # cp -r/mnt/*/var/ftp/pub/ # chmod -R 755/var/ftp/pub.
12. Тепер, коли конфігурація сервера PXE остаточно завершена, почніть DNSMASQ та VSFTPD сервери, перевірити їх стан та включити загальносистемний автоматичний запуск після кожного перезавантаження системи, виконавши наведені нижче команди.
# systemctl запуск dnsmasq. # systemctl статус dnsmasq. # systemctl початок vsftpd. # статус systemctl vsftpd. # systemctl увімкнути dnsmasq. # systemctl увімкнути vsftpd.
13. Щоб отримати список усіх портів, які повинні бути відкриті на вашому брандмауері, щоб клієнтські машини могли отримати доступ і завантажитися з сервера PXE, запустіть netstat командуйте та додайте правила CentOS 7 Firewalld відповідно до портів прослуховування dnsmasq та vsftpd.
# netstat -tulpn. # firewall-cmd --add-service = ftp --permanent ## Порт 21. # firewall-cmd --add-service = dns --permanent ## Порт 53. # firewall-cmd --add-service = dhcp --permanent ## Порт 67. # firewall-cmd --add-port = 69/udp --permanent ## Порт для TFTP. # брандмауер-cmd --add-port = 4011/udp --постійний ## Порт для ProxyDHCP. # firewall-cmd --reload ## Застосувати правила.
14. Щоб перевірити мережевий шлях джерела інсталяції FTP, відкрийте локально браузер (рись це потрібно зробити) або на іншому комп’ютері та введіть IP -адресу вашого сервера PXE за допомогою
Протокол FTP, а потім /pub мережеве розташування в URL -адресі, і результат має бути таким, як представлено на скріншоті нижче.
ftp://192.168.1.20/pub.
15. Щоб налагодити сервер PXE щодо можливих помилок у конфігурації чи іншої інформації та діагностики в режимі реального часу, виконайте таку команду.
# tailf/var/log/messages.
16. Нарешті, останній необхідний крок, який вам потрібно зробити, це відключити CentOS 7 DVD та видалити фізичний носій.
# umount /mnt.
17. Тепер ваші клієнти можуть завантажитися та встановити CentOS 7 на своїх машинах, налаштувавши Network Boot як основний завантажувальний пристрій з їх системного BIOS або натисканням зазначеної клавіші під час БІОС ПОСТ операції, зазначені в інструкції до материнської плати.
Для того, щоб вибрати завантаження мережі. Після появи першого запиту PXE натисніть F8 клавіша, щоб увійти до презентації, а потім натисніть Введіть клавіша для переходу до меню PXE.
18. Коли ви перейшли до меню PXE, виберіть тип установки CentOS 7, натисніть Введіть ключ і продовжити процедуру встановлення так само, як ви могли б встановити його з локального завантажувального пристрою.
Зверніть увагу, що для використання варіанту 2 із цього меню потрібно активне підключення до Інтернету на цільовому клієнті. Крім того, нижче
на скріншотах можна побачити приклад віддаленої установки клієнта через VNC.
Це все для налаштування мінімуму Сервер PXE на CentOS 7. У моїй наступній статті з цієї серії я обговорюватиму інші питання, що стосуються конфігурації сервера PXE, наприклад, як налаштувати автоматичні установки CentOS 7 використовуючи Різкий пуск файли та додавання інших дистрибутивів Linux до меню PXE - Сервер Ubuntu та Debian 7.