Всем привет! С выходом поддержки TR069 в версии 6.38 я не смог найти много документации по настройке ACS-сервера для работы с Mikrotik. После нескольких попыток и ошибок мне удалось запустить рабочую лабораторную среду, и я решил поделиться своими шагами для тех, кому это интересно. Обратите внимание, что эта настройка строго для лабораторных целей и имеет серьёзные пробелы в безопасности, поэтому для рабочей среды я настоятельно рекомендую следовать инструкциям из http://wiki.mikrotik.com/wiki/Manual:TR069-client и http://wiki.mikrotik.com/wiki/Tr069-best-practices, когда будете переходить в производство.
Установка FreeACS FreeACS установлен на Ubuntu 14.04.5 LTS (GNU/Linux 3.13.0-107-generic x86_64) в виртуальной машине. Во время установки скрипта возникли некоторые проблемы, поэтому я добавил несколько шагов для ручной установки некоторых зависимостей.
Скачайте и запустите скрипт установки FreeACS cd ~ && wget http://freeacs.com/download/install-or-update-freeacs-ubuntu.sh chmod 755 install-or-update-freeacs-ubuntu.sh && sudo ./install-or-update-freeacs-ubuntu.sh (Полагаю, скрипт пытается установить последнюю версию MySQL, а не 5.5, что приводит к ошибкам пре-проверки, поэтому мы устанавливаем MySQL 5.5 вручную.)
b) Измените конфигурацию tomcat7 nano /var/lib/tomcat7/conf/catalina.properties (найдите строку “common.loader” и добавьте в конец “,${catalina.base}/common,${catalina.base}/common/*.properties”, итог должен выглядеть так: common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar,${catalina.home}/common/classes,${catalina.home}/common/*.jar,${catalina.base}/common,${catalina.base}/common/*.properties)
nano /etc/init.d/tomcat7 (найдите строку, начинающуюся с “# Required-Start:” и добавьте “$mysql” в конец)
nano /var/lib/tomcat7/common/xaps-stun.properties (найдите строчку “primary.ip =” и укажите публичный/внешний IP вашего сервера)
c) Перезапустите tomcat tomcat7 restart
d) Проброс портов и настройка файрвола Порты надо пробросить на локальный адрес вашей Ubuntu-машины (подробнее в разделе 5.3 из http://freeacs.com/download/Fusion%20Installation.pdf): 80 TCP 8080 TCP 443 TCP 69 TCP 3306 TCP 3479 UDP 3480 UDP 9116 UDP
e) Запустите браузер и перейдите на http://<ip_адрес>:8080/web Если видите страницу входа, войдите с логином admin и паролем xaps. Если всё успешно, советую сразу сменить дефолтные данные для входа через GUI в разделе permission сверху.
После перезагрузки добавьте эти строки в конфигурацию. Это позволит вашему CPE связаться с установленным TR069 сервером, а также обеспечит постоянный опрос ACS-сервера с указанием уникального UnitID/Username.
\ Установить имя пользователя TR069 равным MAC-адресу Ether1
Перезагрузите CPE — теперь вы сможете управлять устройством через FreeACS.
Управление CPE Зайдите в FreeACS, перейдите в support → search и нажмите кнопку поиска. Ваше новое устройство появится с MAC-адресом как Unit ID. Теперь можно управлять роутером через TR069.
Можно создавать профили через easy provisioning → profile для конфигураций клиентов с параметрами TR069. Эти профили можно отправлять на ваше CPE, находя устройство через support → search → unit configuration.
Запуск скриптов Router OS a) Создайте конфигурацию через CLI RouterOS, экспортируйте в текстовый файл и сохраните с расширением filename.alter. Загрузите файл через “Files & Scripts” в FreeACS, укажите тип файла TR069_Script. b) Перейдите в “advanced provisioning” → job → create new job Тип: TR069 Script Группа: All profiles (или создайте группу клиентов через advanced provisioning group) Скрипт: выберите загруженный скрипт c) advanced provisioning → job → job overview, выберите созданную задачу и нажмите start — скрипт отправится на ваше CPE через TR069.
14.04 — довольно старая версия, и скрипт установки FreeACS, похоже, работает только с sql5.5, он не совместим с 16.04 (LTS) или текущей версией Ubuntu.
Я настроил сервер на Ubuntu 14.04 с freeACS без проблем, но не могу загрузить никакую конфигурацию. Сервер постоянно выдает ошибку передачи файла. Перезагрузить RB могу, сбросить до заводских настроек тоже, но даже загрузить конфигурацию или прошивку не получается. RB работает на версии 3.8.1, но у него нет отладки или логов для TR069. Пробовал версию 6.39rc20 (Release candidate) — тоже не работает. Сейчас собираюсь настроить сервер GenieACS для теста. Но мне кажется, MK нужно серьезно доработать TR069-клиент.
juliokato, сейчас версия 16.04 — это LTS, и можно найти 14.04, но я не уверен в безопасности трёхлетней версии и приложений. Я настраиваю сервер GenieACS для тестирования. Но, думаю, MK нужно прокачать TR069-клиент получше. Какие ещё «лучшие» варианты тебе нужны?
Кстати, один из моих лабораторных роутеров обновился с 38.1 до 39rc20 через tr069, и клиент Tr069 перестал работать. Показывает, что включён, но больше не отправляет ни одного 1 Boot. Автор предыдущего поста, вероятно, думает, что MT должен разработать лучший ACS. Мы не нашли достаточно гибкий open source ACS, да и не было большого дела сделать собственную серверную часть.
Алексей, пожалуйста, убедись, что у тебя та же проблема с последней rc-версией, и обнови нас (support@mikrotik.com) с файлом вывода поддержки, когда клиент перестанет работать корректно. У нас нет планов разрабатывать собственный TR069 сервер.
Я также понимаю, что FreeACS развивается не так быстро, как нам хотелось бы. GenieACS идёт по тому же пути. Но это проблема разработчиков этих продуктов. Я сейчас ищу другие ACS-серверы для оценки. Что я ожидаю от Mikrotik: нам нужен TR069-клиент, который умеет создавать лог-сообщения и/или отладочную информацию. Мы это очень хорошо понимаем.
juliokato, мы только что сделали начальную реализацию TR-069, эта функция сейчас активно дорабатывается, и скоро появится много интересных возможностей. Спасибо за запрос на функцию!
Я прекрасно понимаю, что MT не собирается развивать ACS. Я как можно скорее отправлю supout. Я подумываю о разработке коммерческого ACS, предназначенного для MT RoS.
Я пока не писал никаких руководств, но прошёлся по скрипту установки Ubuntu для FreeACS и установил его на CentOS 7.3.1611 (tomcat7). Похоже, в моей тестовой лаборатории всё работает отлично через http и https с версией 6.38.1 (SElinux в режиме Permissive). Это не связано напрямую с FreeACS, а скорее с TR069 в определённом смысле. Можешь подсказать, какая лучшая практика для реализации упрощённой темы (skin) в Configure Script? Я пытаюсь скачать созданный skin с помощью команды «fetch». К сожалению, /tool fetch не работает нормально под пользователем «*sys», которому принадлежит задача расписания из Configure Script.
Есть кто-нибудь, кто успешно запустил MikroTik CPE с GenieACS? У меня сейчас две проблемы: 1. Не все параметры устройства отображаются, например, на странице обзора много пустых полей, а в расширенном виде видны только стандартные заданные параметры. Читал, что возможно потребуется настройка на стороне сервера, так как выражение параметров может отличаться. 2. Как указано на http://wiki.mikrotik.com/wiki/Manual:TR069-client, я пытался отправить скрипт на CPE через “3.Vendor configuration file” — это обычный .txt файл с рабочей командой ROS Terminal, которому поменял расширение на .alter. При отправке файл показывает, что операция прошла успешно, но изменений в конфигурации CPE нет.
Кстати, в последних RC-версиях были добавлены отдельные опции для TR069: *) log — добавлена тема tr069; *) tr069-client — добавлена поддержка диагностики traceroute;