Установка и настройка сервиса VNF

Подготовка образа ВМ для сервиса VNF

  1. Для начала работы с сервисом необходимо получить образ Astra Linux MG (.qcow2) из хранилища https://dl.astralinux.ru/ui/native/mg-generic/alse/qemu/ (для клиентов с лицензией на ALSE).
    Для образа VNF оптимально использовать base-образ без GUI (например, alse-vanilla-1.7.4uu1-qemu-base-mg11.3.0.qcow2).
  2. В веб-интерфейсе ПК СВ перейти в раздел Хранилище - Образы и создать новый постоянный образ из образа Astra Linux MG с именем service-vnf-alse.
  3. В разделе Шаблоны — ВМ создать временный шаблон ВМ для подготовки сервиса VNF: 
    1. На странице Создать шаблон ВМ во вкладке Общие указать название шаблона и объем оперативной памяти 8 Гб, остальные параметры задать по своему усмотрению:
    2. На вкладке Хранилище выбрать образ service-vnf-alse:
    3. после завершения настройки шаблона нажать кнопку Создать.
  4. Создать экземпляр ВМ из временного шаблона. Запустить ВМ, подключиться к консоли и настроить доступ к сетевому или локальному репозиторию ПК СВ версии 3.3.1.

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

  5. В созданной ВМ установить пакет сервиса VNF командой:

    sudo apt-get install -t brest brest-vnf

  6. Скопировать содержимое файла /usr/share/doc/brest-vnf/brest-vnf-template в буфер обмена сервера виртуализации или сам файл на сервер виртуализации.

  7. Отключить ВМ и удалить временную ВМ и шаблон. Перейти в раздел Хранилище - Образы и сменить тип образа service-vnf-alse на непостоянный (открыть страницу образа и во вкладке Сведения в выпадающем списке Постоянный выбрать Нет).

Создание виртуального маршрутизатора

Перед созданием маршрутизатора с функцией SDNAT4 или LB (LoadBalancer) необходимо настроить ПК СВ для использования службы сервера OneGate.

Все сетевые функции отключены по умолчанию, кроме высокой доступности (Keepalived), которая требует задания плавающего IP-адреса (необходимо установить флаг и ввести принудительный IPv4 адрес).

  1.  В веб-интерфейсе ПК СВ в разделе Шаблоны — Вирт. маршрутизаторы создать новый шаблон. На странице Шаблоны ВМ виртуального маршрутизатора перейти во вкладку Расширенный и вставить содержимое файла /usr/share/doc/brest-vnf/brest-vnf-template. При необходимости - изменить параметры выделенных ресурсов (RAM, CPU, и т.д.).

    Нажать кнопку Создать.
  2. Перейти в раздел Экземпляры ВМ — Вирт. маршрутизаторы и создать новый маршрутизатор из созданного шаблона Brest-Service-VNF:
    1. На странице Создать виртуальный маршрутизатор указать название виртуального маршрутизатора:
    2. В блоке Сеть нажать кнопку +Сетевой интерфейс и подключить необходимые сетевые интерфейсы и группы безопасности:

      Для настройки высокой доступности (Keepalived) необходимо установить флаг Плавающий IP и указать IP-адрес.


    3. В блоке Шаблон выбрать шаблон Brest-Service-VNF и задать количество экземпляров ВМ (для обеспечения высокой доступности необходимо указать минимум 2 ВМ):
    4. В блоке Пользовательские атрибуты включить необходимые сетевые функции (DHCPv4, DNS, NAT и т.д.):
    5. После завершения настройки маршрутизатора нажать кнопку Создать. Перейти в раздел Экземпляры ВМ — ВМ и дождаться запуска виртуальных машин.
  3. В разделе Сеть — Топология сети отобразится созданный виртуальный маршрутизатор, а при наведении курсора отобразятся названия ВМ, объединенных в виртуальный маршрутизатор протоколом VRRP:

Подключение к виртуальному маршрутизатору

При начальной настройке доступ к виртуальному маршрутизатору может осуществляться c использованием SSH с сервера виртуализации, либо через публичную виртуальную сеть.

После введения маршрутизатора в работу предполагается, что дальнейший доступ возможен только через сетевой интерфейс управления (management interface), который задается при создании экземпляра маршрутизатора (флаг "Интерфейс управления"). На интерфейсе управления не будут запущены никакие сетевые функции, кроме сервера SSH.

Для входа в ВМ необходимо воспользоваться логином и паролем: astra / astra.

При подключении к виртуальному маршрутизатору выводится статус сервиса VNF:

        .-~~~-.
  .- ~ ~-(       )_ _
 /                   )~ -..
|   БРЕСТ - сервис VNF     ',
 \        v0.1-15           ,'
  '~,....................,~

 2/3 Конфигурация / Configuration
     в процессе... / step is in progress
CODE

Статус в приветствии обновляется только при подключении к маршрутизатору (если маршрутизатор находится в процессе конфигурации, необходимо выйти и подключиться позднее). При успешном запуске выводится сообщение:

Все сетевые функции готовы к использованию.
 All Virtual Network Functions are ready to serve
CODE

При запуске виртуального маршрутизатора инициализация сервисов может занимать до 1 минуты.

Журнал работы VNF (система логирования) и обработка ошибок

Журналы виртуального маршрутизатора

Основной журнал процесса конфигурации VNF /var/log/one-appliance/ONE_configure.log.

Журнал /var/log/one-appliance/ONE_configure.log не ведется во время работы маршрутизатора, в него попадают сообщения только в процессе конфигурации или реконфигурации сервиса.

Обработка ошибок

Для параметров VNF добавлены базовые проверки на соответствие типам и на корректность указанных значений:

ПараметрКорректное значение

VROUTER_KEEPALIVED_PASSWORD

[буквы, цифры, спецсимволы, длина не более 8 символов]

VROUTER_KEEPALIVED_PASSWORD

[буквы, цифры, спецсимволы, длина не более 8 символов]

ONEAPP_VNF_KEEPALIVED_ETHx_PASSWORD

[буквы, цифры, спецсимволы, длина не более 8 символов]

ONEAPP_VNF_KEEPALIVED_INTERVAL

[1...255]

ONEAPP_VNF_KEEPALIVED_ETHx_INTERVAL

[1...255]

ONEAPP_VNF_KEEPALIVED_PRIORITY  

[1...255]

ONEAPP_VNF_KEEPALIVED_ETHx_PRIORITY

[1...255]

ONEAPP_VNF_DHCP4_LEASE_TIME  

[1...4294967295]

ONEAPP_VNF_DHCP4_ETHx_MTU  

[68...9000]

ONEAPP_VNF_DNS_MAX_CACHE_TTL  

[0...604800]

ONEAPP_VNF_DNS_UPSTREAM_TIMEOUT

[0...4294967295]

ONEAPP_VNF_SDNAT4_REFRESH_RATE  

[1...4294967295]

ONEAPP_VNF_LB_REFRESH_RATE

[1...4294967295]

ONEAPP_VNF_LB_FWMARK_OFFSET  

[1...4294967295]

ONEAPP_VNF_LBx_PORT

[1...65535]

ONEAPP_VNF_LBx_TIMEOUT  

[1...2678400]

Сообщения об ошибках и предупреждениях (errors/warnings) направляются в журнал /var/log/one-appliance/ONE_configure.log и дополнительно отображаются в сообщении при входе на виртуальный маршрутизатор с указанием имени сервиса.

Пример вида сообщения об ошибке:

 * * * * * * * * * * * *
 * Ошибка сервиса VNF  *
 *         -           *
 *   APPLIANCE ERROR   *
 * * * * * * * * * * * *

ОШИБКА [!!]: Сбой в процессе конфигурации DHCP4
ПРЕДУПРЕЖДЕНИЕ [!]: VNF DHCP4: Неправильное имя сетевого интерфейса: ETH012345 (настройка пропущена)
ОШИБКА [!!]: VNF DHCP4: Параметр ONEAPP_VNF_DHCP4_ETH0_DNS не является IPv4 адресом: a.b.c.d 

Обратитесь к документации и повторите попытку конфигурации сервиса! 
Read documentation and try to redeploy!
CODE