Всем привет! С выходом поддержки TR069 в версии 6.38 я не смог найти много документации по настройке ACS-сервера для работы с Mikrotik. После нескольких попыток и ошибок мне удалось запустить рабочую лабораторную среду, и я решил поделиться своими шагами для тех, кому это интересно. Обратите внимание, что эта настройка строго для лабораторных целей и имеет серьёзные пробелы в безопасности, поэтому для рабочей среды я настоятельно рекомендую следовать инструкциям из и , когда будете переходить в производство.
Установка FreeACS
FreeACS установлен на Ubuntu 14.04.5 LTS (GNU/Linux 3.13.0-107-generic x86_64) в виртуальной машине. Во время установки скрипта возникли некоторые проблемы, поэтому я добавил несколько шагов для ручной установки некоторых зависимостей.
Установите tomcat7, Java и MySQL 5.5
sudo apt-get update
sudo apt-get install tomcat7
sudo apt-get install default-jre
sudo apt-get install mysql-server-5.5
Скачайте и запустите скрипт установки FreeACS
cd ~ && wget
chmod 755 install-or-update-freeacs-ubuntu.sh && sudo ./install-or-update-freeacs-ubuntu.sh
(Полагаю, скрипт пытается установить последнюю версию MySQL, а не 5.5, что приводит к ошибкам пре-проверки, поэтому мы устанавливаем MySQL 5.5 вручную.)
Дальше выполняем шаги из . Я пропустил некоторые шаги и немного изменил другие, поэтому ниже моя версия.
a) Перезапустите MySQL
mysql restart
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 из
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 на роутер через extra packages .zip. Для серии hEX можно использовать , для других моделей смотрите . Распакуйте архив, загрузите пакет TR069 на роутер и перезагрузите его.
После перезагрузки добавьте эти строки в конфигурацию. Это позволит вашему CPE связаться с установленным TR069 сервером, а также обеспечит постоянный опрос ACS-сервера с указанием уникального UnitID/Username.
\ Установить имя пользователя TR069 равным MAC-адресу Ether1
/system script add name=identity owner=admin policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive source="delay 10; \n:local macaddress [/interface get ether1 mac-address] \n:local tidymac \n \n:for i from=0 to=([:len $macaddress] - 1) do={ \n :local char [:pick $macaddress $i] \n :if ($char = ":") do={ \n :set $char \"\" \n } \n :set tidymac ($tidymac . $char) \n} \n:put $tidymac;
/tr069-client set acs-url=http://<ip_адрес>/tr069 enabled=yes password= periodic-inform-enabled=yes periodic-inform-interval=30s username=$tidymac"
# Понижаем интервал опроса
/system script add name=Inter owner=admin policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive source="/tr069-client set periodic-inform-interval=30s"
/system scheduler add name=UnitID on-event=identity policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon start-time=startup
/system scheduler add interval=5s name=Poll on-event=Inter start-time=startup
Перезагрузите 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.
Установка FreeACS
FreeACS установлен на Ubuntu 14.04.5 LTS (GNU/Linux 3.13.0-107-generic x86_64) в виртуальной машине. Во время установки скрипта возникли некоторые проблемы, поэтому я добавил несколько шагов для ручной установки некоторых зависимостей.
Установите tomcat7, Java и MySQL 5.5
sudo apt-get update
sudo apt-get install tomcat7
sudo apt-get install default-jre
sudo apt-get install mysql-server-5.5
Скачайте и запустите скрипт установки FreeACS
cd ~ && wget
chmod 755 install-or-update-freeacs-ubuntu.sh && sudo ./install-or-update-freeacs-ubuntu.sh
(Полагаю, скрипт пытается установить последнюю версию MySQL, а не 5.5, что приводит к ошибкам пре-проверки, поэтому мы устанавливаем MySQL 5.5 вручную.)
Дальше выполняем шаги из . Я пропустил некоторые шаги и немного изменил другие, поэтому ниже моя версия.
a) Перезапустите MySQL
mysql restart
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 из
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 на роутер через extra packages .zip. Для серии hEX можно использовать , для других моделей смотрите . Распакуйте архив, загрузите пакет TR069 на роутер и перезагрузите его.
После перезагрузки добавьте эти строки в конфигурацию. Это позволит вашему CPE связаться с установленным TR069 сервером, а также обеспечит постоянный опрос ACS-сервера с указанием уникального UnitID/Username.
\ Установить имя пользователя TR069 равным MAC-адресу Ether1
/system script add name=identity owner=admin policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive source="delay 10; \n:local macaddress [/interface get ether1 mac-address] \n:local tidymac \n \n:for i from=0 to=([:len $macaddress] - 1) do={ \n :local char [:pick $macaddress $i] \n :if ($char = ":") do={ \n :set $char \"\" \n } \n :set tidymac ($tidymac . $char) \n} \n:put $tidymac;
/tr069-client set acs-url=http://<ip_адрес>/tr069 enabled=yes password= periodic-inform-enabled=yes periodic-inform-interval=30s username=$tidymac"
# Понижаем интервал опроса
/system script add name=Inter owner=admin policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive source="/tr069-client set periodic-inform-interval=30s"
/system scheduler add name=UnitID on-event=identity policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon start-time=startup
/system scheduler add interval=5s name=Poll on-event=Inter start-time=startup
Перезагрузите 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.
