Leon-Killer22 Опубликовано 20 ноября, 2014 Жалоба Поделиться Опубликовано 20 ноября, 2014 Здравствуйте, товарищи! Просьба не пинать - это моя первая попытка сделать небольшое подобие мануала. Решил поделиться опытом установки и первичной настройки PXE-сервера с использованием TFTP-сервера и загрузчиков grub4dos. Планирую по мере успешных решений поставленных задач дополнять эту тему - надеюсь, кому-то это поможет. Моя инфраструктура: - Домен контроллер (Win 2012 - AD, DNS, DHCP и др.) - Сервер с виртуалками ESXi - 200+ рабочих станций Остальное описывать не буду, т.к. это к делу не относитсяю Решил настроить PXE-сервер для загрузки по сети образов операционных систем, антивирусов, утилит и т.д. По ходу изучения темы встречал различные материалы. В основном, всё про загрузку с флешки, винта, а про сетевой вариант - всё как-то не совсем ясно. Оффтоп Быть может, плохо читал? :) Остановился на самом простом, на мой взгляд, варианте - Windows 2012 + TFTPD32. О программе TFTPD32: Tftpd32 — небольшая программа для Windows с открытым исходным кодом, включающая в себя простые в настройке DHCP, TFTP, SNTP и Syslog серверы, а также TFTP клиент, поддерживающий стандарт TFTPv2. Поддерживает IPv6. На официальном сайте также доступен вариант этой программы для 64-разрядных ОС Tftpd64. DHCP сервер без ограничений поддерживает как автоматическую, так и статическую раздачу IP-адресов. TFTPD, в частности, может быть использована как часть серверного ПО для организации загрузки бездисковых станций. Для использования в этом качестве для загрузки Windows он рекомендован проектом PXE. Суть, вкратце, следующая: Сервер: 0. На рабочую винду в сети ставится программа TFTPD32. 1. Производятся некоторые настройки в TFTPD32(папки, DHCP, DNS). 2. В папку программы копируют те образы, которые нужно запускать по сети. 3. В папку программы копируют загрузчик - у меня grub4dos. 4. Создается файлик - меню загрузки в grub4dos. Клиент: 0. Запускается штатный Network Boot Agent. 1. Получает IP адрес по DHCP с информацией о адресе PXE-сервера. 2. Соединяется с PXE-сервером и загружается и на экране возникает меню grub4dos с вариантами для загрузки. 3. Дальше - как при работе с загрузочной флешкой на grub4dos. Я постараюсь изложить максимально понятно информацию из первоисточника, которым пользовался сам. (ссылка) Приступим! Подготовка: 0. Скачиваем программу TFTPD64 (я использую версию 4.00, tftpd64 standard edition) и распаковываем/устанавливаем на компьютер (рекомендую создать в корне диска папку "tftpd" и распаковать/установить в неё) - у меня это будет C:\tftpd32\). 1. Скачиваем grub4dos 0.4.4 (последняя версия на момент написания моей мануалки). 1. Создаём папку C:\tftpd32\root\ - здесь будут наши образы, которые мы и будем запускать по сети. 2. Копируем из архива grub4dos файл grldr в папку C:\tftpd32\root\ 3. Создаём ПАПКУ C:\tftpd32\root\menu.lst\ (здесь будет "default" файлик-меню с выбором вариантов загрузки) Вариант 1. Настройка PXE-сервера в случае, если у вас нет DHCP-сервера в сети (в связи с тем, что у меня в сети уже присутствует DHCP-сервер 100% правильность настроек проверить не могу - пишите, если получилось/не получилось): 0. Открываем файл C:\tftpd32\tftpd32.exe (или C:\tftpd32\tftpd64.exe - у кого какая версия) 1. Заходим в настройки (средняя кнопка Settings в самом низу окна программы) 2. Во вкладке "GLOBAL" выбираем, какие службы будут выполняться программой - "TFTP Server" и "DHCP server". Так же можно включить поддержку IPv6-адресов. 3. Во вкладке "TFTP": - Base directory - выбираем папку, где будут храниться образы - C:\tftpd32\root\ - в TFTP Security выбираем Standard - в Advanced TFTP Options выбираем "Option negotiation", "Show Progress bar", "Translate Unix file names", "Allow '\' As virtual root" 4. Во вкладке DHCP: - IP pool starting address - начальный IP-адрес, раздаваемый сервером - Size of pool - количество адресов, которое разрешено к выдаче сервером (1 = 1 адресу, 5 = пяти адресам и т.д.) - Boot file - здесь мы указываем файл загрузчика. Для grub4dos это "grldr" - дальше стандартные сетевые настройки - DHCP Options я оставил по умолчанию 5. Нажимаем OK, чтобы сохранить настройки. В появившемся окошке нас предупреждают о том, что необходимо перезагрузить программу для применения настроек Вариант 2. Настройка PXE-сервера в случае, если у вас уже есть DHCP-сервер в сети 0. Открываем файл C:\tftpd32\tftpd32.exe (или C:\tftpd32\tftpd64.exe - у кого какая версия) 1. Заходим в настройки (средняя кнопка Settings в самом низу окна программы) 2. Во вкладке "GLOBAL" выбираем, какие службы будут выполняться программой - "TFTP Server". Так же можно включить поддержку IPv6-адресов. 3. Во вкладке "TFTP": - Base directory - выбираем папку, где будут храниться образы - C:\tftpd32\root\ - в TFTP Security выбираем Standard - в Advanced TFTP Options выбираем "Option negotiation", "Show Progress bar", "Translate Unix file names", "Allow '\' As virtual root" 4. Нажимаем OK, чтобы сохранить настройки. В появившемся окошке нас предупреждают о том, что необходимо перезагрузить программу для применения настроек 5. Необходимо указать опции 66 и 67 в настройках существующего DHCP-сервера (подробное описание опций смотрите в Google): - 66 - это IP-адрес PXE-сервера - 67 - это имя файла загрузчика - для grub4dos указываем grldr С минимальной настройкой закончили. Теперь переходим к клиентской части. Нужен ПК, у которого есть встроеный Network Boot Manager. Подойдут так же и виртуальные машины, если они смогут "достучаться" до нашего сервера: Выбираем загрузку по сети и далее у нас проходит загрузка: - получение IP-адреса -поиск файла загрузки меню - командная строка загрузчика grub Если у вас появилась командная строка - всё настроено верно. Скоро напишу описание файла с меню для загрузчика. В принципе, если кто-то делал загрузочные флешки типа RMPrepUSB для grub4dos - можете экспериментировать. Файл меню default в папке C:\tftpd32\root\menu.lst\ выглядит так: title XP setup from iso map (hd0) (hd1) map --mem (pd)/firadisk.ima (fd1) map --mem (md)0x6000+800 (fd0) map --mem (pd)/win-xp-sp3-pro.iso (0xff) map --hook dd if=(fd1) of=(fd0) count=1 chainloader (0xff) title Memtest+ map --mem (pd)/memtest86.5.01.iso (hd32) map --hook root (hd32) chainloader (hd32) boot Файлы образов (firadisk.ima, win-xp-sp3-pro.iso, memtest86.5.01.iso) должны быть в папке C:\tftpd32\root\ Завтра постараюсь продолжить... П.с. Коментарии приветствуются! 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
kvazimoda Опубликовано 21 ноября, 2014 Жалоба Поделиться Опубликовано 21 ноября, 2014 В качестве загрузчика рекомендую использовать Syslinux. Он побольше Груба умеет, да и с грубом у меня был косяк, что на какой-то сетевой карточке он не работал, поэтому сразу отказался от него. Вообще, в среде Линукса для сетевой загрузки, похоже, стандартом считается Syslinux, не думаю, что это нельзя применить и для виндового сервера. Ссылка на комментарий Поделиться на другие сайты Поделиться
Leon-Killer22 Опубликовано 21 ноября, 2014 Автор Жалоба Поделиться Опубликовано 21 ноября, 2014 В качестве загрузчика рекомендую использовать Syslinux. Он побольше Груба умеет, да и с грубом у меня был косяк, что на какой-то сетевой карточке он не работал, поэтому сразу отказался от него. Вообще, в среде Линукса для сетевой загрузки, похоже, стандартом считается Syslinux, не думаю, что это нельзя применить и для виндового сервера. Согласен с вами, @kvazimoda. Syslinux действительно более функционален, однако с ним еще не работал, поэтому решил сначала попробовать с grub4dos, т.к. его более-менее знаю и понимаю. Что же касается вопроса использования Syslinux на Windows-системах с TFTP сервером - пойдёт без проблем. Ссылка на комментарий Поделиться на другие сайты Поделиться
kvazimoda Опубликовано 21 ноября, 2014 Жалоба Поделиться Опубликовано 21 ноября, 2014 Согласен с вами, kvazimoda. Syslinux действительно более функционален, однако с ним еще не работал, поэтому решил сначала попробовать с grub4dos, т.к. его более-менее знаю и понимаю. Всё же попробуйте и разберитесь с ним, там не так уж всё и сложно :) Я тоже, когда впервые пробовал загрузку по сети, использовал GRUB, правда Linux версию. Как раз тогда и наткнулся на то, что на виртуальной машине работает, а пробую на реальной - не может скачать конфиг, т.к. не видит сетевуху. Что же касается вопроса использования Syslinux на Windows-системах с TFTP сервером - пойдёт без проблем. Да это то понятно, он же не выполняется на сервере, а передаётся клиенту. :) Ссылка на комментарий Поделиться на другие сайты Поделиться
tolik5555 Опубликовано 16 марта, 2017 Жалоба Поделиться Опубликовано 16 марта, 2017 Ну и где продолжение... re -Если у вас появилась командная строка - всё настроено верно. Командная строка появилась и все.... файлик меню так и не увидел. Куда его ложить. Если как описано то сделал так или есть нюанс??? Ссылка на комментарий Поделиться на другие сайты Поделиться
Leon-Killer22 Опубликовано 18 мая, 2017 Автор Жалоба Поделиться Опубликовано 18 мая, 2017 В 16.03.2017 в 13:27, tolik5555 сказал: Командная строка появилась и все.... файлик меню так и не увидел. Куда его ложить. Если как описано то сделал так или есть нюанс??? Файл меню необходимо разместить согласно пункту 3: Цитата 3. Создаём ПАПКУ C:\tftpd32\root\menu.lst\ (здесь будет "default" файлик-меню с выбором вариантов загрузки) Есть более удобное и функциональное ПО (работает на виртуальной машине): Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти