Загрузка UEFI PXE через подсети

Я пытаюсь загрузить ПК с WDS-сервера Windows 2012R2 в режиме UEFI. Если и только если клиент находится в другой подсети от серверов DHCP/PXE, с некоторыми из них это не получится. (Он всегда работает в режиме BIOS, но мне нужен UEFI.)

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

Есть два DHCP-сервера (также 2012R2) в дополнение к PXE. На них не настроены параметры DHCP, связанные с загрузкой; Ретрансляция DHCP включена в сети и ретранслируется на все три сервера.

Это список пакетов при загрузке работающего клиента:

1  DHCP Discover - Transaction ID 0xe828c4bc
2  DHCP Offer    - Transaction ID 0xe828c4bc (from first DHCP)
3  DHCP Offer    - Transaction ID 0xe828c4bc (from PXE)
4  DHCP Offer    - Transaction ID 0xe828c4bc (from second DHCP)
5  DHCP Request  - Transaction ID 0xe828c4bc (to first DHCP)
6  DHCP ACK      - Transaction ID 0xe828c4bc (from first DHCP)

7  4011 → 4011 Len=347                       (to PXE)
8  4011 → 4011 Len=349                       (from PXE)
9  TFTP Read Request, File: boot\x64\wdsmgfw.efi, (to PXE)
...

При сбое клиента он выглядит точно так же до строки 6, тогда больше ничего не происходит; он просто не связывается с сервером PXE.

Я сравнил содержимое пакета в Wireshark и, кроме значений, которые зависят от того, в какой сети находится клиент (giaddr, маршрутизатор и т. Д.), Все предложения идентичны между рабочим и сбойным случаями.

Похоже, что это влияет на определенные BIOS/ прошивки: в число работающих клиентов входят VMware Workstation и ESXi, а также Intel NUC, и это не работает с материнскими платами Asus B150M-C и хотя бы одним Dell Optiplex. БИОСы являются актуальными и не старше нескольких месяцев на всех задействованных устройствах.

Мне кажется, что прошивка UEFI не знает, как использовать маршрутизатор. Есть ли способ заставить это работать?

2 ответа

Проблема в клиенте; Я должен был присмотреться к следам своих пакетов. Я только что выяснил, что сразу после получения DHCP ACK от обычного DHCP-сервера отказавший клиент начинает ARPing для PXE-сервера, конечно же, ни к чему не привлекая.

Так что проблема действительно в том, что прошивка не понимает роутеры.

Ваша стратегия DHCP - беспорядок. У вас не должно быть более одного DHCP-сервера на сеть, а PXE-сервер выступает в роли proxyDHCP.

Более одного DHCP-сервера приводит к условиям гонки; Вы не можете предсказать, какой DHCP в конечном итоге предоставит IP клиенту.

у вас, вероятно, есть какой-то другой DHCP во второй сети, и предложение proxyDHCP (PXE-сервер), вероятно, никогда не попадет на другую сторону.

Вы должны внимательно прочитать захват Wireshark; загрузил его куда-нибудь, и мы можем помочь.

Другие вопросы по тегам