Подключение к консолям виртуальных машин и контейнеров
INFRAX предоставляет возможность прямого подключения к консолям виртуальных машин VMware, Proxmox и Hyper-V без необходимости сетевой связанности с гостевой операционной системой, а также к консолям Docker контейнеров. Это критически важно для установки ОС, устранения сетевых проблем, первичной настройки виртуальных машин и отладки контейнеров.
Общие сведения
Подключение к консоли виртуальной машины — это прямой доступ к виртуальному экрану и клавиатуре VM, аналогичный физическому подключению монитора и клавиатуры к серверу.
Основные возможности
- Прямой доступ к консоли VM — независимо от состояния сетевой настройки
- Без сетевой связанности — работает даже если в VM не настроена сеть
- Поддержка платформ виртуализации — VMware vCenter/ESXi, Proxmox VE, Microsoft Hyper-V
- Доступ к Docker контейнерам — прямое подключение к консоли любого контейнера
- Запись сессий — автоматическое логирование всех подключений к консолям
- Централизованный доступ — единый интерфейс для всех платформ
- Безопасность — все подключения проходят через систему и логируются
Отличие от обычных протоколов
| Характеристика | Обычные протоколы (RDP/SSH/VNC) | Консоль виртуальной машины |
|---|---|---|
| Требования | Настроенная сеть в гостевой ОС | Не требуется сетевая связанность |
| Доступность | Только если ОС загружена и сеть работает | В любое время, даже при загрузке |
| Уровень доступа | Доступ к операционной системе | Доступ к виртуальному оборудованию |
| Установка ОС | Невозможна | Возможна |
| Восстановление сети | Невозможно | Возможно |
Консоль виртуальной машины необходима для:
- Установки операционной системы
- Первичной настройки сети
- Восстановления после сетевых ошибок
- Доступа к BIOS/UEFI виртуальной машины
- Работы в Single User Mode (Linux) или Safe Mode (Windows)
- Диагностики проблем загрузки ОС
Консоли VMware (vCenter/ESXi)
Для виртуальных машин VMware INFRAX использует технологию WMKS (VMware Web MKS) для подключения к консолям через веб-браузер.
Технология WMKS
VMware Web MKS (Mouse, Keyboard, Screen)
WMKS — это технология VMware для доступа к консолям виртуальных машин через веб-браузер.
- WebSocket подключение к консоли через браузер
- Высокая производительность и отзывчивость
- Поддержка специальных клавиш (Ctrl+Alt+Del)
- Встроенная библиотека VMware WMKS для рендеринга
- Работает в браузере без дополнительного ПО
- Бинарный протокол для эффективной передачи данных
Доступ к консоли
Как подключиться:
- В разделе Виртуализация → VMware найдите нужную виртуальную машину
- Откройте карточку VM, нажав на строку в таблице
- В секции "Консоль виртуальной машины" нажмите кнопку "Открыть консоль VMware"
- Консоль откроется в новом окне браузера
Для подключения к консоли VMware требуются учетные данные администратора vCenter или ESXi. Система автоматически использует сохраненные учетные данные из IDENTYX. Для vCenter поддерживается формат login@domain.
Консоли Proxmox
Для виртуальных машин Proxmox VE INFRAX использует VNC протокол через специальный proxy сервер.
Доступ к консоли
Как подключиться:
- В разделе Виртуализация → Proxmox найдите нужную виртуальную машину
- Откройте карточку VM, нажав на строку в таблице
- В секции "Консоль виртуальной машины" нажмите кнопку "Открыть консоль Proxmox"
- Консоль откроется в окне Apache Guacamole
Консоли Hyper-V
Для виртуальных машин Hyper-V используется специальный механизм запуска консоли через утилиту VMConnect на хосте Hyper-V.
Особенности Hyper-V
В отличие от VMware и Proxmox, консоль Hyper-V не может быть открыта через веб-интерфейс напрямую. Вместо этого используется следующая схема:
- Подключение к хосту Hyper-V по RDP
- Автоматический запуск утилиты VMConnect для нужной VM
- VMConnect отображается в RDP сессии пользователя
Доступ к консоли
Как подключиться:
- В разделе Виртуализация → Hyper-V найдите нужную виртуальную машину
- Откройте карточку VM, нажав на строку в таблице
- В секции "Консоль виртуальной машины" нажмите кнопку "Открыть консоль"
- Откроется RDP подключение к хосту Hyper-V
- Автоматически запустится окно VMConnect с консолью выбранной VM
Подключение к консоли Hyper-V осуществляется через обычный RDP, поэтому:
- Работает как через веб-клиент, так и через нативный RDP клиент
- Запись сессии ведется при использовании веб-клиента
- Требуются права администратора на хосте Hyper-V
- Необходимо наличие установленного модуля Hyper-V на хосте
Для работы подключения к консолям Hyper-V требуется:
- Windows Server с установленной ролью Hyper-V
- Учетные данные с правами администратора
- Доступ к хосту Hyper-V по RDP
Консоли Docker контейнеров
INFRAX предоставляет прямой доступ к консолям Docker контейнеров через SSH подключение с автоматическим выполнением команды docker exec.
Как это работает
При подключении к консоли Docker контейнера INFRAX выполняет следующие действия:
- Устанавливает SSH соединение с хостом, на котором запущен контейнер
- Автоматически выполняет команду
docker exec -it <container_id> /bin/bash - Если bash недоступен, пытается использовать
/bin/sh - Подключение открывается через Apache Guacamole в браузере
Доступ к консоли контейнера
Как подключиться:
- В разделе Виртуализация → Docker найдите нужный контейнер
- Нажмите кнопку "Подключиться" на карточке контейнера
- Или откройте детали контейнера и нажмите "Подключиться к консоли"
- Консоль откроется в новом окне браузера через Apache Guacamole
Для подключения к консоли Docker контейнера требуются учетные данные SSH для доступа к хосту, на котором запущен Docker. Пользователь должен иметь права на выполнение команды docker exec (обычно это член группы docker или root).
Особенности Docker консолей
Преимущества:
- Прямой доступ к командной оболочке контейнера
- Не требуется установка SSH внутри контейнера
- Работает для любых контейнеров (даже без сетевых настроек)
- Автоматический выбор доступной оболочки (bash или sh)
- Полный доступ к файловой системе контейнера
Типичное использование:
- Отладка работы приложений в контейнере
- Просмотр логов приложений
- Проверка конфигурационных файлов
- Тестирование команд перед добавлением в Dockerfile
- Диагностика проблем с зависимостями
- Изучение файловой системы контейнера
Изменения, сделанные в файловой системе контейнера через консоль, будут потеряны при перезапуске контейнера, если они не сохранены в volume или не закоммичены в новый образ. Для постоянных изменений используйте volumes или обновите Dockerfile.
Запись сессий
Все подключения к консолям виртуальных машин фиксируются в журнале сессий аналогично обычным RDP, SSH и VNC подключениям.
Для всех консольных подключений записывается:
- Время — создания, подключения и отключения сессии
- Информация о цели — имя и платформа виртуальной машины (VMware, Proxmox, Hyper-V) или имя Docker контейнера
- Пользователь — кто открыл консоль
- Узел хоста — к какому узлу (гипервизору или Docker хосту) было выполнено подключение
- Длительность — общее время работы с консолью
Видеозапись
Видеозапись сессий консолей работает по тем же правилам, что и для обычных подключений. Все подключения к консолям записываются через Apache Guacamole:
- VMware — записывается через Apache Guacamole
- Proxmox — записывается через Apache Guacamole
- Hyper-V — записывается через Apache Guacamole
- Docker контейнеры — записывается через Apache Guacamole (SSH протокол)
Настройки записи (для каких пользователей вести запись) настраиваются в параметрах приложения и применяются ко всем типам подключений, включая консоли VM и контейнеров.
Просмотр истории
Все консольные сессии доступны в разделе Администрирование → Сессии вместе с обычными удаленными подключениями. Сессии консолей отображаются с указанием имени виртуальной машины/контейнера и платформы (VMware, Proxmox, Hyper-V, Docker).
Применение системы прав
Настройки записи сессий (Параметры → Подключения и записи сессий) применяются и к консольным подключениям:
| Настройка | Влияние на консоли VM |
|---|---|
| Режим записи | Определяет, для каких пользователей записывать консольные сессии |
| Список пользователей | Включение/исключение пользователей из записи |
| Квота хранилища | Автоматическое удаление старых записей консолей при превышении |
Сценарии использования
Установка операционной системы
Задача:
Установить Windows Server на новую VM в VMware vCenter
Решение:
- Создайте VM в vCenter
- Подключите ISO образ с дистрибутивом
- Откройте консоль VM через INFRAX
- Выполните установку ОС через консоль
- После установки настройте сеть
- Переключитесь на обычное RDP подключение
Преимущество: Не нужно искать клиент vSphere или помнить адрес vCenter — все доступно из единого интерфейса INFRAX.
Восстановление сети
Задача:
На Linux VM в Proxmox сломалась сетевая конфигурация, SSH недоступен
Решение:
- Откройте консоль VM через INFRAX
- Авторизуйтесь в системе
- Исправьте конфигурацию сети (
/etc/network/interfacesили аналог) - Перезапустите сетевой сервис
- Проверьте доступность по SSH
Преимущество: Доступ к VM даже при полностью неработающей сети.
Диагностика загрузки
Задача:
Windows VM на Hyper-V не загружается после обновления
Решение:
- Откройте консоль VM через INFRAX
- Наблюдайте процесс загрузки
- Перезагрузите VM в Safe Mode (F8 при загрузке)
- Откатите проблемное обновление
- Перезагрузите в обычном режиме
Преимущество: Возможность видеть и взаимодействовать с процессом загрузки, что недоступно через RDP.
Доступ к BIOS/UEFI
Задача:
Изменить порядок загрузки устройств в VM
Решение:
- Откройте консоль VM
- Перезагрузите VM
- Нажмите клавишу для входа в BIOS/UEFI (обычно F2, Del или ESC)
- Измените настройки
- Сохраните и выйдите
Преимущество: Полный контроль над виртуальным оборудованием VM.
Отладка Docker контейнера
Задача:
Веб-приложение в Docker контейнере не запускается, нужно проверить логи и конфигурацию
Решение:
- В разделе Виртуализация → Docker найдите проблемный контейнер
- Нажмите кнопку "Подключиться" для открытия консоли
- Проверьте логи приложения (
cat /var/log/app.log) - Проверьте конфигурационные файлы (
cat /etc/app/config.yml) - Проверьте переменные окружения (
env) - Попробуйте запустить приложение вручную для диагностики
Преимущество: Не требуется установка SSH в контейнере или выполнение команд через терминал хоста.
Проверка файловой системы контейнера
Задача:
Убедиться, что все необходимые файлы присутствуют в контейнере после обновления образа
Решение:
- Откройте консоль контейнера через INFRAX
- Проверьте структуру директорий (
ls -la /app) - Проверьте версии установленных пакетов
- Проверьте права доступа к файлам
- Протестируйте доступность зависимостей
Преимущество: Быстрый доступ к файловой системе контейнера без необходимости использовать docker exec в терминале.
Рекомендации
Когда использовать консоль
✅ Используйте консоль для:
- Установки новых операционных систем
- Первичной настройки VM перед настройкой сети
- Диагностики проблем с сетью или загрузкой
- Доступа к BIOS/UEFI виртуальной машины
- Восстановления после критических ошибок
- Отладки Docker контейнеров без SSH внутри контейнера
- Проверки файловой системы и логов контейнеров
- Работы в безопасном режиме или single user mode
❌ Не используйте консоль для:
- Повседневного администрирования (используйте RDP/SSH)
- Работы с производительными приложениями
- Операций, требующих буфер обмена (ограничения консоли)
- Копирования больших объемов данных
Безопасность
Рекомендации по безопасности:
- Ограничивайте доступ — используйте систему прав для контроля доступа к консолям VM и контейнеров
- Записывайте сессии — включите запись для критичных VM и production контейнеров
- Мониторьте активность — регулярно проверяйте журнал консольных сессий
- Используйте сильные пароли — для доступа к гипервизорам и Docker хостам
- Контролируйте права на docker exec — убедитесь, что только доверенные пользователи имеют доступ к консолям контейнеров
- Ограничивайте время — не оставляйте открытые консольные сессии без необходимости
Общие советы
Для виртуальных машин:
- Используйте консоли для временных задач — консоль не заменяет полноценное удаленное управление
- Не оставляйте консоли открытыми — закрывайте подключение после завершения работы
- VMware WMKS может быть медленным — для длительной работы используйте SSH/RDP после настройки сети
- Для Hyper-V используйте консоль через RDP — это обеспечивает лучшую производительность
Для Docker контейнеров:
- Изменения не постоянны — изменения в файловой системе контейнера будут потеряны при перезапуске
- Требуются права на хосте — убедитесь, что у пользователя есть права на выполнение docker exec
- Используйте volumes для данных — не полагайтесь на изменения файловой системы контейнера
- Проверяйте образы после обновления — консоль удобна для быстрой проверки нового образа
Общие рекомендации:
- Помните о записи — все действия в консоли записываются, если включена запись сессий
- Закрывайте сессии — не оставляйте консоли открытыми после завершения работы
Устранение проблем
Типичные проблемы и решения:
Не открывается консоль VMware:
- Проверьте учетные данные vCenter/ESXi
- Убедитесь, что VM не выключена
- Проверьте доступность хоста VMware из INFRAX
Медленная работа консоли Proxmox:
- Проверьте сетевую связь с Proxmox узлом
- Проверьте загрузку CPU на хосте Proxmox
- Попробуйте переподключиться
Не запускается VMConnect на Hyper-V:
- Убедитесь в наличии прав администратора
- Проверьте, что роль Hyper-V установлена на сервере
- Попробуйте переподключиться
Не подключается к Docker контейнеру:
- Убедитесь, что контейнер запущен
- Проверьте учетные данные SSH для Docker хоста
- Убедитесь, что у пользователя есть права на выполнение docker exec
- Проверьте, что контейнер имеет оболочку /bin/bash или /bin/sh
Консоли виртуальных машин и контейнеров — это мощный инструмент, но используйте его с умом. Для повседневных задач администрирования предпочитайте обычные протоколы (RDP/SSH), так как они обеспечивают лучшую производительность и больше возможностей (буфер обмена, передача файлов и т.д.). Для Docker контейнеров помните, что изменения файловой системы не сохраняются при перезапуске.