Tr 069 client что это
Перспективное удаленное управление с помощью TR-069
Мы предлагаем продукты, которые поддерживают TR-069, что позволяет настраивать удаленное управление. Присоедините устройства TP-Link TR-069 к вашей существующей системе или создайте собственную систему ACS для обеспечения высокой масштабируемости в будущем.
Что такое TR-069?
TR-069, также известный как CWMP (CPE WAN Management), представляет собой техническую спецификацию, которая предлагает структурированное удаленное управление клиентским оборудованием. Он использует XML/SOAP для доставки сообщений между сервером автоконфигурации (ACS) и CPE, что сильно упрощает обслуживание. TP-Link рекомендует использовать шифрование SSL/TLS для повышения безопасности соединений.
Первая коммуникация между CPE и ACS.
Полное удаленное управление
Автоконфигурация
При загрузке CPE автоматически запрашивает конфигурацию у ACS. ACS также может инициировать настройку, когда это необходимо. Включение/отключение клиентов от сервисов становится более гибким для интернет-провайдера.
Firmware Upgrade
TR-069 облегчает процесс развертывания новых функций для существующих клиентов. Интернет-провайдеры могут определять версию прошивки на CPE через ACS и одновременно делать ее обновление на клиентских устройствах.
Удаленная диагностика
Поддерживайте надежность своей системы, планируя регулярную диагностику клиентских устройств. TR-069 предоставляет интернет-провайдерам решения для мониторинга состояния и производительности сети их CPE.
Исправление проблем
С TR-069 интернет-провайдеры могут удаленно обнаруживать проблемы в CPE у клиентов. Интернет-провайдеры также могут выполнять важные действия по устранению неполадок и сокращать количество посещений инженеров на места.
Группировка устройств
При управлении множеством подключенных устройств TR-069 предоставляет решения для их группировки и позволяет интернет-провайдерам удобнее организовать работу с CPE.
Совместимые устройства
*Поддерживается со специальной прошивка, за прошивкой обращайтесь в отдел продаж.
** Archer C6 V2 EU/RU/JP/KR, V3 US/BR
*** Archer A6 V2 EU/RU, V3 US/TW
Все маршрутизаторы Wi-Fi
AC1900 Беспроводной двухдиапазонный гигабитный MU-MIMO маршрутизатор
AC1900 Беспроводной двухдиапазонный гигабитный MU-MIMO маршрутизатор
AC1200 Беспроводной двухдиапазонный гигабитный MU-MIMO маршрутизатор
AC1350 Беспроводной двухдиапазонный гигабитный MU-MIMO маршрутизатор
AC1200 Беспроводной двухдиапазонный MU-MIMO маршрутизатор
AC1200 Беспроводной двухдиапазонный MU-MIMO маршрутизатор
AC750 Беспроводной двухдиапазонный маршрутизатор
Беспроводной двухдиапазонный маршрутизатор
N300 Многорежимный беспроводной маршрутизатор
N300 Многорежимный беспроводной маршрутизатор
Показать все 10 Все маршрутизаторы Wi-Fi
Как мне приобрести продукты?
Как подготовиться к развертыванию TR-069 в моей сети?
Для развертывания TR-069 требуются совместимые устройства CPE и ACS. Если вы просто хотите ускорить развертывание, вы можете использовать Agile Config.
Как включить автоконфигурацию на устройствах с TR-069?
Заранее установите адрес ACS, информацию о профиле (имя пользователя и пароль) в клиентских устройствах, для использования автоконфигурации. TP-Link рекомендует использовать Agile Config для эффективного использования ACS.
Предлагает ли TP-Link собственное официальное решение ACS для продуктов TR-069?
Подпишитесь на рассылку Мы с ответственностью относимся к вашим персональным данным. Полный текст политики конфиденциальности доступен здесь.
Что такое клиент TR-069?
CPE/ACS Management Application |
RPC Methods |
---|
SOAP |
HTTP |
SSL/TLS |
TCP/IP |
Конфигурация клиента TR-069 осуществляется путем добавления в build.prop файла следующих полей:
Обратите внимание: все вышеперечисленные поля должны быть закодированы по методу Base64, чтобы данная информация не хранилась в открытом виде. Все поля, кроме “ro.stb.management.s0”, могут быть пустыми. Если поле “ro.stb.management.s0” будет пустым, то сервис закончит свою работу сразу после старта.
Обратите внимание: данные о сервере и другие параметры build.prop файла можно изменить только перепрошив устройство.
Обратите внимание: после сброса STB к заводским настройкам конфигурационные данные клиента TR-069 не стираются. Стираются только логи.
Как происходит подключение STB к ACS?
Обратите внимание: в локальной сети (LAN) сервер может сам инициировать подключение STB, игнорируя интервал подключения равный 60 секунд. Данная возможность настраивается на стороне сервера.
Обновление версии прошивки
Для обновления версии прошивки необходимо загрузить образ с расширением .zip на приставку. Если файл успешно загружен с сервера на STB, Recоvery Manager проводит валидацию файла (проверяет корректность файла и его подпись). В случае успешной загрузки и валидации файла, происходит Reboot in Recovery и попытка прошивки этого файла.
Перезагрузка устройства
После получения приставкой команды reboot, перезагрузка происходит только в том случае, если устройству удается отправить на сервер ответ об успешном выполнении команды reboot. Таким образом обеспечивается избежание циклической перезагрузки устройства. После перезагрузки STB автоматически подключается к серверу.
Отправка файла на устройство
Все файлы, отправленные с сервера на STB, сохраняются в папке Download.
Просмотр логов с устройства
Для возможности просмотра логов с устройства в рекомендованную модель данных клиента добавлено поле DeviceLogs в группе InternetGatewayDevice.DeviceInfo. При отправке лог-файла генерируется два блока:
По умолчанию устройство отправляет запросы на сервер раз в минуту.
Безопасность
Протокол CWMP обеспечивает высокую степень надежности операций по взаимодействию, которые его используют. Протокол CWMP позволяет обеспечить безопасность и конфиденциальность транзакций между STB и ACS, а также предоставляет возможность использования различных уровней аутентификации. Протокол поддерживает такие механизмы безопасности:
В полях “ro.stb.management.s3” и “ro.stb.management.s4” указываются логин и пароль для аутентификации сервера на устройстве. Если данные сервера неверные, устройство игнорирует это соединение. Если данные сервера верные, приставка инициирует соединение с сервером.
Требования к серверной части
Клиент TR-069 может работать с различными реализациями ACS-сервера, поддерживающими стандарт TR-069. Один сервер может обслуживать STB разных типов, на которых установлен клиент TR-069.
Серверная часть работы протокола была реализована и протестирована с помощью GenieACS – программного продукта с открытым исходным кодом, который поддерживает протокол TR-069. В качестве примера все возможные операции рассмотрены c использованием GenieACS.
Удалённое управление через TR-069
Мы поставляем устройства с поддержкой спецификации TR‑069, позволяющей выполнять их кастомизируемое удалённое управление. Легко интегрируйте устройства TP‑Link с поддержкой TR‑069 в текущую систему или создайте собственную систему ACS для масштабирования сети в будущем.
Что такое TR-069?
TR-069 (или CWMP — CPE WAN Management) — это техническая спецификация структурированного удалённого управления абонентским оборудованием (CPE). Для коммуникации между сервером автоматического конфигурирования (ACS) и абонентским оборудованием (CPE) используется XML/SOAP, что упрощает обслуживание. Для повышенной защиты TP‑Link рекомендует использовать шифрование SSL/TLS.
Первичная коммуникация между абонентским оборудованием и ACS.
Полноценное удалённое управление
Автоконфигурирование
При включении абонентское оборудование автоматически запросит настройки у ACS. При необходимости ACS также инициирует применение настроек. Таким образом у провайдера есть контроль над включением/выключением сервиса.
Обновление прошивки
TR-069 помогает распространять новые функции среди текущих абонентов. Через ACS провайдеры могут определять версию прошивки абонентского оборудования и обновлять его прошивку.
Удалённая диагностика
Для профилактики лучше периодически выполнять диагностику системы. TR-069 позволяет провайдерам отслеживать сетевое состояние и производительность абонентского оборудования, чтобы предотвратить утечки в системе.
Устранение неполадок
С помощью TR-069 провайдеры могут удалённо выявлять проблемы в абонентском оборудовании и сократить число выездов мастеров.
Группирование устройств
Если абонентских устройств много, то для упрощения работы с помощью TR‑069 можно выполнить их группирование.
Все Wi-Fi роутеры
AC1900 MU-MIMO гигабитный Wi-Fi роутер
AC1900 MU-MIMO Wi-Fi роутер
AC1200 Гигабитный MU‑MIMO Wi‑Fi роутер
AC1300 Wi-Fi роутер с MU‑MIMO
AC1200 Гигабитный MU‑MIMO Wi‑Fi роутер
AC1200 Wi-Fi роутер с MU‑MIMO
AC1200 Двухдиапазонный Wi‑Fi роутер
AC750 Двухдиапазонный Wi‑Fi роутер
AC750 Двухдиапазонный Wi-Fi роутер
N300 Многорежимный Wi-Fi роутер
N300 Многорежимный Wi‑Fi роутер
Показать все 11 Все Wi-Fi роутеры
Подписаться на рассылку Мы с ответственностью относимся к вашим персональным данным. Полный текст политики конфиденциальности доступен здесь.
These cookies are necessary for the website to function and cannot be deactivated in your systems.
Site Selection Popup
SMB Product Selection System
tp_smb-select-product_scence, tp_smb-select-product_scenceSimple, tp_smb-select-product_userChoice, tp_smb-select-product_userChoiceSimple, tp_smb-select-product_userInfo, tp_smb-select-product_userInfoSimple
__livechat, __lc2_cid, __lc2_cst, __lc_cid, __lc_cst, CASID
VISITOR_INFO1_LIVE, YSC, LOGIN_INFO, PREF, CONSENT, __Secure-3PSID, __Secure-3PAPISID, __Secure-3PSIDCC
Analysis and Marketing Cookies
Analysis cookies enable us to analyze your activities on our website in order to improve and adapt the functionality of our website.
The marketing cookies can be set through our website by our advertising partners in order to create a profile of your interests and to show you relevant advertisements on other websites.
Google Analytics & Google Tag Manager & Google Optimize
_gid, _gat, _gat_global, _ga, _gaexp
Google Ads & DoubleClick
NID, IDE, test_cookie, id, 1P_JAR
fr, spin, xs, datr, c_user, sb, _fbp
_ce.s, _CEFT, _gid, cean, _fbp, ceac, _drip_client_9574608, cean_asoc
_hjKB, _fbp, ajs_user_id, _BEAMER_LAST_UPDATE_zeKLgqli17986, _hjid, _gcl_au, _ga, ajs_anonymous_id, _BEAMER_USER_ID_zeKLgqli17986, _hjAbsoluteSessionInProgress, _hjFirstSeen, _hjIncludedInPageviewSample, _hjTLDTest
Hm_lpvt_33178d1a3aad1dcf1c9b345501daa675, Hm_lvt_33178d1a3aad1dcf1c9b345501daa675, HMACCOUNT_BFESS
lms_analytics, AnalyticsSyncHistory, _gcl_au, liap
TR-069 в Mikrotik. Испытываем Freeacs в качестве сервера автоконфигурации для RouterOS
В данной статье, я попробую пошагово описать процесс установки тестового сервера прекрасного проекта Freeacs до полностью работоспособного состояния, и показать практические приемы для работы с mikrotik: конфигурацию через параметры, выполнение скриптов, обновление, установку доп.модулей и т.д.
Цель статьи — подтолкнуть коллег к отказу от управления сетевыми устройствами с помощью ужасных граблей и костылей, в виде самописных скриптов, Dude, Ansible и пр. И, по этому поводу, вызвать салюты и массовое ликование на площадях.
0. Выбор
Почему freeacs, а не genie-acs, упомянутый в mikrotik-wiki, как более живой?
Потому, что по genie-acs с mikrotik есть публикации испанцев. Вот их pdf и видео с прошлогоднего MUM. Автошаржи на слайдах — это круто, но я бы хотел уйти от концепции написания скриптов, для запуска скриптов, для запуска скриптов…
1. Установка freeacs
Ставить будем в Centos7, а так как устройства передают достаточно много данных, и ACS активно работает с базой данных — жадничать с ресурсами не будем. Для комфортной работы выделим 2 ядра CPU, 4GB RAM и 16GB быстрого хранилища ssd raid10. Я буду ставить freeacs в lxc-контейнере Proxmox VE, а вы можете работать в любом, удобном вам инструменте.
Не забудьте настроить правильное время на машине с ACS.
Система будет тестовая, поэтому не будем мудрить, и просто воспользуемся любезно предоставленным скриптом установки, как есть.
Как только работа скрипта завершится — вы тут же сможете попасть в веб-интерфейс по ip машины, с учетными данными admin/freeacs
Вот такой приятный минималистичный интерфейс, и как здорово и быстро все получилось
2. Первичная настройка freeacs
Базовая единица управления для ACS — это юнит или CPE(Customer Premises Equipment). А самое главное, что нам нужно для управления юнитами — это их Unit Type, т.е. модель оборудования, определяющая совокупность настраиваемых параметров юнита и его ПО. Но пока мы не знаем как правильно завести новый Unit Type, лучше всего будет спросить об этом у самого юнита, включив Discovery Mode.
В продакшн такой режим использовать категорически нельзя, но нам надо скорее завести мотор и посмотреть возможности системы. Все основные настройки хранятся в /opt/freeacs-*. Поэтому, открываем
Кроме того, нам желательно увеличить максимальные размеры файлов, с которыми будут работать nginx и mysql. Для mysql добавляем в /etc/my.cnf строчку
, а для nginx, в /etc/nginx/nginx.conf добавляем
в секцию http. Иначе мы сможем работать с прошивками не более 1М.
Перезагружаем, и мы готовы работать с устройствами.
А в роли устройства(CPE) у нас будет малыш-трудяга hAP AC lite.
Перед тестовым подключением, желательно вручную настроить CPE до минимальной рабочей конфигурации, чтобы параметры, которые вы в будущем захотите конфигурировать, были непустыми. Для роутера минимально можно включить dhcp-клиент на ether1, установить пакет tr-069client и поставить пароли.
3. Подключаем Mikrotik
Все юниты желательно подключать, используя в качестве логина валидный серийный номер. Тогда вам в логах все будет понятно. Кто-то советует использовать WAN MAC — не верьте. Кто-то использует общую для всех пару логин/пасс — обходите их стороной.
Открываем лог tr-069 для мониторинга «переговоров»
Открываем winbox, пукт меню TR-069.
ACS URL: http://10.110.0.109/tr069/prov (заменить на ваш IP)
Username: 9249094C26CB (копируем серийник из system>routerboard)
Password: 123456 (для discovery не нужен, но чтобы был)
Periodic inform interval мы не меняем. Эту настройку мы выдадим через наш ACS
Ниже идут настройки для удаленной инициализации соединения, но с наскока заставить mikrotik с этим работать я не смог. Хотя с телефонами remote request работает «из коробки». Надо будет разбираться.
После нажатия кнопки Apply — в терминале пойдет обмен данными, а в веб-интерфейсе Freeacs можно будет увидеть наш роутер с автоматически созданным Unit Type «hAPaclite».
4. Конфигурируем Mikrotik
Пришла пора скачать руководство по веб-интерфейсу Это руководство 2011 года — как бутыль хорошего, выдержанного вина. Давайте его откроем и оставим подышать.
А сами, в веб-интерфейсе кликнем на карандашик рядом с нашим юнитом и перейдем в режим конфигурации юнита. Выглядит это так:
Кратенько разберем что есть интересного на этой страничке:
Блок Unit configuration
Самый большой и важный блок, где, собственно, задаются и читаются параметры для данного юнита. Сейчас мы видим только самые важные системные параметры, без которых работа ACS с юнитом невозможна. Но мы-то помним, что у нас в Unit Type их — 928. Давайте посмотрим все значения, и решим с чем это все едят у микротика.
4.1 Читаем параметры
В блоке Provisioning нажимаем кнопку Read all. В блоке — красная надпись. Справа появится столбец CPE (current) value. В системных параметрах ProvisioningMode сменился на READALL.
Перезапустите TR-069 client или перезагрузите роутер, и продолжайте обновляйте страничку браузера, пока не получите справа параметры в жизнерадостных серых прямоугольниках
Если кто захотел глотнуть старого выдержанного — этот режим в мануале описан, как 10.2 Inspection mode. Включается и работает немного не так, но суть описана вполне
Режим READALL сам выключится через 15 минут, а мы попробуем разобраться что же тут есть полезного, и что можно подправить «на лету», пока мы в этом режиме.
Можно изменить IP-адреса, включать/отключать интерфейсы, правила фаервола, которые с комментариями (иначе полный бардак), вай-фай и так по мелочи.
То есть, вменяемо конфигурировать mikrotik только средствами TR-069 пока нельзя. Но можно весьма неплохо мониторить. Доступна статистика по интерфейсам и их статус, свободная память и т.д.
4.2 Доставляем параметры
Давайте теперь попробуем доставить параметры в роутер, через tr-069, «естественным» путем. Первой жертвой станет Device.DeviceInfo.X_MIKROTIK_SystemIdentity. Находим его в параметрах юнита All. Как видно — он не задан. Это значит, что любой юнит может сам по себе иметь любой Identity. Хватит это терпеть!
Тыкаем галку в столбце create, задаем имя Mr.White и тыкаем кнопку Update parameters. Что будет дальше вы уже догадались. При очередном сеансе связи со штабом, роутер должен поменять свой Identity.
Но нам этого мало. Такой параметр, как Identity, хорошо всегда иметь под рукой при поиске нужного юнита. Тыкаем в имя параметра и ставим там галки Display(D) и Searchable (S). Ключ параметра меняется на RWSD (Помните, имена и ключи задаются на самом высоком уровне Unit Type)
Значение теперь не только отображается в общем списке поиска, но и доступно для поиска в Support > Search > Advanced form
Инициируем provision и смотрим на Identity. Здравствуйте, Mr.White! Теперь вы не сможете сами сменить личину, пока работает tr-069client
4.3 Исполняем скрипты
Раз уж мы выяснили, что без них никак, — давайте их исполнять.
Но прежде, чем приступать к работе с файлами — нам надо поправить директиву public.url в файле /opt/freeacs-tr069/config/application-config.conf
У нас ведь до сих пор тестовая конфигурация, установленная одним скриптом. Не забыли?
Но то, что открывается у нас сейчас — принадлежит Unit Type, т.е. глобально ко всем роутерам hAP ac lite, будь то роутер филиала, хотспот или капсман. Нам такой высокий уровень пока не нужен, поэтому, прежде, чем работать со скриптами и файлами — следует создать профиль. Можно это себе назвать, как «должность» устройства.
Давайте сделаем нашего малыша сервером времени. Достойная должность c отдельным пакетом ПО и небольшим количеством параметров. Идем в Easy Provisioning > Profile > Create Profile и создаем в Unit Type:hAPaclite профиль timeserver. Параметров у нас в дефолтном профиле не было, поэтому и копировать нечего Copy parameters from: «don’t copy. »
Тут параметров пока нет совсем, но можно будет задать те, что мы позже захотим видеть на наших серверах времени, слепленных из hAPaclite. Например, общие адреса NTP-серверов.
Перехотим в конфигурацию юнита, и перемещаем его в профиль timeserver
А чтобы сразу было видно результат — добавим роутеру vlan на ether1
Вбиваем, нажимаем Upload и готово. Наш скрипт vlan1.alter ждет своего часа.
Ну что, погнали? Нет. Надо еще добавить для нашего профиля группу. Группы не входят в иерархию оборудования, но нужны для поиска юнитов в UnitType или Profile и обязательны для исполнения скриптов через Advanced Provisioning. Обычно, группы связаны с локациями, и имеют вложенную структуру. Давайте сделаем группу Russia.
Представляете мы только что смогли сузить поиск с «Все серверы времени мира на hAPaclite» до «Все серверы времени России на hAPaclite». Там еще огромный пласт всего интересного с группами, но нам некогда же. Погнали уже в скрипты.
Поскольку мы как-никак в Advanced режиме, то тут можно указать кучу разных условий начала задания, поведения при ошибках, повторов и таймаутов. Рекомендую это все прочитать в руководствах или позже обсудим при внедрении в продакшн. Пока лишь поставим n1 в Stop rules, чтобы задание остановилось, как только выполнится на нашем 1 юните.
Заполняем необходимое, и осталось только запустить!
Нажимаем START и ждем. Сейчас резво побежит счетчик убитых недоотлаженным скриптом устройств! Нет, конечно. Такие задания даются надолго, и в этом их отличие от скриптов, Ansible и проч. Юниты сами обращаются за заданиями по расписанию или по мере появления в сети, ACS ведет учет какие юниты уже получили задания, и как они завершились, и записывает это в параметры юнита. В нашей группе 1 юнит, а будь их 1001 — админ запустил бы это задание и уехал на рыбалку
Ну же. Перезагрузите уже роутер или перезапустите TR-069 клиент. Все должно пройти гладко и Mr.White получит новый vlan. А наше задание по Stop rule перейдет в статус PAUSED. То есть, его еще можно будет перезапустить или изменить. Если нажать FINISH — задание спишется в архив
4.4 Обновляем ПО
Это очень важный пункт, так как прошивка микротика модульная, но добавление модулей не меняет общую версию прошивки устройства. Наш ACS нормальный, и к такому не привык.
Сейчас мы сделаем в стиле quick&dirty, и запихнем модуль NTP в общую прошивку сразу, но как только на устройстве обновится версия — мы не сможем добавить еще модуль таким же путем.
В продакшн такой трюк лучше не применять, и устанавливать необязательные для Unit Type модули только скриптами.
Итак, первое, что нам нужно сделать — это подготовить пакеты ПО нужных версий и архитектуры, и положить на какой-то доступный веб-сервер. Для теста пойдет любой, до которого сможет дотянуться наш Mr.White, а для продакшн лучше собрать автообновляемое зеркало нужного ПО, которое не страшно выставить в web
Важно! Не забывайте всегда включать в обновления пакет с tr-069client!
Итак, у нас должно быть три npk-файла, доступных по http. У меня вышло так
Теперь это нужно оформить в xml-файл с FileType=«1 Firmware Upgrade Image», который мы скормим микротику. Имя пусть будет ros.xml
Делаем по инструкции из mikrotik-wiki:
Бросается в глаза нехватка Username/Password для доступа к серверу загрузки. Можно либо попробовать вписать это как в пункте A.3.2.8 протокола tr-069:
Или спросить напрямую у официалов микротика, как и о максимальной длине пути до *.npk
Выбираем для загрузки наш xm-файл и готово.
Теперь у нас есть масса способов обновить устройство. Через Wizard в главном меню, через Advanced Provisioning и задания с типом SOFTWARE, или просто зайти в конфигурацию юнита и нажать Upgrade. Выберем самый простой путь, а то и так статья распухла.
Нажимаем кнопку, инициируем provision и готово. Тестовая программа завершена. Теперь мы умеем делать с mikrotik больше.
5. Заключение
Когда начинал писать, хотел сначала описать подключение ip-телефона, и на его примере объяснить как классно может быть, когда tr-069 работает легко и без усилий. Но потом, по мере продвижения и копания в материалах, подумал, что тому, кто подключил микротик — уже никакой телефон не будет страшен для самостоятельного изучения.
В принципе Freeacs, который мы тестировали — уже можно применять в продашн, но для этого надо настроить безопасность, SSL, надо настроить микротики для автоконфигурации после reset, надо отладить корректное добавление Unit Type, разобрать работу webservices и fusion shell, и еще много чего. Пробуйте, изобретайте, и пишите продолжение!
Всем, спасибо за внимание! Буду рад поправкам и комментариям!
Список использованных материалов и полезные ссылки:
Просматривая информацию про проекту FreeACS, наткнулся на очень интересный патч, предложенный польскими ребятами, у которых FreeACS обслуживает 20К устройств.
Патч сделан для разных версий hardware, но в случае микротиков он позволит создавать несколько Unit Type для одинаковых роутеров с разным набором модулей ПО.
Например, hAPaclite-ntp, hAPaclite-ups и т.д. И, соответственно, обойти ограничение «одна модель == одна прошивка»