Модуль проксирования BMC используется для подключения к BMC или Intel AMT с внутренними IP-адресами в локациях DCImanager 6. Модуль состоит из клиентской и серверной частей. Обе части являются docker-образами. Клиентская часть устанавливается на сервере с DCImanager 6, серверная — на локации. Для подключения к серверу с BMC или Intel AMT устанавливается VNC-соединение через SSH-туннель. Вы можете подключиться к веб-интерфейсу или консоли BMC.
Клиентская часть модуля включает:
ipmi_proxy_service — сервис взаимодействия с DCImanager 6;
noVNC — HTML5 VNC-клиент;
goproxy — сервис для передачи данных VNC-сессии в noVNC и проксирования Websocket-запросов клиента к VNC-серверу через SSH-туннель.
Серверная часть модуля включает:
скрипты для управления службами модуля — up.sh, down.sh;
TigerVNC — VNC-сервер;
Chromium — браузер для доступа к веб-интерфейсу BMC или Intel AMT;
Java — используется для открытия jnlp-файлов в браузере.
Подключение к BMC (Intel AMT)
При запросе подключения с использованием модуля:
Сервис ipmi_proxy_service на сервере с DCImanager 6:
Проверяет доступность сервера в локации.
Проверяет наличие SSH-порта для подключения с клиентской и серверной стороны.
проверяет наличие активной сессии BMC. Если сессия найдена, предлагает пользователю подключиться к ней или создать новую сессию.
Скрипт up.sh на локации:
Создаёт в операционной системе временного пользователя для сессии VNC.
Добавляет в список исключений для Java ссылки на веб-интерфейс BMC или Intel AMT по протоколам http и https.
Запускает TigerVNC от имени временного пользователя.
TigerVNC на локации:
при подключении к веб-интерфейсу BMC или Intel AMT автоматически открывает его в Chromium. Если при создании подключения был выбран IPMI v1.5/v2, Chromium будет запущен с поддержкой java-плагина.
при подключении к консоли BMC скачивает в директорию пользователя jnlp-файл терминального приложения и запускает его.
Сервис ipmi_proxy_service на сервере с DCImanager 6:
Создаёт в операционной системе временного пользователя для сессии VNC.
От имени временного пользователя выполняет запуск noVNC.
Сервис goproxy на сервере с DCImanager 6:
Проксирует Websocket-запросы к VNC-серверу через SSH-туннель;
Передаёт данные VNC-сессии в noVNC. В результате этого BMC или Intel AMT будет доступен из браузера клиента.
В браузере клиента откроется окно с адресом https://domain.com/ipmiproxy/web/, где domain.com — адрес платформы DCImanager 6. Через эту страницу клиент будет взаимодействовать с BMC сервера.
Закрытие подключения к BMC (Intel AMT)
При закрытии подключения скрипт down.sh на локации:
Завершает сессию VNC.
Останавливает процессы временного пользователя, созданного для данной сессии VNC.
Удаляет в операционной системе временного пользователя и его домашнюю директорию.