Налаштування pxe boot меню з мемтестом і паролями

У PXE є одна дуже корисна особливість, все що в ньому налаштоване досить важко втратити тому все це зберігається на сервері, а не на знімному носії, які мають звичай губитися, красти, забуватися в приводах DVD / будинку, даватися покористуватися і «з кінцями», так що, ймовірність що у вас візьмуть покористуватися і «заграють» прагне до нуля , ну хіба що разом з сервером ... Підключивши пристрій має можливість завантаження PXE, можна робити досить багато корисних речей, а саме: проводити діагностику обладнання, розгортати операційні системи, завантажити Live систему і т.п. на що вистачить знань і фантазії.
Для цього нам знадобиться налаштувати DHCP сервер і TFTP сервер.
Раніше я вже писав про те як налаштувати сервер для установки Ubuntu по локальній мережі. вкрай рекомендую для ознайомлення, основні моменти перекочували з неї.
Що ми отримаємо на виході ?!
А отримаємо меню завантаження з можливістю вибрати програму яке ми будемо завантажувати на клієнтську машину, а також дії, за замовчуванням, які будуть зроблені системою-якщо не надійде команд від користувачів.

Для роботи нам знадобиться:

1) Встановлений Ubuntu server
2) Налаштований DHCP сервер, приклад налаштування можна взяти в статті: Налаштування DHCP сервера під керуванням Ubuntu
3) Диск або ISO-образ, установочного дистрибутива Ubuntu - розрядність значення не має, а ось версію краще брати свіжіше.

Установка tftp сервера

Встановимо необхідний пакет:
Піднімаємо права до root:


Встановимо необхідний пакет


Тепер всі файли які відносяться до нашого tfpt сервера, повинні перебувати в директорії / var / lib / tftpboot /. всі шляхи вказуються щодо неї.

Переходимо до створення меню завантаження

Насамперед, нам потрібно здобути зам завантажувач, як це зробити. Його можна знайти на будь-якому диску з ubuntu, в інших дистрибутивах Linux, розташування майже завжди таке ж. Нам потрібно інсталяційний ISO образ або диск вставлений в привід DVD, в якому ми йдемо в наступну директорію:
Якщо інсталяційний диск х86 архітектури:

Нас цікавить файл pxelinux.0 це і є завантажувач, забираємо його і копіюємо в директорію:

Тоді шлях до нього виглядає:

Також, нам знадобиться, саме boot-меню, яке можна взяти на тому ж диску, в директорії boot-sccreens нас цікавить файл з ім'ям vesamenu.c32

Копіюємо його в ту ж саму директорію що і завантажувач щоб шлях виглядав:


Налаштовуємо вміст PXE меню

Як приклад, ми зробимо меню завантаження, що складається з 2-х пунктів.
Пункт перший: Завантаження з локального жорсткого диска. Цей пункт буде пунктом за замовчуванням, якщо користувач завантажив ПК по PXE і протягом 15 сек. не виконав жодних дій, то система автоматично завантажиться з локального диска.
Пункт другий: назвемо його Testing Усередині даного меню буде знаходитися, пункт з можливістю завантаження Memtest x86 +. Дана програма завжди буде корисна в діагностиці проблем робочих станцій і серверів, в загальному, річ потрібна, в господарстві згодиться всім ...

Для початку, нам потрібно створити директорію для конфігураційних файлів з ім'ям pxelinux.cfg - ім'я критично для роботи!


Тепер створимо конфігураційний файл з параметрами пунктів меню, з ім'ям default


Наступного змісту:


Найбільш наглядові, помітили що в попередньому файлі у нас з'явився запис яка стосується іншого файлу testing.menu. в ньому у нас будуть знаходитися параметри налаштування пункту Testing
Створимо дане зображення:


Наступного змісту:


Перший пункт меню, буде відповідати за повернення до попереднього меню, а другий за завантаження Memtest86 + v4.20

Все нічого, але ми не створили директорію де зберігається файл Memtest, це ми зараз виправимо, давайте створимо відповідну директорію.
Зробимо це:

Нам залишилося додати виконуваний файл самого Memtest86 +, його можна знайти на установчому диску, в директорії / install / нас цікавить файл mt86plus нам нього необхідно скопіювати в директорію memtest, щоб шлях до нього виглядав:


На цьому ми закінчили з tftp сервером, нам залишилося трохи допив DHCP сервер.

Настріваем DHCP сервер

Цей пункт, налаштуванням можна назвати лише з натяжкою, якщо ви налаштували DHCP сервер за статтею, то вам необхідно додати тільки один запис в:


І в нього додаємо запис вказує на наш PXE завантажувач:

Шлях до файлу вказано щодо директорії / var / lib / tftpboot / тобто вона вважається кореневою директорією, про що я писав раніше ...

Вся запис має вигляд:


Зберігаємо зміни і перезавантажуємо DHCP сервер:


Тепер ми можемо підключити до нашої локальної мережі пристрій який підтримує завантаження PXE і в якому ця функція включена (дивіться документацію до свого обладнання) або підключити віртуальну машину, а адаптометрії підключеним в режимі моста і без завантажувального носія.

Якщо ви все зробили правильно, то меню буде мати наступний вигляд:

Налаштування pxe boot меню з мемтестом і паролями

А якщо зайти в меню Testing:

Налаштування pxe boot меню з мемтестом і паролями

Якщо вибрати пункт з Memtest то запуститься тест пам'яті.
Інші пункти меню додаються відповідним чином.

Уявімо ситуацію, що вам потрібно надати доступ до одного з меню, обмеженому колу осіб, наприклад там у вас лежить дистрибутив, який коштує купу грошей. З цією метою на пункт меню можна встановити пароль, як це зробити ?!
Уявімо ситуацію, вам потрібно встановити пароль (наприклад: password) на Memory Test, робиться це просто

Нам необхідно додати запис:
MENU PASSWD password

Тоді файл набуває вигляду:


Захист звичайно, так собі, але від звичайних користувачів може допомогти.

Тоді при спробі запуску вийде вікно:

Налаштування pxe boot меню з мемтестом і паролями

якщо ввести правильний пароль, то запуститься Memtest.
Таким способом можна приховувати цілі меню або блокувати доступ до окремих його пунктів.
У разі внесення зміни в ці конфігураційні файли, DHCP сервер перезапускати немає необхідності, досить перезавантажити клієнтський ПК якщо він завантажився по PXE.
З приводу швидкості роботи tftp, швидкість роботи не висока, і якщо ви вирішите перекачувати великі обсяги інформації, стораюсь використовувати для цього WEB або FTP сервер, готуйтеся витратити на це кілька часу. Якщо є необхідність завантажити якийсь дистрибутив, то краще завантажити ОС невеликого розміру, прикладом може служити Windows PE. ну або мініатюрний дистрибутив Linux.
На цьому я мабуть і закінчу ...

Пише що пакет встановлений, залишилося запустити службу

Рятуйте як це зробити.
А то все до статті Установка Ubuntu по мережі (DHCP, PXE, boot-menu) / На прикладі Ubuntu 14.04 не прийду не як, а дуже треба

Спочатку ставилося командою sudo aptitude -R install apache2 atftpd tftpd-hpa dhcp3-server


Інших варіантів я не знаю, подивіться що лежить в директорії /etc/init.d/ там повинен бути скрипт запуску, зі схожою назвою (в імені повинно бути tftp)

Скрип є, може має змив видалити і заново поставити aptitude і tftp? Тільки як їх для початку видалити?