Установка сервера автоконфигурирования (ACS) для управления по CWMP Wi-Fi маршрутизаторами
Итак, зачем всё это? Для порядка! и автоматизации.
Одна из головных болей провайдера это большой парк абонентских (оконечных) устройств (или даже “зоопарк”). Типичный дешёвый wi-fi роутер имеет небольшой срок ненадёжной службы и привносит с собой достаточно плотное общение абонента со службой технической поддержки оператора.
Чтобы нивелировать коэффициент энтропии в своей сети, снизить число обращений в ТП и повысить качество работы сети, большая часть операторов связи пришли к тому, что ставят “свои” преднастроенные роутеры. Некоторые так же ограничивают права абонента на управление ключевыми настройками маршрутизата.
Список моделей “своих” ограничен, в нём модели прошедшие тестирование специалистами оператора. Таким образом абонент получает гарантированно работающее как нужно CPE и количество жалоб в ТП снижается.
Однако в данном случае приходится тратить ресурсы, человеко-часы на преднастройку что становится дорогим и замедляющим фактором при высоком темпе подключений.
Беспроводные маршрутизаторы на базе операционной системы Wive-NG-HQ позволяют значительно повысить качество предоставляемого абоненту сервиса за счет высокой надежности и производительности. А преднастройку и последующую поддержку можно автоматизировать за счет использования протокола CWMP. Для этого необходимо развернуть сервер автоконфигурации (ACS).
В качестве ACS-сервера будет выступать программное обеспечение GenieACS, это open source продукт, распространяется по лицензии GNU AFFERO GENERAL PUBLIC. Так же, если не обходимо, разработчики за скромную плату оказывают поддержку по развёртыванию, интеграции и работе с SLA. Из проприетарных стоит обратить внимание на Friendly ACS.
Установка.
В качестве операционной системы выступает Debian Linux стабильной ветки.
root@shelter:~$ uname -a Linux shelter 4.19.0-10-amd64 #1 SMP Debian 4.19.132-1 (2020-07-24) x86_64 GNU/Linux
Замечание: так как mongodb и nodejs давно не поддерживают 32 разрядные архитектуры, категорически не рекомендую их использовать.
Замечание2: “не сиди под рутом!”. у автора это одна из пагубных привычек, от которой с переменным успехом избавляется.
Первым делом установим необходимые пакеты. Процедура тривиальная, не требующая каких-то особых комментариев.
root@shelter:~$ aptitude install build-essential zlib1g-dev libssl-dev libreadline7 libyaml-dev sudo unzip redis-server mongodb libsqlite3-dev curl joe tmux ruby
Далее для корректной работы нам нужен NodeJS версии 14, а в stable ветке идёт 10 версии.
У ребят из NodeSource поддерживается репозиторий с различными версиями Node.js. Что бы установить нужную нам свежую версию, подключим архив PPA. Это альтернативный репозиторий, совместимый с apt. NodeSource предоставляет архивы PPA для версий Node с 0.10 и до 12.
Давайте установим РРА. После этого у вас на сервере появится новый репозиторий, и вы сможете установить нужный пакет через apt.
root@shelter:~$ curl -sL https://deb.nodesource.com/setup_12.x -o nodesource_setup.sh
Скачали. запускаем:
root@shelter:~$ bash nodesource_setup.sh
Архив PPA будет добавлен в source-list. После запуска установочного сценария nodesource можно установить пакет nodejs:
root@shelter:~$ apt update root@shelter:~$ apt install nodejs
Пакет nodejs содержит бинарный файл nodejs и npm (потому вам не придётся устанавливать npm отдельно).
Проверяем версию:
root@shelter:~$ node -v v12.8.0
Для отслеживания обновлений npm использует конфигурационный файл в домашнем каталоге. Файл создается при первом запуске npm. Проверяем, что менеджер npm установлен и может использовать требуемый файл:
root@shelter:~$ npm -v 6.10.2
И заключительный шаг, устанавливаем ACS с помощью npm:
root@shelter:~$ npm install -g --unsafe-perm genieacs
Готово. Сервер ACS установлен. Однако он не готов к работе, не может самостоятельно стартовать, писать логи и т.п.

