Первоначальная установка системы на одном сервере
Исходные данные
Конфигурация системы с одним сервером
По техническому заданию требуется определить аппаратную платформу.
Полоса пропускания СПД
Требуемая полоса пропускания СПД не менее 1000Mb/s
Пример составления аппаратных требований:
Включение в сеть
Пример на рисунке ниже.
Рисунок 1 — Схема организации связи
Последовательность установки SSW ECSS10 без резервирования с одним сервером
Установка SSW ECSS10 состоит из 2-х основных частей :
Подготовительной - Установка ОС Astra Linux 1.8, обновлений пакетов OC Astra Linux 1.8 , установка дополнительных пакетов программ, подготовка сетевых интерфейсов, /etc/hosts, ssh-keygen
- Установка приложений Eltex ECSS10
Подготовительный этап
В этом разделе приведено описание инсталляции операционной системы, а также необходимых и дополнительных пакетов. Система ECSS-10 версии 3.17 работает под управлением ОС Astra Linux 1.8.
Предварительные требования
- Установочный загрузочный носитель с дистрибутивом операционной системы ;
- Подготовленный сервер с обновленным BIOS, ILO (если есть), подключенная сеть для доступа ;
- Выставленный первый приоритет загрузки с установочного носителя — USB Flash или CD/DVD в BIOS;
- Достаточный объем дискового пространства и памяти в соответствии с проектом.
Установка ОС
Для установки ОС необходимо выполнить следующее:
- После загрузки с установочного носителя выбрать "Графическая установка" или "Установка".
- Согласится с лицензионным соглашением.
- Выбрать раскладку клавиатуры.
Выбрать сетевой интерфейс для подключения к сети Интернет.
- Установить имя компьютера (рекомендованы ecss1)
- Настроить пользователя- администратора.
- Создать партиции на диске в соответствии с таблицей 1 (разметка диска - Вручную).
- В процессе установке , не создавать раздел swap . При напоминании о пропуске раздела , подтвердить , что установка выполняется без создания swap. (см рис. 1)
- Установить часовой пояс.
- Установить OpenSSH server (активизировать пункт : "Средства удаленного подключения SSH" см рис. 2).
- Выбрать уровень защищенности, который используется в вашем проекте (в примере будем использовать вариант "Воронеж" см рис.3)
- Дополнительные настройки ОС - по умолчанию(см рис.4)
- Перезагрузить успешно установленную ОС
Таблица 1 — Вариант размещения информации в файловой системе на физических носителях для серверов
| 1 | Загрузочный раздел операционной системы (создается автоматически) | boot | raid 1:hdd1,hdd2 | boot | /boot | ext4 | 1 Gb | Первичный |
| 2 | Корневой раздел операционной системы | root | raid 1:hdd1,hdd2 | root | / | ext4 | 30 Gb | Логический |
| 3 | Информация локальных баз данных | mnesia | raid 1:hdd1, hdd2 | mnesia | /var/lib/ecss | ext4 | 30 Gb | Логический |
| 4 | Распределенная БД для хранения медиаресурсов | glusterfs | raid 1:hdd1, hdd2 или hdd3 | glusterfs | /var/lib/ecss/restfs | ext4 | Max Gb | Логический |
| 5 | Журналы функционирования подсистем ОС | log | raid 1:hdd1,hdd2 или hdd3 | log | /var/log | ext4 | 20 Gb | Логический |
| 6 | Журналы функционирования подсистем ECSS | ecss_log | raid 1:hdd1,hdd2 или hdd3 | ecss_log | /var/log/ecss | ext4 | 20 Gb | Логический |
| 7 | Базы данных | ecss_db | raid 1:hdd1,hdd2 или hdd3 | ecss_db | /srv/ecss/ecss-postgres-bdr-ssw/ | ext4 | 100–400 Gb* | Логический |
| 8 | Файлы пользователя | home | raid 1:hdd1,hdd2 или hdd3 | home | /home | ext4 | 10 Gb | Логический |
* Рекомендуемое значение для серий Light, Light+, Midi — 100 Gb. Рекомендуемое значение для серии Heavy — 200 Gb, Super Heavy — 400 Gb.
Для работы системы необходимо как минимум 256 Gb свободного пространства.
На серверах системы необходимо настроить параметр "hostname".
На всех серверах системы желательно указать одинаковое имя пользователя (любое, кроме ssw). Лицензия ECSS-10 привязывается к ключу eToken/ruToken и к имени компьютера (hostname). Системный пользователь ssw создается при инсталляции пакета ecss-user.
Рекомендуемое значение hostname — ecss1;
Проверка установки ОС
Проверка в основном сводится к правильности создания разделов диска и наличия доступа по ssh.
Для вывода информации о состоянии дискового пространства введите команду df -h. Она покажет общее и занятое место в разделах. Размеры разделов должны соответствовать проекту и введенным значениям при установке.
Для проверки доступа по ssh с машины, находящейся в одной подсети со вновь установленным сервером, нужно выполнить команду:
ssh <user>@<IP_ecss>
где:
- <user> — имя пользователя, заданного при установке(для примера eltex);
- <IP_ecss> — IP-адрес хоста, заданного при установке.
Настройка /etc/hosts
посмотреть можно командой cat /etc/hosts
изменить/добавить командой sudo nano /etc/hosts
sudo nano /etc/hosts
ecss1:
127.0.0.1 localhost 10.0.10.40 ecss1
Конфигурация репозиториев
После установки для обновления будет использоваться только образ DVD диска, загрузка с репозитория отключена. Давайте разрешим обновление пакетов с локального репозитория Eltex.
Копируем образ репозитория Eltex в локальную директорию.
scp eltex_repo_latest.tar.gz eltex@10.0.20.40:/home/eltex
scp eltex_repo_gpg.key eltex@10.0.20.40:/home/eltex
И распаковываем архив.
пример:
tar -xzf eltex_repo_latest.tar.gz
перемещаем директорию с Eltex пакетами в /var/spool/:
sudo mv eltex_repo_latest /var/spool/
добавляем ключ :
sudo apt-key add eltex_repo_gpg.key
Редактируем source.list:
echo "deb file:/var/spool/eltex_repo 1.8_x86-64 contrib main non-free" | sudo tee -a /etc/apt/sources.list
Изменение приоритета репозиториев
Для установки Erlang, Nodejs и Elixir из репозитория Eltex, необходимо изменить приоритет репозиториев для данных пакетов.
Добавить в файл /etc/apt/preferences.d/erlang строки:
sudo sh -c "echo -e 'Package: erlang*\nPin: version 2:24.3*\nPin-Priority: 1000' >> /etc/apt/preferences.d/erlang"
Добавить в файл /etc/apt/preferences.d/nodejs строки:
sudo sh -c "echo -e 'Package: nodejs*\nPin: version 14.20.0-1nodesource1*\nPin-Priority: 1000' >> /etc/apt/preferences.d/nodejs"
Добавить в файл /etc/apt/preferences.d/elixir строки:
sudo sh -c "echo -e 'Package: elixir*\nPin: version 1.14*\nPin-Priority: 1000' >> /etc/apt/preferences.d/elixir"
Выполнить обновление:
sudo apt update
"Оптимизация" Операционной Системы
Выставить параметры ОС в режим производительности
Используем утилиту cpufrequtils.
sudo apt install cpufrequtils
по умолчанию после инсталляции ОС использует режим "ondemand" - "по запросу" (производительность CPU по запросу приложений, экономит электроэнергию , но ниже производительность):
cat /etc/init.d/cpufrequtils | grep GOVERNOR=
в выходном сообщении системы , режим работы по умолчанию после инсталляции - "ondemand" :
GOVERNOR="ondemand"
Установить режим - результативность/производительность - в файле /etc/init.d/cpufrequtils значение "ondemand" заменить на "performance"
sudo sed -i 's/GOVERNOR="ondemand"/GOVERNOR="performance"/g' /etc/init.d/cpufrequtils
Перезапустить утилиту:
sudo /etc/init.d/cpufrequtils restart
Затем выполнить команду:
sudo systemctl daemon-reload
Отключить SWAP
Ubuntu сервер SSW работает в реальном масштабе времени , поэтому все необходимые данные должны находится в оперативной памяти, использование файла подкачки (swap-файл - /swap. img) может привести к увеличению времени обработки вызовов приложения SSW ECSS10 , что недопустимо. Swap - отключаем.
Выполнить последовательно три команды:
Отключение Swap:
sudo swapoff -a
Удалить файл swap.img.
sudo rm /swapfile
Удалить эту строчку (//swapfile swap swap defaults 0 0)
sudo nano /etc/fstab
# /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> # / was on /dev/sda2 during curtin installation UUID=4c88cb4a-42c9-4b52-98c2-78da7e23b621 / ext4 defaults 1 1
Для проверки выполните команду free -h:
free -h
Размер Swap равен 0 - то есть он выключен
free -h
total used free shared buff/cache available
Mem: 3,9G 110M 3,2G 820K 535M 3,5G
Swap: 0B 0B 0B
Установка часового пояса
При инсталляции astra linux не предлагается установить часовой пояс(по умолчанию устанавливается время UTC). Его нужно установить вручную (для корректной работы системы тарификации , работ по расписанию и т.д. ), например:
sudo timedatectl set-timezone Asia/Novosibirsk
Улучшение работы высоконагруженных серверов
Улучшить работу высоконагруженных серверов можно увеличив лимит открытых файлов.
Для установки лимита открытых файлов необходимо:
Проверить текущий лимит командой:
ulimit -a
Результат :
eltex@ecss1:~$ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 15515 max locked memory (kbytes, -l) 65536 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 15515 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited
Данного лимита ( open files 1024 ) недостаточно для нормальной работы высоконагруженных серверов.
Установить лимит открытых файл для каждого пользователя:
sudo sed -i '55i\* soft nproc 65536\n* hard nproc 131072\n* soft nofile 65536\n* hard nofile 131072\nroot - memlock unlimited' /etc/security/limits.conf
Настройка сетевых интерфейсов
Получение адресов на сетевых интерфейсах по DHCP недопустимо на серверах ECSS.
Сетевые настройки необходимо выполнять с помощью Netplan.
По умолчанию в Astra Linux пакет netplan не установлен.
Установить пакеты для обслуживание функции netplan:
sudo apt install -y dialog libssl1.0.0 netplan.io
Сейчас можно выполнить конфигурацию netplan:
sudo nano /etc/netplan/ecss.yaml
Пример netplan
| Netplan для интерфейсов сервера ecss1 (/etc/netplan/ecss.yaml) |
|---|
# Netplan для хоста ecss1 программного коммутатора
# Обратите внимание на обязательное наличие минимум двух пробелов в каждой строке и секции (кроме строки секции network)
network:
version: 2 # Версия netplan
renderer: networkd # Исполнитель конфигураций netplan
ethernets: # Раздел описания интерфейсов ethernet
enp0s3: # Название интерфейса ВМ к интернет
dhcp4: no # Отключаем на интерфейсах динамическое распределение IP-адреса
dhcp6: no
addresses: [192.168.56.40/24]
enp0s8: # Название интерфейса для SSW
dhcp4: no # Отключаем на интерфейсах динамическое распределение IP-адреса
dhcp6: no
vlans:
net.10: # Интерфейс управления
id: 10
link: enp0s3
addresses: [10.0.10.40/24]
net.20: # Интерфейс для VoIP
id: 20
link: enp0s8
addresses: [10.0.20.40/24]
|
Так же проверить отсутствие в каталоге /etc/netplan/ других файлов, если другие файлы присутствуют , то их нужно переместить в другой каталог или удалить, в противном случае возможна некорректная настройка сетевых интерфейсов и некорректная работа SSW.
ls -la /etc/netplan/
Применить, установленные параметры командой:
sudo netplan apply
Просмотреть получившиеся настройки можно при помощи команд sudo ifconfig или ip a:
Для применения новых сетевых настроек необходимо выполнить команду netplan apply. Перезапуск сети или системы не требуется. Подробнее про настройки netplan см. в Приложении Е. Netplan.
Инсталляция необходимого ПО
Установка дополнительных пакетов программ
Для работы SSW, потребуются дополнительные пакеты ПО не установленные в Astra Linux по умолчанию, но доступные в репозитории Eltex.
sudo apt install -y ntp iptables tcpdump vlan dnsmasq aptitude atop ethtool htop mc screen ssh tftpd-hpa sngrep tshark gnuplot debconf-utils ncdu wget
Для просмотра установленных пакетов выполнить следующую команду (данный пункт является необязательным: его можно выполнить, если не уверены, что какие-то пакеты установлены):
sudo dpkg --get-selections
Перед началом установки пакетов ecss , нужно убедится в соответствии полосы пропускания СПД необходимым требованиям.
Для этого выполнить команду sudo ethtool <имя интерфейса> для всех физических интерфейсов.
Проверить значение следующих параметров:
Advertised auto-negotiation: Yes
Speed: 1000Mb/s (не менее)
Duplex: Full
Инсталляция пакетов ECSS
Предварительные требования
- Установленная и обновленная операционная система Astra Linux;
- Отсутствие в системе пользователя с именем ssw;
- Разбиение дискового пространства в соответствии с рекомендациями;
- Настроенная сеть;
- Установленный набор необходимых пакетов;
- Наличие локального файла репозитория Eltex.
установка пакетов deb
┌ версия ПО ECSS. Сейчас в заявке на сертификацию она заявлена как 3.
| Мы её менять не будем до следующей сертификации или │ выпуска принципиально новой версии системы. │ │ ┌ версия System Release. Общая версия для всех компонент входящих в конкретный релиз.
| | Меняем её централизовано, когда
│ │ принимаем решение о выпуске нового релиза. Релизы между собой обычно не совместимы.
┌─┴┐ ┌──┴─┐
ECSS.SysRel.SubMaj.SubMin
└──┬─┘ └──┬─┘
│ └ версия Subsystem minor. Минорную версию подсистемы устанавливает разработчик подсистемы. | Минорную версию
│ меняем при добавлении патча. Как правило, минорные версии в рамках одной мажорной версии
│ совместимы между собой и отличаются в рамках конкретных патчей.
│
└ версия Subsystem major. Мажорная версия устанавливается разработчиком подсистемы. Мажорную версию подсистемы необходимо менять при внесении в подсистему существенных изменений.
Утилита установки пакетов APT анализирует версию пакета слева направо, для примера, мы имеем пакет 14.14.7.7 ,
в репозитории находятся пакеты
14.14.7.8
14.14.7.9
14.14.8.1
14.14.20 -14.14.28
то при выполнении команды sudo apt install имя пакета → будет автоматически проверен и установлен пакет 14.14.28 , так как он самый последний, анализ будет выполнен по 3-й позиции (major), анализ по 4-й (minor) выполнен не будет (аналогичным образом будет выполнятся команда sudo apt upgrade --enable-upgrade).
В случае если для конкретной ситуации требуется перейти с версии 14.14.7.7 на версию 14.14.7.9 , стандартная команда → sudo apt upgrade --enable-upgrade , нам не поможет, так как будет выбран самый новый пакет, в данной ситуации нам необходимо в явном виде указать какую версию пакета мы хотим установить, в данном примере мы должны выбрать команду → sudo apt install имя пакета=14.14.7.9 . Обычно это необходимо для тестирования определенного патча, для стандартных обновлений достаточно выбора привычной команды установки/обновления пакета
В ходе установки пакетов ECSS нужно будет ответить на ряд вопросов для формирования необходимой конфигурации. Для автоматической загрузки требуемых настроек можно воспользоваться командами из пакета debconf-utils.
Описание и примеры использования при работе с debconf приведены в Приложении В. Debconf.
Для инсталляции системы ECSS-10 необходимо устанавливать пакеты в порядке, в котором они описаны ниже в документации.
Инсталляция обязательных пакетов
Установка пакета ecss-dns-env
Выполнить следующую команду:
sudo apt install -y ecss-dns-env
Настройщик предложит выбрать разделы для настройки по вопросам ниже. Не выбираем ничего просто нажать Enter.
Для корректной работы системы, после установки пакета ecss-node требуется скорректировать дефолтные установки . Для этого: В файле /etc/resolv.conf изменить параметр nameserver установленный системой по умолчанию на 127.0.0.1 (если строк nameserver несколько - остальные удалить/закомментировать): В Astra Linux после перезагрузки файл /etc/resolv.conf приводится к исходному виду, поэтому его нужно сделать неизменяемым: Для доступа к репозиториям AstraLinux и Элтекс нужно указать локальный DNS или глобальный (для примера 8.8.8.8 или 77.88.8.8) Добавить в файл /etc/dnsmasq.d/ecss строки server=<Ipadd DNS сервера> (в примере 77.88.8.8) : Перезапустить сервис:Настройка преобразование DNS имени в IP адрес
sudo nano /etc/resolv.conf
domain eltex.loc
search eltex.loc
nameserver 127.0.0.1
sudo chattr +i /etc/resolv.conf
sudo sh -c "echo 'server=77.88.8.8' >> /etc/dnsmasq.d/ecss"
sudo systemctl restart dnsmasq.service
Установка Postgres
Установка пакета ecss-postgres-bdr-ssw
sudo apt install ecss-postgres-bdr-ssw
При конфигурации пакета ecss-postgres-bdr-ssw будут заданы вопросы:
| Вопросы ecss-postgres-bdr-ssw | Ответы для ecss1 (Master) | Пример |
|---|---|---|
| Текущий IP-адрес сетевого интерфейса. | Выбрать из списка IP-адрес для работы с Postgres | |
| Установка в кластере? | No (необходимо выбрать) |
======================================================= ======================================================= ecss-postgres-bdr-ssw successfully installed/updated! ======================================================= ======================================================= ┏┓┏┓┏┓┏┳┓┏┓┳┓┏┓┏┓ ┳┓┳┓┳┓ ┏┓┏┓┓ ┏ ┃┃┃┃┗┓ ┃ ┃┓┣┫┣ ┗┓ ┣┫┃┃┣┫ ┗┓┗┓┃┃┃ ┣┛┗┛┗┛ ┻ ┗┛┛┗┗┛┗┛ ┻┛┻┛┛┗ ┗┛┗┛┗┻┛
Установка ecss-node
Установка обязательного пакета ecss-node включает в себя установку и первоначальную настройку основных подсистем.
В системе уже должен быть установлен пакет ecss-postgres-bdr-ssw
Для установки пакета ecss-node выполните команду:
sudo apt install -y ecss-node
Во время установки пакета создается пользователь ssw, от имени которого запускаются все сервисы ecss*. Создаются необходимые каталоги, выполняется настройка DNS, идет настройка SSL-сертификатов.
При установке также будет установлен пакет ecss-user
Установка на сервере ecss1
Во время установки будет предложено настроить параметры, необходимые для формирования конфигурационных файлов, примеры ответов следует ниже.
| Вопросы ecss-user | Ответы для ecss1 | Пример |
|---|---|---|
| Хотите ли вы использовать стандартные настройки? | Yes (значение по умолчанию) | |
| Вопросы ecss-node | Ответы для ecss1 | Пример |
| Идентификатор ECSS-узла в формате DNS (Настройка имени кластера): (в примере abf.test) | abf.test (необходимо ввести) | |
| Хотите ли вы использовать стандартные настройки? | Yes (значение по умолчанию) | |
| Вопросы ecss-user | Ответы для ecss1 | Пример |
| Максимальный размер несжатого дампа в байтах. | 8G (значение по умолчанию) | |
| Максимальный размер сжатого дампа в байтах. | 2G (значение по умолчанию) | |
| Максимальный размер, который может занять каталог /var/lib/systemd/coredump: | default (значение по умолчанию) | |
| Минимальный объем свободного дискового пространства в байтах. | 30G (значение по умолчанию) | |
Сохраните в безопасное место и удалите файл /etc/ecss/ssl/ecss10root.key! | Ok (значение по умолчанию) | |
Проверить статус сервисов следующей командой:
systemctl is-active ecss-core ecss-pa-sip ecss-ds ecss-mediator ecss-mycelium
В случае статуса "active" продолжаем дальше, в случае статуса "inactive" выполнить команду "sudo systemctl restart ecss-<имя пакета>"
systemctl is-active ecss-core ecss-pa-sip ecss-ds ecss-mediator ecss-mycelium active active active active active
Установка паспорта и лицензий
Под паспортом системы ECSS-10 понимается связь определенной инсталляции (SSW_ID) с USB-ключом. Паспорт гарантирует, что заказчик не сможет запустить больше подсистем DS с заданным SSW_ID, чем количество USB-ключей. Система без паспорта не работает.
Лицензионный ключ содержит в себе информацию о лицензионных ограничениях. Информация привязана к определенному SSW_ID. Позволяет добавлять лицензионные ограничения к определенной инсталляции системы ECSS-10. Если не добавлено ни одной лицензии, то действуют ограничения по умолчанию. Например, по умолчанию разрешено не более двух одновременных вызовов. Добавляя лицензию, можно расширить это количество до произвольных значений.
<licence> — последовательность цифр, букв и других символов без кавычек, следующая за строкой Licence: в файле лицензии.
<passport> — последовательность цифр, букв и других символов без кавычек, следующая за строкой Passport: в файле лицензии.
Если данные лицензии и паспорта будут введены корректно, то система выдаст подтверждение: ОК.
ВАЖНО
Перед началом работы проверьте наличие Token в системе.
Для проверки работы токена можно использовать приложение pkcs11-tool. Возможно проверить следующее:
Вывести общую информацию для ключа:
- для eToken:
pkcs11-tool --module /usr/lib/libeToken.so -I Cryptoki version 2.1 Manufacturer SafeNet, Inc. Library eToken PKCS#11 (ver 8.1) Using slot 0 with a present token (0x0)
- для Рутокен:
pkcs11-tool --module /usr/lib/ecss/ecss-ds/lib/lpm_storage-<VERSION>/priv/x64/librtpkcs11ecp.so -I Cryptoki version 2.20 Manufacturer Aktiv Co. Library Rutoken ECP PKCS #11 library (ver 1.5) Using slot 0 with a present token (0x0)
Расположение модуля для Рутокен может отличаться в зависимости от версии подсистемы DS. В общем случае файл располагается в /usr/lib/ecss/ecss-ds/lib/lpm_storage-<ВЕРСИЯ ПОДСИСТЕМЫ>/priv/x64/librtpkcs11ecp.so
Для проверки можно использовать общую команду pkcs11-tool --module $(find /usr/lib/ecss/ecss-ds/lib/ -name librtpkcs11ecp.so | head -n1) -L
Перейдите в CLI - CoCon:
ssh admin@localhost -p 8023
ssh admin@localhost -p 8023 The authenticity of host '[localhost]:8023 ([127.0.0.1]:8023)' can't be established. RSA key fingerprint is SHA256:/reVfo2jbltLDwNpZbiLvibXBwaWJbfSChd1M7wm1nc. This key is not known by any other names Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '[localhost]:8023' (RSA) to the list of known hosts. admin@localhost's password: password
Проверьте состояние системы:
/system-status Checking... ┌─┬───────────────┬───────────────────────────┬───────────────┬────────────┬───────┐ │ │ Node │ Release │ Erlang nodes │Mnesia nodes│Uptime │ ├─┼───────────────┼───────────────────────────┼───────────────┼────────────┼───────┤ │ │ds1@ecss1 │ecss-ds-3.17.1.0.1656 │ds1@ecss1 │ds1@ecss1 │27m 28s│ │ │mycelium1@ecss1│ecss-mycelium-3.17.1.0.1656│mycelium1@ecss1│not running │27m 29s│ └─┴───────────────┴───────────────────────────┴───────────────┴────────────┴───────┘
Чтобы узлы системы смогли встать в работу, надо сконфигурировать систему указав имена хостов на которых развёрнуты ecss-сервисы.
Команда в коконе: /system/clusters/set [<host1>].
В примере кластера из 2-х хостов (имя хоста ecss1 и ecss2) выполнить команду :
/system/clusters/set [ecss1]
Выйти из CoCon ("exit"),
Перезапустить ecss сервисы командой:
sudo systemctl restart ecss-core ecss-pa-sip ecss-ds ecss-mediator ecss-mycelium
Далее необходимо загрузить паспорт и лицензии в систему:
/cluster/storage/ds1/licence/set-passport <ssw passport>
/cluster/storage/ds1/licence/add <ssw licence>
Выйдите из CoCon ("exit")
И перезапустите сервисы ecss-ds и ecss-mycelium и запустите остальные сервисы на хосте:
sudo systemctl restart ecss-mycelium
sudo systemctl restart ecss-ds
sudo systemctl start ecss-core ecss-pa-sip ecss-mediator
Выполнить проверку лицензий, для этого зайти в CoCon :
ssh admin@localhost -p8023
Проверить наличие лицензией:
/cluster/storage/ds1/licence/list-licence
Видим активную лицензию №1 (не ECSS DEFAULT)
/cluster/storage/ds1/licence/list-licence ┌──┬───────────────────┬────────────────┬──────┬────────────────────────────────────────────┬────────────────────┬────────────┐ │Id│Creation date(UTC) │ SSW ID │Active│ Description │Expiration date(UTC)│ Time left │ ├──┼───────────────────┼────────────────┼──────┼────────────────────────────────────────────┼────────────────────┼────────────┤ │1 │31.10.2024 14:16:00│ECSS 010070 │* │Eltex SC softswitch │31.12.2025 23:59:59 │112d 21h 31m│ │0 │ │ECSS DEFAULT │ │Default licence │ │ │ └──┴───────────────────┴────────────────┴──────┴────────────────────────────────────────────┴────────────────────┴────────────┘
в случае если получили такую ошибку :
проверить имя хоста, командой cat /etc/hostname
в случае имени хоста отличного от ecss1 заменить на ecss1, выполнив команду sudo nano /etc/hostname
Выйдите из CoCon ("exit").
Добавление услуг
Добавление всех услуг указных в лицензии:
/cluster/storage/ds1/ss/install ds1@ecss1 ss_* Successfully installed: /var/lib/ecss/ss/ss_dnd.xml Successfully installed: /var/lib/ecss/ss/ss_clir.xml ... Successfully installed: /var/lib/ecss/ss/ss_chunt.xml
Выйти из CoCon ("exit").
Так же требуется выполнить конфигурацию для Sip адаптера , выполнив следующую команду:
sudo systemctl edit ecss-pa-sip.service
Добавить в конфигурационный файл следующие данные:
[Service] LimitNOFILE=65536
Перезагрузите конфигурацию
sudo systemctl daemon-reload
Актуализировать конфигурационный файл, выполнив перезагрузку сервера:
sudo reboot
Установка остальных пакетов ecss и их настройка
Установка пакета ecss-restfs и его настройка
sudo apt install -y ecss-restfs
Установка ecss-restfs. В ходе установки нужно будет ответить на ряд вопросов для создания необходимых конфигурационных файлов. Также инсталлятор предложит установить и настроить пакет Text2speech от Yandex.
| Вопросы ecss-restfs | Ответы для ecss1 | Пример |
|---|---|---|
| Хотите ли вы использование функции Text To Speeh (Use TTS service) | No (значение по умолчанию) | |
| Хотите настроить сервис телефонной книги (Configure phone book) | No (значение по умолчанию) | |
| Хотите настроить сервис распознавания речи (Configure speech recognition service) | No (значение по умолчанию) | |
| Ничего не выбирать | Ok (необходимо выбрать) |
после установки пакета ecss-restfs проверьте наличие wav файлов авто-информатора в директории /var/lib/ecss/restfs/system/sounds/ командой:
ls -la /var/lib/ecss/restfs/system/sounds/
наличие wav файлов в указной выше директории говорит о корректности установки пакета ecss-restfs.
Проверить доступность этих файлов извне, для этой проверки выполним команду:
wget http://ecss1:9990/system/sounds/ai_you.wav
wget http://ecss1:9990/system/sounds/ai_you.wav --2025-09-16 08:27:36-- http://ecss1:9990/system/sounds/ai_you.wav Распознаётся ecss1 (ecss1)… 10.0.10.40 Подключение к ecss1 (ecss1)|10.0.10.40|:9990... соединение установлено. HTTP-запрос отправлен. Ожидание ответа… 200 OK Длина: 11670 (11K) [audio/x-wav] Сохранение в: «ai_you.wav» ai_you.wav.1 100%[========================================================================================>] 11,40K --.-KB/s за 0s 2025-09-16 08:27:36 (81,5 MB/s) - «ai_you.wav» сохранён [11670/11670]
проверочные файлы можно удалить
rm ai_you.wav
Установка media и web пакетов ecss и их настройка
sudo apt install -y ecss-media-server ecss-web-conf
Для медиасервера (ecss-media-server/MSR) возможно начальное конфигурирование с записью параметров в файл конфигурации,
для этого нужно провести конфигурацию transport bind-addr,mcc bind-addres:
| Вопросы ecss-media-server | Ответы для ecss1 | Пример |
|---|---|---|
| [ MSR SIP ] Введите bind-ip адрес (Enter) | 10.0.20.40 (необходимо ввести) | |
| [MSR Control-Channel] Введите bind-ip-адрес | 10.0.20.40 (необходимо ввести) |
Web-конфигуратор позволяет сделать управление системой более наглядным и комфортным. Установка web-конфигуратора не является обязательной, но рекомендуется.
Также при установке пакета ecss-web-conf автоматически устанавливается пакет ecss-subsriber-portal-ui. Приложение "Портал абонента" системы ECSS-10 позволяет абонентам системы самостоятельно управлять услугами, просматривать информацию по совершенным вызовам, активным конференциям, а также настраивать собственные IVR-скрипты для входящих вызовов. Описание работы веб-конфигуратора приведено в разделе "Портал абонента".
| Вопросы ecss-web-conf | Ответы для ecss1/ecss2 | Пример |
|---|---|---|
| Хотите ли вы использовать стандартные настройки? | Yes (значение по умолчанию) |
После формирования конфигураций по умолчанию переходим в директорию, в которой находятся файлы конфигурации и производим их проверку:
cd /etc/ecss/ecss-media-server/
cat /etc/ecss/ecss-media-server/config.xml
Конфигурация для msr: файл - config.xml, в директории conf.d файл default.xml.
По своей сути default.xml — это дополнение config.xml, которое определяет секцию аккаунтов. Это сделано для того, чтобы после обновлений пакета данная конфигурация оставалась неизменной. Вид config.xml представлен здесь: файл конфигурации.
<?xml version="1.0" encoding="utf-8"?>
<config date="02:30:33 07.12.2023">
<general log-level="3" log-rotate="yes" max-calls="8192" max-in-group="512" load-sensor="media" load-delta="10" calls-delta="100" spool-dir-size="100M" log-name="msr.log" log-path="/var/log/ecss/media-server" use-srtp="disabled" enable-ice-transport="no" ice-update="no" aggressive-ice="yes" stun-server="" suspicious-mode="no"/>
<transport bind-addr="10.0.20.40" port="5040" transport="udp+tcp"/>
<!-- By default configured public TURN-server -->
<turn-server use-turn="no" host="numb.viagenie.ca" user="webrtc@live.com" password="muazkh"/>
<media mixer-clock-rate="8000" use-vad="no" cng-level="0" jb-size="60" rtcp-timeout="0" rtp-timeout="350" udp-src-check="no" cn-multiplier="3" port-start="12000" port-range="2048" tias-in-sdp="no" thread-cnt="2" vid-enc-threads="2" vid-dec-threads="2" video-conf-layout="evenly" keyframe-interval="1000" vid-decode-delay="100" silence-threshold="-30" dtmf-flash-disable="no" video-dscp="0" other-dscp="0" dummy-video-src="/usr/share/ecss-media-server/video/dummy_video.yuv" video-enc-width="640" video-enc-height="360" finalsilence="1000" rtcp-stat-dump="yes" silent-codec-switch="yes"/>
<codec pcma="1" pcmu="2" ilbc="0" gsm="0" g722="3" g726="0" g729="0" speex="0" l16="0" g7221="0" opus="0" h264="1" h263-1998="2" t38="1" tel-event-pt="0"/>
<accounts>
<!-- <dynamic msr_name="msr.name"
realm="sip:127.0.0.1:5000"
dtmf_mode="rfc+inband+info"
auth_name="user"
auth_password="password" /> -->
</accounts>
<pbyte>
<mcc bind-addr="10.0.20.40" port="5700"/>
</pbyte>
<conf_dir path="/etc/ecss/ecss-media-server/conf.d"/>
<rtp>
<auto addr-v4=""/>
</rtp>
</config>
По умолчанию после инсталляции ECSS-10 активизирует только кодеки — pcma, pcmu, g722, h264, h263-1998, t38. Остальные имеют статус =0 = выкл. Если требуется активировать остальные кодеки, в редакторе nano измените приоритет с 0 на цифру приоритета (уровень приоритета не должен повторятся для сервиса audio/video/fax)
sudo nano /etc/ecss/ecss-media-server/config.xml
строчку -
<codec pcma="1" pcmu="2" ilbc="0" gsm="0" g722="3" g726="0" g729="0" speex="0" l16="0" g7221="0" opus="0" h264="1" h263-1998="2" t38="1" tel-event-pt="0"/>
привести к виду -
<codec pcma="1" pcmu="2" ilbc="6" gsm="4" g722="3" g726="11" g729="5" speex="7" l16="8" g7221="9" opus="10" h264="1" h263-1998="2" t38="1" tel-event-pt="0"/>
Недопустимо указывать у разных кодеков одинаковый приоритет, для примера g722="5" g729="5". В этом случае media-server не сможет работать корректно.
За исключением "0" - выключено.
Рассмотрим секцию аккаунтов (файл default.xml):
cat /etc/ecss/ecss-media-server/conf.d/default.xml
После инсталляции пакетов в фале будет указан ip-add 127.0.0.1.
<?xml version="1.0"?>
<config>
<accounts>
<dynamic msr_name="msr.ecss1" realm="sip:127.0.0.1:5000" dtmf_mode="rfc+inband+info" auth_name="user" auth_password="password"/>
</accounts>
</config>
Требуется указать в конфигурации, реальный IP-add.
Необходимо привести содержимое файла к виду указанному снизу (в примере ecss1 имеет IP-add 10.0.20.40):
sudo nano /etc/ecss/ecss-media-server/conf.d/default.xml
| Настройка msr для ecss1 (/etc/ecss/ecss-media-server/conf.d/default.xml) |
|---|
Проверить на корректность данных. <?xml version="1.0"?>
<config>
<accounts>
<dynamic msr_name="msr.ecss1" realm="sip:10.0.20.40:5000" dtmf_mode="rfc+inband+info" auth_name="user" auth_password="password">
<via dynamic-ifaces="no">
<iface name="net.20" ip="10.0.20.40"/>
</via>
</dynamic>
</accounts>
</config>
|
Указываем текущие настройки, согласно которым происходит регистрация msr на core.
Основными параметрами здесь являются: msr_name и realm:
- msr_name — параметр, определяющий название msr. (рекомендуется задавать msr. и к какому хосту он принадлежит, например msr.ecss1);
- realm — определяет адрес для регистрации на ядре. Точка входа по умолчанию — порт 5000.
После изменения конфигурации файлов /etc/ecss/ecss-media-server/config.xml и /etc/ecss/ecss-media-server/conf.d/default.xml необходимо выполнить перезапуск сервиса ecss-media-server, чтобы изменения вступили в силу, следующей командой:
sudo systemctl restart ecss-media-server
Дальнейшая настройка
snpmd
Настройка SNMP описана в разделе "Управление и мониторинг по протоколу SNMP".
Настройка безопасности. SSH
Выполните настройку сервера SSH:
sudo nano /etc/ssh/sshd_config
Укажите в конфигурационном файле порт и адрес, по которому можно обратиться к серверу:
| Настройка ssh для ecss1 (/etc/ssh/sshd_config) |
|---|
# This is the sshd server system-wide configuration file. See # This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin # The strategy used for options in the default sshd_config shipped with Port 2000 <...> |
Перезапустите ssh:
sudo systemctl restart ssh.service
Перезагрузка хоста
sudo reboot










































