Настройка dhcp для pxe windows

Настройка dhcp для pxe windows

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-00

Всем привет, сегодня расскажу про вторую часть статьи, как установить загрузочный PXE сервер для установки операционных систем семейства Windows, Linux, или ESXI 5.5. Первая часть находится тут. В данной части мы рассмотрим реализацию DHCP сервера на разных платформах, чтобы ваш пустой сервер, мог находить в вашей локальной сети сервер, со всеми нужными вам дистрибутивами.

При Установке встроенного DHCP

Сначала рассмотрим ситуацию что DHCP server будет на этом же загрузочном сервере PXE. Устанавливаем DHCP server такой командой.

стандартный конфиг переместим, создадим вместо него свой и перезапустим DHCP демон

Если ваш сервер еще и шлюз в интернет то пропишем это

При существующем Windows DHCP.

Если вы попытаетесь загрузиться через PXE протокол с голого сервера, то вы увидите вот такую ошибку

PXE-E53: No boot filename received

PXE_M0F: Exiting Intel PXE ROM

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-14

Открываем ваш сервер DHCP. Пуск-Администрирование-DHCP.

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-14

Переходим в параметры сервера и щелкаем правым кликом, выбираем Настроить параметры

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-13

Нам нужно отметить параметр 66 Имя узла сервера загрузки — по сути это аналог адреса TFTP сервера, и в Строке значения прописываем Ip адрес вашего сервера PXE.

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-12

В параметре 67 Имя файла загрузки, прописываем pxelinux.0

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-11

У вас должно получиться так как на скриншоте.

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-10

При существующем Cisco DHCP.

Если у вас как и у меня DHCP server на Cisco то прописываем вот так

При существующем MikroTik DHCP.

При таком раскладе прописываем

Далее нужно поставить apache и NFS службы. Делаем командами

aptitude install nfs-kernel-server

Если все сделано правильно, то вы увидите вот такое меню. Пока только в меню у вас есть загрузка с диска.

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-16

После того как весь каркас установлен можно продолжать настройку дальше, в третьей части мы рассмотрим как создать собственное меню со своей структурой.

PXE загрузка компьютеров с использованием DHCP CISCO

Когда в организации степень лени администратора не позволяет записывать CD или USB для загрузки компьютеров, то на помощь приходит загрузка операционной системы по сети. На самом деле, тут вопрос не лени, а оптимизации рабочего процесса. С использовнием PXE можно загружать тонкие клиенты, установочные диски, реанимационные и тестовые пакеты. О том, как это работает можно ознакомиться в различной литературе. Так же хочу заметить, что в организациях у которых сеть развёрнута на Актив директори или в качестве шлюза используются Линуксы или FreeBSD, то у них уже есть DHCP на основе которого можно поднять точно такую же систему. Я хочу затронуть тему развёртывания PXE в небольшой сети в которой стоит один роутер Cisco и нет возможности развернуть DHCP на Windows, Linux, FreeBSD или иной экзотической системы.

Для реализации PXE нам понадобится TFTP-сервер и роутер Cisco. TFTP-сервер можно поднять на любом компьютере с установленной операционной системой Windows, Linux или FreeBSD. Например, TFTP-сервер можно поднять на любом Windows с запущенной программой Tftpd64.

Читайте также:  Run windows install from linux

Запуск TFTP-сервера

Скачиваем программу Tftpd64 себе на компьютер. Устанавливаем сервер себе на компьютер, далее устанавливаем настройки как на картинках.


Tftpd64 Настройки GLOBAL


Tftpd64 Настройки TFTP

Можно настроить имеющийся TFTP-сервер в серверных версиях Windows, но он там сильно «обрезанный». Плюс придётся совершить пару шаманских действий для запуска.

Настройка DHCP на CISCO

С этой стороны всё обстоит довольно интересно. Для того, чтобы вся система заработала необходимо настроить BOOTP, точнее DHCP, который будет объяснять компьютерам о необходимости загрузиться с TFTP-сервера.

Вот тут начинается самое интересное. Почитав мануалы и различные инструкции всё выглядело очень просто. Необходимо прописать две строчки и всё должно заработать. И действительно, в DHCP на Windows данная процедура выглядит аналогично. Но, в моём случае, подобная настройка ни к чему не привела. Вот так выглядит настройка рекомендуемая подавляющим большинством сайтов и на форумах:

Может быть проблема была в том, что на моеём роутере Cisco ISR 2821 установлен IOS 15, но как бы я не модифицировал данные опции у меня ничего не хотело работать. Углубившись в техническую документацию я нашел, что Cisco может передавать данные совместимые с BOOTP, а на форумах посвященных настройке FreeBSD узнал, какие параметры можно передать в DHCP совместимые с BOOTP. В результате, дополнительные строчки, необходимые для загрузки PXE превратились вот в такой вариант.

Данные записи полностью удовлетворили имеющиеся компьютеры. Загрузились компьютеры с сетевыми карточками: D-Link, Intel, Broadcom и виртуальной сетевой карточкой VMWare. Как было указано в инструкция по DHCP/BOOTP на FreeBSD по умолчанию в качестве адреса TFTP-сервера передаётся адрес шлюза. А вот параметр next-server передаёт информацию о следующем TFTP-сервере в сети. На мой взгляд, совершенно не логичное описание параметра, содержащего адрес TFTP-сервера.

С настроками софта работающего на серверных площадках разобрались. Осталось разобраться, что записать на TFTP-сервер и, что будет отдано PXE-клиенту.

Файлы необходимые для работы PXE клиента

Теперь мы добрались до самого интересного. Теоретически, через PXE можно отправить всё, что угодно. Но у меня стояла задача следующего плана:

  • Загрузка образов установки Windows,
  • загрузка образов установки Linux,
  • загрузка образа memtest86+,
  • загрузка образа антивируса,
  • загрузка образа WinPE (LiveCD).

Для полноценной системы развёртывания и подготовки образов операционных систем я рекомендую использовать WDS, а для небольших компаний подойдёт описываемый мной метод. Так как он не заставляет приобретать Windows Server, под которым запускается служба WDS.

Я решил использовать образ системы Syslinux. Последний образ можно скачать с сервера: www.kernel.org. Из образа необходимо всего несколько файлов:

  • chain.c32
  • ldlinux.c32
  • libcom32.c32
  • libutil.c32
  • memdisk
  • pxechn.c32
  • pxelinux.0
  • vesamenu.c32

Так же необходимо создать два каталога. Один каталог называется pxelinux.cfg в котором будет расположен файл default с настройками и меню. Второй каталог можно обозвать как угодно, например, ISO и записать в него необходимые для загрузки образы.

Для работоспособности данной системы надо настроить меню. Дабы не описывать всю систему меню я просто покажу как оно оформлено у меня.

Я использую небольшие красивости, то есть графический режим монитора. Для реализации графики я подключаю модуль vesamenu.c32 и файл настроек меню. В качестве подложки используется картинка из файла background.png, расположенного в корне TFTP-сервера. Далее никаких дополнительных вопросов возникать не должно. Я использую загрузку ISO-образов в память и передаю им управление. Дальше всё зависит от компьютера и образа.

Содержимое файла default:

Содержимое файла graphics.conf:

Можно делать вложенные меню. Но это в том случае, если необходимо делать большие списки загрузки. Но для небольшой конторы в больших списках нет необходимости.

Для ссылки на вложенное меню необходимо делать ссылку в виде следующего элемента меню:

Читайте также:  Intel widi remote для windows 10

В качестве примера можно предложить вот такое меню в файле pxelinux.cfgunixlist.conf.

Итоги

Для большой компании лучше использовать специализированные инструменты для развёртывания операционных систем. Так же подобные системы могут использоваться для загрузки тонких клиентов. Хотя специализированные системы уже содержат в себе инструменты развёртывания тонких клиентов.

Для средних компаний вполне позволительно подобное не традиционное использование роутера, чтобы подсказать компьютерам о наличии системы сетевой загрузки ОС.

Для мелкой компании в подобной системе нет смысла. Разве, что для экспериментов.

Этот сайт использует файлы cookies, чтобы упростить вашу навигацию по сайту, предлагать только интересную информацию и упростить заполнение форм. Я предполагаю, что, если вы продолжаете использовать мой сайт, то вы согласны с использованием мной файлов cookies. Вы в любое время можете удалить и/или запретить их использование изменив настройки своего интернет-браузера.

BootDev

Создание загрузочных дисков и прочие полезные мелочи

Страницы

2017-09-27

Загрузка по сети: Установка и настройка DHCP, TFTP-сервера

Загрузка по сети изнутри

Сама сетевая загрузка выглядит следующим образом. В BIOS материнской платы активируется функция OnBoard LAN Boot ROM (данная функция как раз и включает исполнение кода PXE прошивки) и в качестве первого загрузочного устройства выбирается сетевая карта.
Во время загрузки, BIOS передает управление загрузочной микропрограмме сетевой карты. Цель данной программы, получить сетевые настройки (IP адрес, маску подсети, шлюз), адрес сервера с которого будет производится дальнейшая загрузка, и имя файла который следует загрузить с сервера и выполнить. Запрос, ожидание и принятие всех вышеописанных настроек осуществляется протоколом BOOTP.

Итак, микропрограмма сетевой карты запустилась. Что происходит дальше? А дальше, она посылает широковещательный запрос, с целью найти DHCP сервер, который предоставит все вышеописанные настройки. Это означает, что в сети должен присутствовать DHCP сервер. При наличии DHCP сервера, и получении от него ответа, микропрограмма сетевой карты примет переданные ей настройки. А именно установит сетевые параметры (IP адрес, маску подсети, шлюз), после чего попытается подключится к серверу загрузки по протоколу TFTP и загрузить с него указанный исполняемый файл. То есть, кроме DHCP сервера в сети еще должен присутствовать TFTP сервер.

При наличии TFTP сервера, и присутствии на нем указанного файла, микропрограмма сетевой карты загрузит и попытается его выполнить. Если данный файл действительно исполняемый, то дальнейшая загрузка будет продолжаться согласно инструкциям прописанным в данном файле. Обычно данным файлом является загрузчик (bootmgr, grub4dos, syslinux) которому будет передано дальнейшее управление.

Tftp32(64)

Ею мы и воспользуемся для дальнейших действий.

Установка Tftp32(64)

Скачать дистрибутив Tftp32(64) можно отсюда. На странице загрузки доступны несколько редакций программы Standart, Portable и Service Edition.

Первые две ничем не отличаются, разве что наличием установщика, и запускаются вручную. Третья же редакция, устанавливается в виде службы Windows. А это означает что, она может работать до входа пользователя в систему, сразу после загрузки Windows. Её мы и установим.

Так как у меня 64-битная версия ОС Windows, устанавливать я буду Tftp64. Актуальная версия на момент написания этих строк 4.60. Скачиваем установщик и запускаем.

Подтверждаем внесение изменений.

Соглашаемся с условиями лицензии нажатием кнопки I Agree.

На этапе выбора компонент для установки, ставим галочку напротив пункта Start service Tftpd32_svc и нажимаем на кнопку Next.

На данном этапе можно указать расположение для устанавливаемых файлов нажатием на кнопку Browse и выбора нового месторасположения. После жмем на кнопку Install, тем самым запуская процесс установки.

По окончании, установщик оповестит об успешности произведенной операции. Нажимаем OK.

В последнем окне, можно наблюдать отчет о проделанной работе установщиком. Если интересно, изучаем его, а затем закрываем установщик кнопкой Close. Установка на этом завершена.

Настройка Tftp32(64)

После установки Tftp64 на рабочем столе появится соответствующий значок.

Запускаем его двойным щелчком мыши. Откроется главное окно мониторинга запущенных служб программы. Представлены они в виде вкладок с информационными полями.

Читайте также:  Realtek high definition audio driver windows 10 x86

Перейдем к настройке нажатием на кнопку Settings (в нижней части окна по центру). Откроется окно настроек. Переходим в нем на вкладку GLOBAL.

В секции Start Services оставляем галочки на пунктах TFTP Server и DHCP Server. Так как нам нужны только эти службы.

Теперь настроим каждую службу по отдельности. Начнем с TFTP. Для этого перейдем на одноименную вкладку в окне настроек программы. По умолчанию настройки следующие.

В настройках TFTP сервера, в секции Base Directory, нам необходимо указать папку, которая будет являться корневой директорией для данного сервера. В данной директории будут располагаться все загрузочные файлы, поэтому позаботьтесь чтобы она располагалась на диске с достаточным свободным местом. В моем случае это будет директория D:\TFTP.

Вторым делом, нужно указать сетевой адрес к которому будет привязан TFTP сервер. Ставим галку на пункт Bind TFTP to this address, и выбираем из списка интерфейс, который смотрит в необходимую нам сеть. В моем случае это интерфейс с адресом 192.168.0.2.

И третье, включаем опцию Allow «\» As virtual root. Данный параметр делает каталог, выбранный в разделе Base Directory, корневым для TFTP сервера.

Все вышеописанное будет выглядеть так.

И последнее, настройка DHCP сервера. Переходим на вкладку DCHP. По умолчанию данный раздел выглядит следующим образом.

Небольшое отступление. Если в вашей сети уже есть DHCP сервер, то можно отказаться от встроенного в Tftpd32(64), при условии что в текущем можно прописать опции 66адрес TFTP сервера, и 67путь до загрузочного файла.

В моем случае, в сети DHCP сервер присутствует. Но настроить указанные выше опции в нем невозможно, так как запущен он на простеньком роутере D-Link DIR-615.

Выходов из данной ситуации два, либо полностью отказаться от DHCP сервера на роутере, но при этом постоянно нужно будет держать включенным компьютер с запущенной программой Tftpd32(64) с активным DHCP. Чтобы остальные клиенты сети, в частности мобильные устройства (планшеты, телефоны) могли работать. Либо использовать сразу оба DHCP сервера, при этом каждому выделить свой диапазон адресов.

Мне больше подходит второй вариант. Разделение сети следующее, диапазон адресов 192.168.0.2-199 отведен под раздачу для DHCP на роутере. А диапазон 192.168.0.200-250 отведен для Tftp32(64) DHCP.

Теперь вернемся к настройкам программы. В секции DHCP Pool Definition, в поле IP pool start address, вписываем начальный IP адрес диапазона адресов, в моем случае 192.168.0.200. В поле Size of pool прописываем размер диапазона адресов, в моем случае 50. Остальные параметры данной секции оставляем без измененеий.

В секции DHCP Options, в поле Def. router (Opt 3) прописываем IP адрес основного шлюза сети, в моем случае это адрес 192.168.0.1. В поле Mask (Opt 1) прописываем маску текущей сети, в моем случае маска следующая 255.255.255.0. В поле DNS servers (Opt 6) прописываем DNS сервер, в данном поле я указал сервер 8.8.8.8.

В секции DHCP Settings ставим галочку у пункта Double answer if relay detected, и галочку Bind DHCP to this address выбрав необходимый сетевой интерфейс к которому будет привязан DHCP сервер, в моем случае 192.168.0.2.

Итак, приведу итоговый скрин с проделанными изменениями.

На этом необходимые настройки программы выполнены. Нажимаем на кнопку OK, в нижней части окна, для сохранения внесенных изменений. Программа попросит перезапустить себя для применения настроек.

Нажимаем OK, после чего закрываем программу и снова ее открываем.

После рестарта, в окне программы видны внесенные нами изменения, а именно, прописана директория TFTP и выбран интерфейс сервера. Так же, пропадут вкладки неиспользуемых служб.

Продолжение следует.

В следующей статье будет рассмотрена тема установки загрузчиков на TFTP сервер, и их конфигурирование. А пока, на сегодня все.

Оцените статью