Простой VNC-доступ к виртуальным серверам из браузера
Подключение к виртуальным серверам через браузер и HTML5
Настройка и включение VNC
По-большей части статья рассчитана на ESXi от VMware, поскольку не всегда есть возможность использовать консоль VMware, а доступ к серверу необходим.
Прежде всего останавливаем виртуальную машину, которая будет доступна через VNC.
Изменим настройки виртуальной машины, включив VNC-доступ. Выбираем виртуальную машину –> Edit Settings
–> Options
–> General
–> Configuration Parameters
и добавляем несколько параметров:
1 | RemoteDisplay.vnc.enabled = [true|false] - включаем vnc |
Если используется ESXi версии 5 и выше, то необходимо открыть порт на файерволе гипервизора. Подключаемся к гипервизору по SSH и создаем новый xml файл, с описанием правила для файервола в /etc/vmware/firewall
:
1 | <!--rewall configuration information for VNC --> |
После этого обновляем конфиг файервола и проверяем, появилось ли правило.
(Также это можно сделать из vSphere клиента)
1 | esxcli network firewall refresh |
Могут возникнуть трудности после перезагрузки ESXi, если это произойдет, то нового правила не будет. Самое простое решение скопировать XML-файл в хранилище (storage), к которому у хоста есть доступ, а на самом хосте добавить в /etc/rc.local
:
1 | cp location-of-xml-file /etc/vmware/firewall |
Теперь к виртуальным машинам есть VNC доступ. Далее будем делать одну точку доступа ко всем серверам, используя Guacamole
Установка и настройка Guacamole
С помощью Guacamole можно получить доступ к консоли серверов из любого браузера, который поддерживает: HTML5 и AJAX
Guacamole умеет работать с VNC и RDP. Установку можно производить на Debian, Ubuntu, CentOS
Установка Guacamole
Установим необходимые компоненты для корректной работы.
1 | yum -y install guacd libguac-client-* |
1 | systemctl enable guacd |
В Fedora/Centos установим веб-приложение Guacamole, оно может потянуть за собой Tomcat и прочие Java-зависимости.
1 | yum -y install guacamole |
1 | systemctl enable tomcat |
Затем производим конфигурацию в /etc/guacamole/
Подробнее о конфигурации
Запускаем сервисы
1 | systemctl start guacd |
По умолчанию веб-приложение доступно в браузере по адресу:http://localhost:8080/guacamole/
Схема аутентификации по умолчанию читает все настройки из файла конфигурации /etc/guacamole/user-mapping.xml
1 | <user-mapping> |
- Hostname — это адрес вашего esxi хоста;
- Password — пароль для VNC.
Теперь входим под пользователем DevUser и подключаемся к виртуальным серверам.