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" файлик-меню с выбором вариантов загрузки) Есть более удобное и функциональное ПО (работает на виртуальной машине): Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.