IPMI. Supermicro

2025-10-27 · 2 мин. для прочтения

IPMI. Supermicro

Содержание

1 Общая информация

  • IPMI (Intelligent Platform Management Interface) — это стандарт для удалённого мониторинга и управления серверами.
  • Он позволяет системным администраторам контролировать оборудование, даже если операционная система не загружена или сервер выключен.
  • IPMI обеспечивает управление и мониторинг серверных систем с использованием специального интерфейса.
  • IPMI Supermicro — это реализация стандарта IPMI на серверах компании Supermicro.
  • Она позволяет:
    • проводить мониторинг физического состояния оборудования (проверять температуру, уровни напряжения, скорость вращения вентиляторов и т. д.);
    • восстанавливать работоспособность сервера (выполнять удалённую перезагрузку, включать/выключать питание, загружать ISO-образы и обновлять программное обеспечение);
    • управлять периферийными устройствами;
    • вести журнал событий;
    • хранить информацию об используемом оборудовании.

1.1 Основные компоненты IPMI на серверах Supermicro

  • BMC (Baseboard Management Controller) — микроконтроллер, который отвечает за удалённое управление сервером. Он работает всегда, вне зависимости от состояния сервера.
  • Возможность подключения дополнительных контроллеров управления (MCs) для расширения функционала.
  • Интерфейс для взаимодействия с сенсорами, хранилищами и другими компонентами сервера.

2 Лицензионные ключи

  • Для многих операций с IPMI требуется лицензионный ключ.
  • Можно сгенерить самому.

2.1 zsrv/supermicro-product-key

2.1.1 Ключ OOB

  • Создаётся на основе mac-адреса BMC:
    supermicro-product-key oob encode <mac-address BMC>
    

2.1.2 Ключ SFT-DCMS-SINGLE

2.2 Прямое создание

  • https://peterkleissner.com/2018/05/27/reverse-engineering-supermicro-ipmi/
  • Ключ создаётся как HMAC SHA1 от mac-адреса.
  • Можно сделать командой:
    #!/bin/bash
    read -p "IPMI MAC: " macaddr
    echo -n $macaddr | xxd -r -p | openssl dgst -sha1 -mac HMAC -macopt hexkey:8544E3B47ECA58F9583043F8 | awk '{print $2}' | cut -c 1-24 | sed 's/./&-/4;s/./&-/9;s/./&-/14;s/./&-/19;s/./&-/24;'
    
Дмитрий Сергеевич Кулябов
Authors
Профессор кафедры теории вероятностей и кибербезопасности
Мои научные интересы включают физику, администрирование Unix и сетей.