Hetzner · Robot · Документация

Serial over LAN через IPMI: консоль сервера без KVM

Обновлено

Serial over LAN (SOL) передаёт последовательную консоль сервера через контроллер BMC по сети. Это лёгкая альтернатива графической KVM-консоли: текстовый вывод загрузки ядра и вход в систему без графики. Способ работает, если у вашего сервера есть сетевой доступ к BMC; на выделенных серверах Hetzner удалённую консоль обычно подключают через KVM (см. vKVM), поэтому возможности конкретной модели уточняйте в документации. Ниже — общая схема настройки.

Что нужно

  • BMC с поддержкой IPMI 2.0 и включённым SOL, известные адрес, пользователь и пароль.
  • Утилита ipmitool на вашем компьютере.
  • Настроенная последовательная консоль в ОС сервера (ядро, загрузчик, getty).

Подключение

ipmitool -I lanplus -H BMC_ADDRESS -U USER -E sol info
ipmitool -I lanplus -H BMC_ADDRESS -U USER -E sol activate

Пароль передаётся через переменную окружения IPMI_PASSWORD (ключ -E): так он не виден в списке процессов. Выйти из сессии: нажмите ~, затем . в начале строки; если сессия зависла, выполните sol deactivate из другого терминала.

Настройка ОС

Номер порта зависит от платы: часто это ttyS0 или ttyS1. Определите его по dmesg | grep -i tty и параметрам SOL (sol info) и документации платы.

Ядро и GRUB

# /etc/default/grub
GRUB_CMDLINE_LINUX="console=tty0 console=ttyS1,115200n8"
GRUB_TERMINAL="console serial"
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=1 --word=8 --parity=no --stop=1"

Применить: update-grub (Debian/Ubuntu) или grub2-mkconfig -o /boot/grub2/grub.cfg (RHEL-семейство). Последний параметр console= в списке получает основной вывод ядра. Если сервер зависает на меню GRUB после неудачной загрузки, прочитайте про отключение recordfail.

Вход в систему

systemctl enable --now serial-getty@ttyS1.service

После этого в SOL-сессии появится приглашение входа. Не разрешайте вход root по паролю на консоли без необходимости.

Типичные проблемы

  • Пустой экран. Неверный порт или скорость: сравните значения в BIOS/BMC и в console=.
  • Искажённые символы. Не совпадает скорость (9600 вместо 115200).
  • «SOL payload already active». Сессия занята: выполните sol deactivate.
  • Нет доступа к BMC. Адрес недоступен из вашей сети — используйте KVM-консоль и Rescue System.

Безопасность

BMC — отдельный компьютер со своими уязвимостями. Не публикуйте его в интернете, смените заводские пароли, ограничьте доступ по IP и используйте IPMI 2.0 (lanplus). См. также статью IPMI на выделенных серверах.

Частые вопросы

Чем SOL лучше KVM?

Он лёгкий, работает по узким каналам и пишется в лог. Но графику (BIOS в графическом режиме, установщик Windows) он не показывает.

Как проверить, что порт работает?

На сервере выполните echo test > /dev/ttyS1 — текст должен появиться в SOL-сессии.

Как сохранить вывод загрузки?

Запустите подключение под script -f boot.log или используйте консольный сервер.