Содержание

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »

Оглавление

Введение

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

Требования

Подготовка сервера для установки Front-end

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

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

sudo apt install fly-all-main firefox

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

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


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

/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="parsec.max_ilev=127 parsec.ccnr_relax=1 quiet net.ifnames=0"

Присвоить администратору сервера максимальный уровень целостности:

sudo pdpl-user -i 127 <local-admin>
Обновить конфигурацию grub:
sudo update-grub

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

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

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

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

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


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

Если подготавливается несколько серверов с ролью Front-end, далее следует задавать одинаковые названия базы данных и учетных данных для доступа к ней.


sudo brestcloud-configure

В ходе выполнения команды запустится мастер, в котором среди прочего нужно будет задать пароли для создаваемой базы данных и администратора облака brestadmin.

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

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

sudo mkdir /etc/apache2/ssl
  - создать сертификат и ключ:
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
  - Предлагается ввести:
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 []: — адрес электронной почты (не обязательно)
Чтобы просмотреть сертификат:
sudo openssl x509 -noout -text -in /etc/apache2/ssl/<front-N-hostname>.crt

Настройка Apache2

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

<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 командой и перезапустить вэб-сервер:

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

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

sudo apachectl configtest
Перезапустить apache2.service:
sudo systemctl restart apache2

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

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

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

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

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

network.negotiate-auth.delegation-uris
network.negotiate-auth.trusted-uris

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

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

Проверка

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

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

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

Если после нажатия кнопки Login отобразится интерфейс управления облаком – настройки произведены успешно!


Следующий пункт необходим в случае отсутствия настроенного центра сертификации. Описывается процесс настройки и добавления самоподписанного сертификата в доверенные.

Настройка корректного подключения к ВМ по VNC или SPICE через HTTPS

Для корректного подключения к виртуальной машине по VNC или SPICE с использованием HTTPS, выполните следующие шаги:

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

:vnc_proxy_support_wss: yes
:vnc_proxy_cert: /etc/apache2/ssl/<front-N-hostname>.crt
:vnc_proxy_key: /etc/apache2/ssl/<front-N-hostname>.key

2. Перезапустить следующие сервисы:

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", запустить 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. Повторно эту процедуру выполнять не требуется, при выходе из сеанса, все исключения сохраняются.


Важно

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

  • No labels