Немного про DHCP,PXE и SCCM

Наткнулся на интересную статью от Ronnie Jakobsen. В ней описывается сценарий применения DHCP в связке в SCCM. Давайте ее разберем…

Предисловие

Для загрузки по PXE, требуется наличие доступного DHCP сервера,это не обязательно должен быть Microsoft DHCP можно любой другой.

Самый простой вариант – сервер и клиент находятся в одной подсети. Обычно в работе мы сталкиваемся с более сложными сценариями. Но начнем с самого простого.

DHCP процесс

Разберем процесс работы DHCP:

  1. Клиент выполняет широковещательный запрос по всей сети  с целью обнаружить доступные DHCP-сервера.
  2. Запрос достигает сервера
  3. Сервер отвечает, используя MAC адрес клиента и предлагает IP адрес.
  4. Клиент дает ответ серверу,о том что будет использовать предлагаемый IP адрес.

Загрузка PXE

Загрузка по PXE имеет некоторые особенности:

  1. Клиент выполняет широковещательный запрос по всей сети с пометкой PXE boot.
  2. Запрос достигает сервера.
  3. Сервер отвечает, используя MAC адрес клиента и предлагает IP адрес.
  4.  Если сервер имеет возможность загрузки по PXE,эта информация будет включена для передачи клиенту.
  5. Клиент дает ответ серверу,о том что будет использовать предлагаемый IP адрес.
  6. Затем клиент соединяется с PXE boot сервером ( в нашем случае это тот же сервер) и получает определенный файл загрузки расположенный на сервере.
  7. Файл загружается и запускается.

Настройка PXE на DHCP сервере

Обычно PXE конфигурируется на DHCP сервере. Опция под номером 066 и 067. Опция 066 (Boot server Host Name) определяет сервер. Опция 067 (Bootfile Name) определяет файл для загрузки.

Другой способ обеспечения загрузки по PXE, это работа  сервиса, который прослушивает DHCP запросы от клиентов и затем отсылает дополнительную информацию по загрузке. Это вариант известен как dynamic PXE boot.

PXE загрузка с Configuration Manager Distribution point

Configuration Manager обеспечивает динамическую загрузку по PXE за счет WDS сервиса (доступно в Windows Server)

Выглядит это так: PXE server установлен на SCCM DP ( WDS server). Процесс загрузки выглядит следующим образом:

  1. Клиент выполняет широковещательный запрос по всей сети с пометкой PXE boot.
  2. Запрос достигает сервера.
  3. Сервер отвечает, используя MAC адрес клиента и предлагает IP адрес.
  4.  Так же WDS service информирует клиента о возможности загрузки по PXE
  5. Клиент дает ответ серверу,о том что будет использовать предлагаемый IP адрес.
  6. Затем клиент соединяется с PXE boot сервером ( в нашем случае это SCCM DP) и получает файл загрузки полученный от сервера.
  7. Файл загружается и запускается.

Этот метод имеет преимущество, потому как он динамический,следовательно он может обработать информацию о запросе клиента на загрузку по PXE и загрузка может быть выполнена вне зависимости от настройки DHCP.

Почему это важно?

Загрузка по PXE основанная на Bios использует один метод,UEFI использует другой, поэтому PXE сервер должен иметь возможность динамический обрабатывать запросы от разного типа клиентов.

Обратите внимание: UEFI PXE boot работает корректно с SCCM DP если ОС не ниже Windows 2012 R2.

Множество подсетей

020816_1304_DHCPGuide3

рис.1

На рисунке 1 мы видим, что DHCP находится в одной из подсетей,SCCM DP в другой,клиент в третей. Учитывая, что DHCP трафик основан в первую очередь на широковещательных трансляциях, и трансляции, как правило, распространяются внутри подсети (в целях контроля спама сети). Следовательно ни DHCP,ни PXE в данном случае,клиент по получит.

Поможет настройка IP Helpers.

IP Helpers функция, которая позволяет контролируемо распространять трафик между различными подсетями. Важно то, что IP Helpers могут отправлять определенный тип трафика на определенный адрес. В нашем случае IP helper должен отправить DHCP запрос из сети 10.10.30.0 на IP 10.10.10.10 для получения клиентом IP от DHCP сервера.

Для корректной загрузки по PXE запрос должен быть передан на SCCM DP server,IP helper позволяет обработать этот запрос и связаться клиенту с 10.10.20.10.

Одним словом выглядит это вот так:

020816_1304_DHCPGuide4

Однако в случае если DHCP и SCCM DP находятся в одной подсети,так же должно быть 2 IP Helper ,каждый из которых направляет запросу к определенному IP адресу.

Особые случаи: 1E Nomad with PXE Everywhere

Использование таких средств как 1E Nomad c PXE Everywhere позволяет изменить совместный способ работы DHCP и PXE.

Рассмотрим некоторые варианты реализации.

Центральный DHCP

Типичная настройка с использованием Nomad c PXE Everywhere выглядит так:

020816_1304_DHCPGuide5

DHCP сервер обеспечивает получение IP адресов для клиентов используя IP Helper. Однако, работу PXE обеспечивает клиент с установленным компонентом PXE Everywhere. В данном случае нам не нужно что бы IP Helper передавал DHCP запрос на SCCM DP,  загрузку по PXE обеспечит клиент.Если же IP Helper был настроен, клиент попытается осуществить загрузку по PXE c SCCM DP.

Как мы видим нам не требуется дополнительный IP Helper , в результате DHCP запроса, клиент получает IP адрес,а PXE Everywhere на основании того же DHCP запроса обеспечить загрузку по PXE.

Для успешной реализации данного сценария, DHCP сервер не должен предоставлять информацию о загрузке по PXE, по избежания путаницы.

Локальный DHCP сервер

020816_1304_DHCPGuide6

Разберем случай когда у нас нету центрального DHCP сервера,который может обеспечить клиентов IP адресами. Ip адреса выдает роутер SOHO (Small Office Home Office). Обычно данные роутеры не могут предоставить клиенту информацию по PXE, и это даже хорошо. Клиент получит IP адрес от DHCP, а PXE Everywhere обеспечит информацию о PXE загрузке.

Вывод:

  • Bios и UEFI устройства требуют различные варианты загрузки от PXE server
  • В случае расположения DHCP, PXE и клиента в разных подсетях,требуется настройка Ip Helper для DHCP и PXE
  • Не устанавливайте DHCP и PXE сервер на одном сервере, или очень хорошо обдумайте данный шаг.

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

Advertisements

About alexandrelizarov

SCCM,MDT and Powershell learner.
This entry was posted in Перевод, OSD, SCCM, Windows. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s