По моему мнению она должна быть такой:
- На сетевой карте делается отдельный внутрикорпусный порт на который отправляются все сетевые пакеты имеющие пометку BMC и дублируются пакеты DNS,DHCP и их секюрных версий.
- А там пользователь сам решает какой BMC ему использовать, такой что умеет только нажимать кнопки Powe/Reset и поддержку последовательного COM порта для взаимодействия с БИОСом.
Или такой что ещё умеет в эмуляцию монитора,клавиатуры и блюрея.
Или такой что имеет на борту софт для отладки программ и оборудования и умеет в шины JTAG, SMBus, IPMI и что там есть ещё.
Или не использовать BMC вообще(например сервер размещён не в ДЦ, а локально) - Поддержка удалённой загрузки в БИОС не нужна так как соответствующий функционал делается соответствующим внешним BMC, всё что должен уметь БИОС это только грузить GRUB с отдельного небольшого накопителя(возможно эмулируемого BMC).
Всё получается максимально просто, не дорого, и разделённым на понятные и подбираемые под нужды пользователя функциональные блоки.
Предыдущий вариант:
-
Протокол WoL дорабатывается до WoLsec и помимо спец пакета для пробуждения компьютера получает пакет для принудительной перезагрузки компьютера.(безобразия не будет так как WoLsec потому и sec что защищён сертификатом)
-
В сетевую карту через jtag заливается сертификат цифровой подписи для заверки управляющих пакетов WoL.
Всё это позволит делать удалённую загрузку И перезагрузку хостов(ПК или серверов)
-
В ядре Linux производится замена устаревшей initramfs на накатывание initrd на раздел zram соответствующего размера.
-
В GRUB добавляется клиент DHCPsec(если этого протокола нет то он разрабатывается) с сертификатом удостоверяющего DHCP сервер и FTPs для безопасной загрузки образа ядра и initrd с базовой системой.(по уму это надо бы встроить в БИОС)
-
Вместо доступа к BMC осуществляется доступ по находящемуся в initrd sshd
-
В случае необходимости удалённого доступа к шинам IPMI,JTAG,SMBus и прочим системным шинам используется отдельное работающее через сеть прокси-устройство.
Доступ к остальным портам не нужен так если компьютер работает нормально то можно зайти по SSH, а если он повис то его всё равно надо перегружать, всё иные действия на прямую с железом через прямой доступ к оборудованию по системным шинам следует делать через отдельное прокси-устройство.