Как WDS определяет, является ли клиент UEFI или Legacy?

2325
Alex Zel

Некоторое время я использовал WDS, и теперь мы хотим перейти на iPXE и ​​подключиться к WDS, но из-за некоторых проблем с DHCP (мы не являемся владельцами и не можем его настроить), я не могу настроить параметры DHCP для два загрузочных файла.

Я знаю, что WDS может каким-то образом определить, является ли загрузочный компьютер UEFI или Legacy bios, но как он это делает?

Если бы я мог каким-то образом использовать только эту функцию на Linux-машине или Windows-сервере, что было бы замечательно, я просто не могу найти в Интернете никакой документации по этому поводу.

4
Если вы отрицаете, пожалуйста, укажите причину. Это совершенно правильный вопрос. Daniel B 8 лет назад 0

2 ответа на вопрос

1
Pat

1) Если у вас нет доступа к инфраструктуре DHCP, вы можете установить сервер proxyDHCP. В сценарии DHCP + proxyDHCP сервер DHCP предоставляет только IP / MASK и т. Д., В то время как сервер proxyDHCP предоставляет специальные параметры PXE для дополнительной транзакции DHCP.

1 IP address 2 Network mask 3 Additional DHCP options (if any) 4 IP address of the TFTP server that hosts the bootstrap loader 5 Boostrap loader File Name 

DHCP + proxyDHCP vs PXE DHCP

DHCP + proxyDHCP против PXE DHCP (Pic от Serva )

2) Клиент объявляет свою архитектуру при загрузке как часть транзакции DHCP. Первый пакет, передаваемый клиентом, представляет собой DHCPDISCOVERY, включающий в себя параметр DHCP 93, указанный в RFC 4578.

 Type Architecture Name ---- ----------------- 0 Intel x86PC (BIOS pre-OS environment) 1 NEC/PC98 2 EFI Itanium 3 DEC Alpha 4 Arc x86 5 Intel Lean Client 6 EFI IA32 (UEFI 32 pre-OS environment) 7 EFI BC (UEFI 64 pre-OS environment) 8 EFI Xscale 9 EFI x86-64 (UEFI 64 pre-OS environment) 
Как я могу настроить прокси-сервер DHCP, не мешая реальному серверу? Я думаю, с помощью dnsmasq правильно? Alex Zel 8 лет назад 0
именно с помощью dnsmasq или Serva вы можете реализовать сценарий proxyDHCP. Смотрите редактирование ответа для картинки, показывающей, как работает proxyDHCP Pat 8 лет назад 0
Большое спасибо, попробую завтра на работе, надеюсь, что я не заторможу основной DHCP-сервер. Alex Zel 8 лет назад 0
стратегия proxyDHCP не навязчива; Вы не нарушите ничего из уже установленной инфраструктуры DHCP, но помните, что должен быть только один сервер, предоставляющий информацию PXE, и что это должен быть prooxyDHCP Pat 8 лет назад 0
Итак, сначала я протестирую это в закрытой среде, настроив обычный DHCP-сервер (наша компания использует сервер Microsoft) и прокси-сервер Centos DHCP, поскольку это огромная компания, и я хочу быть на 100% уверенной, что она работает. Alex Zel 8 лет назад 0
Вы можете быть уверены, что это работает. Pat 8 лет назад 0
хорошо, я попробовал это, и это, кажется, не передает информацию о загрузке. Я использовал сервер 2012 в качестве основного DHCP, а сервер Centos 7 с dnsmasq только для информации о загрузке, и он не работает, если я использую ту же конфигурацию в dnsmasq и заставляю его раздавать IP-адреса, а также работает, но не как прокси Dhcp. Alex Zel 8 лет назад 0
Пожалуйста, запустите захват проволочной акулы и посмотрите, что происходит. Если вы загружаете PXE-клиент после трансляции DHCPDISCOVER, он должен получить 2 DHCPOFFER; один приходит с DHCP-сервера, а второй - с proxyDHCP. Из первого предложения клиент выполнит DHCPREQUEST предлагаемого IP / MASK, затем следующий запрос DHCPREQUEST параметров PXE к proxyDHCP. Помните, что proxyDHCP отвечает только на запросы, поступающие от клиентов «PXE», а не от обычных клиентов DHCP. Pat 8 лет назад 0
Хорошо, я попробую это завтра, должен полюбить проволоку. Alex Zel 8 лет назад 0
Хорошо, так что у меня все заработало, частично, для legacy / bios boot все работает нормально, я вижу в wireshark два DHCP-предложения от основного и прокси-серверов DHCP, и я могу загрузить нужный файл. Тем не менее, если я пытаюсь загрузиться в режиме EFI, глядя на wireshark, я вижу запрос DHCP, два предложения и подтверждение, а затем снова, он просто зацикливается на минуту, а затем переходит к BIOS (в клиенте ). Alex Zel 8 лет назад 0
В зависимости от опции 93 пакета DHCPDISCORY proxyDHCP должен предоставить соответствующий NBP, т. Е. Для BIOS вы можете определить pxelinux.0 как NBP, но для EFI64 вы ДОЛЖНЫ определить, то есть 64-битную версию pxelinux.efi или bootmgfw.efi и т. Д. Если вы загружаете EFI и предоставляете BIOS NBP, то клиент обязательно перезагрузится. Pat 8 лет назад 0
Дело не в этом, в идеале определены два разных файла для BIOS и EFI. Судя по тому, что я читаю онлайн, dnsmasq плохо работает с EFI в режиме прокси. Мне удалось настроить загрузочный файл и сервер в главном DHCP для efi и использовать прокси-сервер для передачи устаревшей информации, это работает, но теперь я не могу подключиться к WDS из меню iPXE в EFI (в устаревшем работает). Alex Zel 8 лет назад 0
открыть новый вопрос по этому вопросу; SU жалуется на этот долгий разговор Pat 8 лет назад 0
-1
Daniel B

Когда клиент PXE (или как он называется с UEFI) запрашивает аренду DHCP, он предоставляет различные подробности («опции») о себе, в том числе « Тип архитектуры клиентской системы » (опция 93).

Я столкнулся со следующими значениями:

  • 7 для UEFI
  • 2 для x86

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