Содержание

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Front-end – это набор служб и сервисов для управления облаком.

Требования

...

Info

На небольших стендах сервер, включающий роль Front-end, может выполнять роль рабочего места администратора и являться точкой входа в облако.

В этом случае на сервер необходимо установить графическое окружение рабочего стола командой:

Command

sudo apt install fly-all-main firefox

В продуктивных информационных системах, находящихся в эксплуатации, не рекомендуется устанавливать графическую систему на сервере.

Необходимо ввести сервер в домен ALD или FreeIPA. В зависимости от типа домена для получения инструкций перейдите по одной из ссылок:


Также необходимо повысить максимальный уровень целостности в операционной системе. В файле на сервере /etc/default/grub отредактируйте отредактировать указанную сроку, приведя ее к виду:

...

Command

sudo update-grub


Warning

Необходимо После выполнения указанных действий необходимо выполнить перезагрузку.

Установка и настройка Front-end на сервере

Устанавливаем Устанавить службы и базу для управления ПК СВ Брест в зависимости от используемого домена:

Expand
titleДля домена ALD


Command

sudo apt install postgresql-9.6
sudo apt install brestcloud-ald


...

Expand
titleДля домена FreeIPA


Command

sudo apt install postgresql-9.6
sudo apt install brestcloud-ipa



Далее выполним Выполнить инициализацию ПК СВ Брест, создадим создать базу и первого пользователя для администрирования системы командой:

...

Expand
titleСоздание самоподписанных сертификатов для возможности  использования протокола https для ПК СВ "Брест" 2.5

Cгенерировать самоподписанный сертификат с помощью OpenSSL:

   - создать директории для сертификатов и ключей (для ПК СВ "Брест" с обновлением 2.6 этот каталог уже существует):

Command

sudo mkdir /etc/apache2/ssl

  - создать сертификат и ключ:

Command

sudo openssl req -x509 -nodes -newkey rsa:2048 -days 3650 -keyout /etc/apache2/ssl/<front-N-hostname>.key -out /etc/apache2/ssl/<front-N-hostname>.crt

  - Предлагается ввести:

Command
Country Name (2 letter code) [AU]: — страна/регион (не обязательно)
State or Province Name (full name) [Some-State]: — штат (не обязательно)
Locality Name (eg, city) []: — город (не обязательно)
Organization Name (eg, company) [Internet Widgits Pty Ltd]: — имя организации (не обязательно)
Organizational Unit Name (eg, section) []: — подразделение организации, пропускаем.(не обязательно)
Common Name (e.g. server FQDN or YOUR name) []: — Обязательное поле, это имя, по которому к серверу будут обращаться <front-N-hostname>.<domain>
Email Address []: — адрес электронной почты (не обязательно)

Чтобы просмотреть сертификат:

Command

sudo openssl x509 -noout -text -in /etc/apache2/ssl/<front-N-hostname>.crt

Настройка Apache2

-  Взяв за основу содержимое файла /etc/apache2/sites-available/000-default.conf, описывается описать перенаправление с порта 80 на порт 443 , а так же указывается указать расположение файлов сертификата и ключа. Приведите файл Файл должен быть приведен к виду:

Expand

<VirtualHost *:80>
        ServerName <front-N-hostname>.<domain>
        Redirect permanent / https://<front-N-hostname>.<domain>
</VirtualHost>
<VirtualHost _default_:443>
        ServerName <front-N-hostname>.<domain>
        ServerAdmin webmaster@localhost
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
 
        DocumentRoot /usr/lib/one/sunstone/public
 
        SSLEngine on
        SSLCertificateFile /etc/apache2/ssl/<front-N-hostname>.crt
        SSLCertificateKeyFile /etc/apache2/ssl/<front-N-hostname>.key
 
        <Proxy balancer://unicornservers>
                BalancerMember http://127.0.0.1:9869
        </Proxy>
 
        ProxyPass /brestcloud !
        ProxyPass / balancer://unicornservers/
        ProxyPassReverse / balancer://unicornservers/
        ProxyPreserveHost on
 
        <Proxy *>
                AuthType Kerberos
                KrbAuthRealms <DOMAIN>
                KrbServiceName HTTP/<front-N-hostname>.<domain>
                Krb5Keytab /etc/apache2/apache2.keytab
                KrbMethodNegotiate on
                KrbMethodK5Passwd off
                KrbSaveCredentials on
                require valid-user
                AllowOverride all
 
                RewriteEngine On
                RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
                RewriteRule ^/(.*)$ balancer://unicornservers%{REQUEST_URI} [P,QSA,L]
                RewriteCond %{LA-U:REMOTE_USER} (.+)
                RewriteRule . - [E=RU:%1]
                RequestHeader add X-Forwarded_Remote-User %{RU}e
        </Proxy>
 
 
        ScriptAlias /brestcloud/ /usr/lib/one/brestcloud/
        <Directory /usr/lib/one/brestcloud/>
                Options +ExecCGI
                AddHandler cgi-script .cgi
                AuthType Kerberos
                KrbAuthRealms <DOMAIN>
                KrbServiceName HTTP/<front-N-hostname>.<domain>
                Krb5Keytab /etc/apache2/apache2.keytab
                KrbMethodNegotiate on
                KrbMethodK5Passwd off
                KrbSaveCredentials on
                require valid-user
                AllowOverride all
        </Directory>
 
        ErrorLog ${APACHE_LOG_DIR}/error.log
 
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
 
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

  - Далее необходимо задействовать модуль ssl командой и перезапустить вэб-сервер:

Command

sudo a2enmod ssl

  - Сохранить изменения и проверить конфигурацию Apache. Лучше всего заранее протестировать конфигурацию на наличие различных синтаксических ошибок, иначе вэб-сервер просто не запустится.

Для тестирования выполнить следующую команду:

Command

sudo apachectl configtest

Перезапустить apache2.service:

Command

sudo systemctl restart apache2

Настройка клиента

Для подключения к графическому интерфейсу управления необходим веб-браузер Firefox.

Info

Если администрирование облака на разворачиваемом стенде предполагается осуществлять прямо с узла стенда, на нем необходимо выполнить следующие действия. Если же для администрирования будет использоваться отдельное АРМ, эти действия нужно выполнить на нем, предварительно введя АРМ в домен.

Заходим в систему, используя графический интерфейс Fly ОС Astra Linux Special Edition, пользователем brestadmin.

Запускаем браузер Firefox. В адресной строке ввести about:config для правки параметров и ищем следующие параметры:

Code Block
languagetext
themeConfluence
network.negotiate-auth.delegation-uris
network.negotiate-auth.trusted-uris

Для выше перечисленных параметров требуется выставить значение "http://,https://" (без кавычек).

При настройке ПК СВ "Брест" 2.6 никаких дополнительных действий не требуется. Далее приступить к проверке.

Проверка

Теперь можно перейти Перейти в интерфейс OpenNebula для настройки ПК СВ "Брест" по адресу:

https://<front-N-ip>.<domain>

Отобразиться Отобразится приглашение войти в систему:

...

1. В файле /etc/one/sunstone-server.conf необходимо поменять следующие параметры, указав ваши пути к сертификату и ключу:

...

root@srv:/etc/one# service unicorn-opennebula restart
root@srv:/etc/one# service opennebula-novnc restart
root@srv:/etc/one# service apache2 restart

3. Войдите Войти в систему доменным пользователем "brestadmin", запустите FIREFOXзапустить web-браузер firefoxПодключитесь Подключится к opennebula по https:// и после открытия интерфейса выйдите выйти из сессии brestadmin, оставив открытым это окно.

4. Далее нужно очистить Очистить кэш в  firefox:   "настройки"→"приватность и защита" → "история" → "удалить историю" выбрать только "кэш" и "удалить".


5. Возвращаемся Вернуться к открытой закладке "opennebula" и заходим войти в сеанс повторно.

6. Открываем Открыть нужную ВМ , запускаем запустить её и жмем нажать "VNC" . При первом подключении выйдет отобразится ошибка: VNC noVNC ready: native WebSockets, canvas rendering. Не закрывая этой вкладки, окрываем окрыть еще одну и вводим ввести адрес фронтальной машины с указанием порта vnc (29876), пример:   https://srv.brest.loc:29876  и далее добавляем добавить адрес в исключения.

7. Теперь можно вернуться Вернуться в вкладке с открытой opennebula и открыть по VNC или SPICE нужную машину.

8. Повторно эту процедуру выполнять не придетсятребуется, при выходе из сеанса, все исключения сохранятсясохраняются.


Note
titleВажно

После выполнения инструкций данного раздела вернитесь на предыдущую статью

...