TR-069 di Mikrotik. Menguji Freeacs sebagai server konfigurasi otomatis untuk RouterOS

Pada artikel ini, saya akan mencoba menjelaskan langkah demi langkah proses instalasi server uji dari sebuah proyek hebat Freeac ke keadaan berfungsi penuh, dan menunjukkan teknik praktis untuk bekerja dengan mikrotik: konfigurasi melalui parameter, eksekusi skrip, pembaruan, pemasangan modul tambahan, dll.

Tujuan artikel ini adalah untuk mendorong rekan-rekan agar berhenti mengelola perangkat jaringan dengan menggunakan garu dan kruk yang buruk, dalam bentuk skrip yang ditulis sendiri, Dude, Ansible, dll. Dan, pada kesempatan ini, menimbulkan kembang api dan kegembiraan massal di dunia. kotak.

0. Pilihan

Mengapa freeacs dan bukan genie-acs disebutkan di mikrotik-wiki, bagaimana lebih hidup?
Karena ada publikasi bahasa Spanyol tentang genie-acs dengan mikrotik. Di sini mereka pdf ΠΈ Video dari MUM tahun lalu. Karikatur otomatis pada slide memang keren, tapi saya ingin melepaskan diri dari konsep menulis skrip, menjalankan skrip, menjalankan skrip...

1. Instal freeac

Kami akan menginstal di Centos7, dan karena perangkat mengirimkan banyak data, dan ACS secara aktif bekerja dengan database, kami tidak akan serakah dengan sumber daya. Untuk kenyamanan kerja, kami akan memilih 2 inti CPU, RAM 4GB, dan penyimpanan cepat ssd raid16 10GB. Saya akan menginstal freeacs di wadah Proxmox VE lxc, dan Anda dapat bekerja di alat apa pun yang nyaman bagi Anda.
Jangan lupa untuk mengatur waktu yang tepat pada mesin dengan ACS.

Sistem ini akan menjadi sistem uji coba, jadi kami tidak akan bingung dan hanya menggunakan skrip instalasi yang disediakan apa adanya.

wget https://raw.githubusercontent.com/freeacs/freeacs/master/scripts/install_centos.sh
chmod +x install_centos.sh
./ install_centos.sh

Segera setelah skrip selesai, Anda dapat langsung masuk ke antarmuka web dengan ip mesin, dengan kredensial admin/freeacs

TR-069 di Mikrotik. Menguji Freeacs sebagai server konfigurasi otomatis untuk RouterOS
Ini adalah antarmuka minimalis yang bagus, dan betapa keren dan cepatnya segala sesuatunya

2. Pengaturan awal freeacs

Unit manajemen dasar ACS adalah unit atau CPE (Customer Premises Equipment). Dan hal terpenting yang kita perlukan untuk mengelola unit adalah Tipe Unitnya, yaitu. model perangkat keras yang menentukan sekumpulan parameter yang dapat dikonfigurasi untuk unit dan perangkat lunaknya. Namun sampai kita mengetahui cara mendapatkan Tipe Unit baru dengan benar, sebaiknya tanyakan hal ini kepada unit itu sendiri dengan mengaktifkan Mode Penemuan.

Dalam produksi, mode ini sama sekali tidak mungkin digunakan, tetapi kita perlu menghidupkan mesin sesegera mungkin dan melihat kemampuan sistem. Semua pengaturan dasar disimpan di /opt/freeacs-*. Oleh karena itu, kami buka

 vi /opt/freeacs-tr069/config/application-config.conf 

, kami menemukan

discovery.mode = false

dan ubah menjadi

discovery.mode = true

Selain itu, kami ingin meningkatkan ukuran file maksimum yang dapat digunakan oleh nginx dan mysql. Untuk mysql, tambahkan baris ke /etc/my.cnf

max_allowed_packet=32M

, dan untuk nginx, tambahkan ke /etc/nginx/nginx.conf

client_max_body_size 32m;

ke bagian http. Jika tidak, kami akan dapat bekerja dengan firmware tidak lebih dari 1M.

Kami reboot, dan kami siap bekerja dengan perangkat.

Dan dalam peran perangkat (CPE) kita akan memiliki bayi yang gila kerja hAP AC lite.

Sebelum melakukan pengujian koneksi, disarankan untuk mengkonfigurasi CPE secara manual ke konfigurasi kerja minimum agar parameter yang ingin Anda konfigurasi di masa mendatang tidak kosong. Untuk router, Anda minimal dapat mengaktifkan klien dhcp di ether1, menginstal paket tr-069client dan mengatur kata sandi.

3. Hubungkan Mikrotik

Disarankan untuk menghubungkan semua unit menggunakan nomor seri yang valid sebagai login. Maka semuanya akan menjadi jelas bagi Anda di log. Seseorang menyarankan untuk menggunakan WAN MAC - jangan percaya. Seseorang menggunakan pasangan login/pass yang umum untuk semua orang - lewati saja.

Membuka log tr-069 untuk memantau "negosiasi"

tail -f /var/log/freeacs-tr069/tr069-conversation.log

Buka winbox, item menu TR-069.
URL AC: http://10.110.0.109/tr069/prov (ganti dengan IP Anda)
Nama pengguna: 9249094C26CB (salin serial dari sistem>routerboard)
Kata sandi: 123456 (tidak diperlukan untuk penemuan, tetapi diperlukan)
Kami tidak mengubah interval informasi berkala. Kami akan mengeluarkan pengaturan ini melalui ACS kami

Di bawah ini adalah pengaturan untuk inisialisasi koneksi jarak jauh, tetapi saya tidak dapat mengaktifkan mikrotik dengan cepat. Meskipun permintaan jarak jauh berfungsi langsung dengan telepon. Kita harus mencari tahu.

TR-069 di Mikrotik. Menguji Freeacs sebagai server konfigurasi otomatis untuk RouterOS

Setelah menekan tombol Terapkan, data akan dipertukarkan di terminal, dan di antarmuka web Freeacs Anda dapat melihat router kami dengan Tipe Unit "hAPaclite" yang dibuat secara otomatis.

TR-069 di Mikrotik. Menguji Freeacs sebagai server konfigurasi otomatis untuk RouterOS

Routernya terhubung. Anda dapat melihat Tipe Unit yang dibuat secara otomatis. Pembukaan Easy Provisioning > Unit Type > Unit Type Overview > hAPaclite. Apa yang tidak ada di sana! Parameternya sebanyak 928 (saya memata-matai shellnya). Banyak atau sedikit - kita akan mengetahuinya nanti, tetapi untuk saat ini kita akan melihat sekilas saja. Itulah yang dimaksud dengan Tipe Unit. Ini adalah daftar opsi yang didukung dengan kunci tetapi tanpa nilai. Nilai ditetapkan pada level di bawah ini - Profil dan Unit.

4. Konfigurasi Mikrotik

Saatnya mengunduh panduan antarmuka web Panduan tahun 2011 ini seperti sebotol anggur yang baik dan sudah tua. Mari kita buka dan biarkan bernafas.

Dan kami sendiri, di antarmuka web, klik pensil di sebelah unit kami dan masuk ke mode konfigurasi unit. Ini terlihat seperti ini:

TR-069 di Mikrotik. Menguji Freeacs sebagai server konfigurasi otomatis untuk RouterOS

Mari kita lihat sekilas apa yang menarik di halaman ini:

Blok konfigurasi unit

  • Profil: Ini adalah profil dalam Tipe Unit. Hirarkinya seperti ini: UnitType > Profile > Unit. Artinya, kita bisa membuat, misalnya profil hAPaclite > hotspot ΠΈ hAPaclite > branch, tetapi dalam model perangkat

Blok penyediaan dengan tombol
Petunjuk mengisyaratkan bahwa semua tombol di blok Penyediaan dapat langsung menerapkan konfigurasi melalui ConnectionRequestURL. Tapi, seperti yang saya katakan di atas, ini tidak berhasil, jadi setelah menekan tombol, Anda perlu me-restart klien tr-069 di mikrotik untuk memulai provisi secara manual.

  • Freq/Spread: Berapa kali seminggu untuk mengirimkan konfigurasi Β±% untuk mengurangi beban pada server dan saluran komunikasi. Secara default, biayanya 7/20, mis. setiap hari Β± 20% dan petunjuk bagaimana keadaannya dalam hitungan detik. Belum ada gunanya mengubah frekuensi pengiriman, karena... akan ada gangguan tambahan di log dan pengaturan tidak selalu diterapkan seperti yang diharapkan

Blok riwayat penyediaan (48 jam terakhir)

  • Ceritanya terlihat seperti sebuah cerita, tetapi dengan mengklik judulnya, Anda akan mendapatkan alat pencarian database yang nyaman dengan regexp dan barang.

Blok parameter

Blok terbesar dan terpenting, tempat sebenarnya parameter unit ini disetel dan dibaca. Sekarang kita hanya melihat parameter sistem yang paling penting, yang tanpanya ACS tidak dapat bekerja dengan unit ini. Tapi kami ingat bahwa kami memilikinya di Tipe Unit - 928. Mari kita lihat semua artinya dan putuskan apa yang dimakan semua orang dengan Mikrotik.

4.1 Membaca parameter

Di blok Penyediaan, klik tombol Baca semua. Blok itu memiliki tulisan berwarna merah. Sebuah kolom akan muncul di sebelah kanan Nilai CPE (saat ini).. Pada parameter sistem, ProvisioningMode telah berubah menjadi READALL.

TR-069 di Mikrotik. Menguji Freeacs sebagai server konfigurasi otomatis untuk RouterOS

Dan... tidak akan terjadi apa-apa kecuali pesan di System.X_FREEACS-COM.IM.Message Kick failed at....

Restart klien TR-069 atau reboot router, dan terus segarkan halaman browser hingga Anda mendapatkan parameter di kotak abu-abu ceria di sebelah kanan
Jika ada yang ingin mencicipi yang lama, mode ini dijelaskan dalam manual sebagai mode Inspeksi 10.2. Ini menyala dan bekerja sedikit berbeda, tetapi esensinya dijelaskan dengan cukup baik

TR-069 di Mikrotik. Menguji Freeacs sebagai server konfigurasi otomatis untuk RouterOS

Mode READALL akan mati sendiri setelah 15 menit, dan kami akan mencoba mencari tahu apa yang berguna di sini, dan apa yang dapat diperbaiki dengan cepat saat kami berada dalam mode ini.

Anda dapat mengubah alamat IP, mengaktifkan / menonaktifkan antarmuka, aturan firewall, yang berisi komentar (jika tidak, akan berantakan), Wi-Fi, dan hal-hal kecil lainnya.

Artinya, belum mungkin untuk mengkonfigurasi mikrotik secara wajar hanya dengan menggunakan alat TR-069. Tapi Anda bisa memantau dengan sangat baik. Statistik antarmuka dan statusnya, memori bebas, dll. tersedia.

4.2 Memberikan parameter

Sekarang mari kita coba mengirimkan parameter ke router, melalui tr-069, dengan cara yang "alami". Korban pertama adalah Device.DeviceInfo.X_MIKROTIK_SystemIdentity. Kami menemukannya di parameter unit Semua. Seperti yang Anda lihat, ini belum disetel. Ini berarti bahwa unit mana pun dapat memiliki Identitas apa pun. Cukup menoleransi ini!
Kami menyodok daw di kolom buat, mengatur nama Mr.White dan menyodok tombol Perbarui parameter. Apa yang akan terjadi selanjutnya, Anda sudah bisa menebaknya. Pada sesi komunikasi berikutnya dengan kantor pusat, router harus mengubah Identitasnya.

TR-069 di Mikrotik. Menguji Freeacs sebagai server konfigurasi otomatis untuk RouterOS

Tapi ini tidak cukup bagi kami. Parameter seperti Identitas sebaiknya selalu ada saat mencari unit yang tepat. Kami menyodok nama parameter dan memberi tanda centang Tampilan (D) dan Dapat Dicari (S) di sana. Kunci parameter diubah menjadi RWSD (Ingat, nama dan kunci diatur pada level Tipe Unit tertinggi)

TR-069 di Mikrotik. Menguji Freeacs sebagai server konfigurasi otomatis untuk RouterOS

Nilainya kini tidak hanya ditampilkan dalam daftar pencarian umum, tetapi juga tersedia untuk pencarian Support > Search > Advanced form

TR-069 di Mikrotik. Menguji Freeacs sebagai server konfigurasi otomatis untuk RouterOS

Kami memulai penyediaan dan melihat Identitas. Halo Tuan Putih! Sekarang Anda tidak akan dapat mengubah identitas Anda saat tr-069client sedang berjalan

TR-069 di Mikrotik. Menguji Freeacs sebagai server konfigurasi otomatis untuk RouterOS

4.3 Menjalankan skrip

Karena kita telah mengetahui bahwa tidak ada jalan tanpanya, mari kita penuhi.

Namun sebelum kita mulai bekerja dengan file, kita perlu memperbaiki arahannya public.url dalam file /opt/freeacs-tr069/config/application-config.conf
Kami masih memiliki konfigurasi pengujian yang diinstal dengan satu skrip. Belum lupa?

# --- Public url (used for download f. ex.) ---
public.url = "http://10.110.0.109"
public.url: ${?PUBLIC_URL}

Kami me-reboot ACS dan langsung menuju Files & Scripts.

TR-069 di Mikrotik. Menguji Freeacs sebagai server konfigurasi otomatis untuk RouterOS

Tapi apa yang terbuka bagi kita sekarang adalah milik Tipe Unit, yaitu. secara global ke semua router hAP ac lite, baik itu router cabang, hotspot atau capsman. Kami belum memerlukan level setinggi itu, oleh karena itu, sebelum bekerja dengan skrip dan file, Anda harus membuat profil. Anda dapat menyebutnya sebagai β€œtugas” perangkat.

Mari jadikan bayi kita sebagai server waktu. Posisi yang layak dengan paket perangkat lunak terpisah dan sejumlah kecil parameter. Mari pergi ke Easy Provisioning > Profile > Create Profile dan buat profil di Tipe Unit: hAPaclite server waktu. Kami tidak memiliki parameter apa pun di profil default, jadi tidak ada yang perlu disalin Salin parameter dari: "jangan salin..."

TR-069 di Mikrotik. Menguji Freeacs sebagai server konfigurasi otomatis untuk RouterOS

Belum ada parameter sama sekali di sini, tetapi dimungkinkan untuk mengatur parameter yang nantinya ingin kita lihat di server waktu yang dibentuk dari hAPaclite. Misalnya alamat umum server NTP.
Mari pergi ke konfigurasi unit, dan pindahkan ke profil server waktu

Akhirnya kita pergi ke Files & Scripts, buat skrip, dan di sini roti yang luar biasa nyaman menanti kita.

Untuk mengeksekusi skrip pada suatu unit, kita perlu memilih Ketik: TR069_SCRIPT Π° Nama ΠΈ Nama Sasaran harus memiliki ekstensi .alter
Pada saat yang sama, untuk skrip, tidak seperti perangkat lunak, Anda dapat mengunggah file yang sudah jadi atau cukup menulis/mengeditnya di kolom Konten Mari kita coba menulisnya di sana.

Dan agar langsung terlihat hasilnya, mari kita tambahkan vlan pada router di ether1

/interface vlan
add interface=ether1 name=vlan1 vlan-id=1

TR-069 di Mikrotik. Menguji Freeacs sebagai server konfigurasi otomatis untuk RouterOS

Masuk, tekan Unggah dan selesai. naskah kami vlan1.alter menunggu di sayap.

Baiklah, ayo pergi? TIDAK. Kita juga perlu menambahkan grup untuk profil kita. Grup tidak termasuk dalam hierarki peralatan, tetapi diperlukan untuk mencari unit di UnitType atau Profil dan diperlukan untuk mengeksekusi skrip melalui Penyediaan Lanjutan. Biasanya, grup dikaitkan dengan lokasi dan memiliki struktur bersarang. Ayo buat grup Rusia.

TR-069 di Mikrotik. Menguji Freeacs sebagai server konfigurasi otomatis untuk RouterOS

Bayangkan kita baru saja mempersempit pencarian dari "Semua server waktu dunia di hAPaclite" menjadi "Semua server waktu Rusia di hAPaclite". Masih banyak hal menarik dalam grup, tetapi kami tidak punya waktu. Mari kita pergi ke skrip.

Advanced Provisioning > Job > Create Job

TR-069 di Mikrotik. Menguji Freeacs sebagai server konfigurasi otomatis untuk RouterOS

Karena kita masih dalam mode Lanjutan, di sini Anda dapat menentukan banyak kondisi berbeda untuk memulai tugas, perilaku jika terjadi kesalahan, pengulangan, dan batas waktu. Saya sarankan membaca semua ini di manual atau mendiskusikannya nanti saat mengimplementasikannya dalam produksi. Untuk saat ini, kami hanya akan memasukkan n1 ke dalam aturan Berhenti sehingga tugas akan berhenti segera setelah selesai pada unit pertama kami.

Kami mengisi yang diperlukan, dan yang tersisa hanyalah meluncurkannya!

TR-069 di Mikrotik. Menguji Freeacs sebagai server konfigurasi otomatis untuk RouterOS

Tekan MULAI dan tunggu. Sekarang penghitung perangkat yang dimatikan oleh skrip yang di-debug dengan buruk akan berjalan dengan cepat! Tentu saja tidak. Tugas seperti itu memakan waktu lama, dan inilah perbedaannya dengan skrip, Ansible, dll. Unit sendiri mengajukan tugas sesuai jadwal atau saat tugas tersebut muncul di jaringan, ACS melacak unit mana yang telah menerima tugas, dan bagaimana tugas tersebut berakhir, dan menuliskannya ke parameter unit. Ada 1 unit di grup kami, dan jika ada 1001 unit, admin akan memulai tugas ini dan pergi memancing

Ayo. Nyalakan ulang router atau mulai ulang klien TR-069. Semuanya akan berjalan lancar dan Mr.White akan menerima vlan baru. Dan tugas Stop rule kita akan beralih ke status PAUSED. Artinya, masih bisa di-restart atau diubah. Jika Anda mengklik SELESAI, tugas akan diarsipkan

4.4 Memperbarui perangkat lunak

Ini adalah poin yang sangat penting, karena firmware Mikrotik bersifat modular, tetapi penambahan modul tidak mengubah versi firmware perangkat secara keseluruhan. ACS kami normal dan belum terbiasa.
Sekarang kita akan melakukannya dengan gaya cepat & kotor, dan segera memasukkan modul NTP ke firmware umum, tetapi segera setelah versi diperbarui pada perangkat, kita tidak akan dapat menambahkan modul lain dengan cara yang sama. .
Dalam produksi, lebih baik tidak menggunakan trik seperti itu, dan menginstal modul opsional untuk Tipe Unit hanya menggunakan skrip.

Jadi, hal pertama yang perlu kita lakukan adalah menyiapkan paket perangkat lunak dengan versi dan arsitektur yang diperlukan, dan meletakkannya di beberapa server web yang tersedia. Untuk pengujian, siapa pun yang dapat menghubungi Mr.White kami akan pergi, dan untuk produksi, lebih baik membuat cermin pembaruan otomatis dari perangkat lunak yang diperlukan, yang tidak menakutkan untuk dipasang di web
Penting! Jangan lupa selalu sertakan paket tr-069client di update!

Ternyata, panjang jalur menuju paket sangatlah penting! Ketika saya mencoba menggunakan sesuatu seperti http://192.168.0.237/routeros/stable/mipsbe/routeros-mipsbe-6.45.6.npk, mikrotik mengalami koneksi siklik dengan sumber daya, mengirimkan log TRANSFERCOMPLETE berulang ke tr-069. Dan saya menghabiskan beberapa sel saraf untuk mencoba mencari tahu apa yang salah. Oleh karena itu, untuk saat ini mari kita bahas sampai ke akar-akarnya, sampai kita mengetahuinya

Jadi, kita harus memiliki tiga file npk yang tersedia melalui http. Saya mendapatkannya seperti ini

http://192.168.0.241/routeros-mipsbe-6.45.6.npk
http://192.168.0.241/routeros/stable/mipsbe/ntp-6.45.6-mipsbe.npk
http://192.168.0.241/routeros/stable/mipsbe/tr069-client-6.45.6-mipsbe.npk

Sekarang ini perlu diformat menjadi file xml dengan FileType = "1 Firmware Upgrade Image", yang akan kita masukkan ke Mikrotik. Biarkan namanya menjadi ros.xml

Kami melakukan sesuai dengan instruksi dari mikrotik-wiki:

<upgrade version="1" type="links">
    <config />
    <links>
        <link>
            <url>http://192.168.0.241/routeros-mipsbe-6.45.6.npk</url>
        </link>
        <link>
            <url>http://192.168.0.241/ntp-6.45.6-mipsbe.npk</url>
        </link>
        <link>
            <url>http://192.168.0.241/tr069-client-6.45.6-mipsbe.npk</url>
        </link>
    </links>
</upgrade>

Terdapat kekurangan yang mencolok Username/Password untuk mengakses server unduhan. Anda dapat mencoba memasukkannya seperti pada paragraf A.3.2.8 protokol tr-069:

<link>
<url>http://192.168.0.237/routeros/stable/mipsbe/ntp-6.45.6-mipsbe.npk</url>
<Username>user</Username>
<Password>pass</Password>
</link>

Atau tanyakan langsung pada petugas Mikrotik mengenai panjang maksimal path ke *.npk

Kami pergi ke yang diketahui Files & Scripts, dan buat file PERANGKAT LUNAK di sana dengan Nama:ros.xml, Nama Sasaran:ros.xml dan Versi:6.45.6
Perhatian! Versi harus ditentukan di sini persis dalam format yang ditampilkan pada perangkat dan diteruskan ke parameter System.X_FREEACS-COM.Device.SoftwareVersion.

Pilih file xm kami untuk diunggah dan selesai.

TR-069 di Mikrotik. Menguji Freeacs sebagai server konfigurasi otomatis untuk RouterOS

Sekarang kami memiliki banyak cara untuk memperbarui perangkat. Melalui Wizard di menu utama, melalui Advanced Provisioning dan tugas dengan jenis PERANGKAT LUNAK, atau cukup masuk ke konfigurasi unit dan klik Tingkatkan. Mari kita pilih jalur yang paling sederhana, jika tidak, artikelnya sudah bengkak.

TR-069 di Mikrotik. Menguji Freeacs sebagai server konfigurasi otomatis untuk RouterOS

Kami menekan tombol, memulai penyediaan dan selesai. Program pengujian telah selesai. Sekarang kita bisa berbuat lebih banyak dengan mikrotik.

5. Kesimpulan

Ketika saya mulai menulis, saya ingin menjelaskan terlebih dahulu koneksi telepon ip, dan menggunakan contohnya untuk menjelaskan betapa kerennya ketika tr-069 bekerja dengan mudah dan tanpa susah payah. Namun kemudian, seiring saya mendalami dan mendalami materi, saya berpikir bahwa bagi mereka yang terhubung dengan Mikrotik, tidak ada ponsel yang menakutkan untuk belajar mandiri.

Pada prinsipnya Freeacs yang kami uji sudah dapat digunakan dalam produksi, tetapi untuk ini Anda perlu mengkonfigurasi keamanan, SSL, Anda perlu mengkonfigurasi mikrotik untuk konfigurasi otomatis setelah reset, Anda perlu men-debug penambahan Tipe Unit yang benar, membongkar pekerjaan layanan web dan fusion shell, dan banyak lagi. Coba, ciptakan, dan tulis sekuelnya!

Semuanya, terima kasih atas perhatian Anda! Saya akan dengan senang hati menerima koreksi dan komentar!

Daftar bahan yang digunakan dan tautan bermanfaat:

Utas forum yang saya temukan ketika saya mulai mencari topik tersebut
Amandemen Protokol Manajemen WAN CPE TR-069-6
Wiki Freeac
Parameter tr-069 di Mikrotik, dan korespondensinya dengan perintah terminal

Sumber: www.habr.com