Skydash.NET
GenieACS Banner

GenieACS

Panduan Implementasi untuk Jaringan RTRWNET

1. Pengenalan GenieACS & TR-069

Apa itu GenieACS?

GenieACS adalah server Auto Configuration Server (ACS) berbasis TR-069 yang digunakan untuk manajemen perangkat jaringan seperti ONT, modem, dan router secara otomatis dan terpusat. Protokol TR-069 (CWMP - CPE WAN Management Protocol) memungkinkan komunikasi dua arah antara ACS dan perangkat Customer Premises Equipment (CPE).

Keuntungan Menggunakan GenieACS

  • Zero-Touch Provisioning: Perangkat langsung terkonfigurasi otomatis
  • Centralized Management: Kelola ribuan perangkat dari satu tempat
  • Cost Effective: Solusi open-source tanpa biaya lisensi
  • Multi-Vendor Support: Mendukung berbagai merek perangkat
  • Real-time Monitoring: Pantau status perangkat secara langsung

Manfaat untuk ISP & RT/RW Net

Dengan GenieACS, ISP atau admin jaringan dapat melakukan:

  • Provisioning otomatis perangkat baru
  • Monitoring real-time status perangkat
  • Update firmware dan konfigurasi jarak jauh
  • Reset dan reboot perangkat tanpa kunjungan lapangan
  • Troubleshooting dan diagnostik remote

Fitur Utama GenieACS

FiturDeskripsi
Provisioning OtomatisKonfigurasi perangkat tanpa intervensi manual
Monitoring Real-timeStatus online/offline, bandwidth, uptime
Firmware ManagementUpdate firmware secara terpusat
Configuration BackupBackup dan restore konfigurasi perangkat
REST APIIntegrasi dengan sistem eksternal
Multi-tenancyDukungan untuk multiple ISP/operator

2. Konsep & Arsitektur GenieACS

Komponen Utama

  • genieacs-cwmp (Port: 7547): Layanan utama komunikasi TR-069 dengan perangkat CPE.
  • genieacs-nbi (Port: 7557): REST API untuk integrasi dengan sistem eksternal seperti billing.
  • genieacs-fs (Port: 7567): File server untuk firmware dan file konfigurasi.
  • genieacs-ui (Port: 3000): Web interface untuk administrasi.
  • MongoDB (Port: 27017): Penyimpanan data utama untuk informasi perangkat, log, dan konfigurasi.

Alur Komunikasi TR-069

  1. Device Boot: Perangkat CPE boot dan mendapat konfigurasi ACS URL.
  2. Initial Contact: CPE menghubungi ACS dengan pesan `Inform`.
  3. Authentication: ACS memverifikasi kredensial perangkat.
  4. Session Establishment: Sesi komunikasi TR-069 terbangun.
  5. Data Exchange: Pertukaran parameter dan perintah konfigurasi.
  6. Periodic Inform: CPE mengirim status secara berkala.

3. Persiapan Sistem & Instalasi

Spesifikasi Sistem

  • Hardware: 2 vCPU, 4GB RAM, 20GB SSD (Minimum).
  • Software: Ubuntu 20.04/22.04 LTS, Node.js 14+, MongoDB 4.4+.

Instalasi Step-by-Step

  1. Update Sistem: `sudo apt update && sudo apt upgrade -y`
  2. Install Node.js: Gunakan repository NodeSource untuk versi terbaru.
  3. Install MongoDB: Tambahkan repository resmi MongoDB dan install.
  4. Install GenieACS: `sudo npm install -g genieacs@1.2.13`
  5. Konfigurasi User & Directory: Buat user `genieacs` dan direktori `/opt/genieacs`.

4. Konfigurasi GenieACS

File Konfigurasi Utama

Buat file environment di `/opt/genieacs/genieacs.env` untuk mengatur semua variabel penting, termasuk koneksi database, port layanan, dan JWT secret.

Systemd Service Files

Buat file service di `/etc/systemd/system/` untuk setiap komponen (cwmp, nbi, fs, ui) agar GenieACS bisa berjalan sebagai layanan di latar belakang dan otomatis menyala saat server boot.

5. Menjalankan GenieACS

Start & Enable Services

sudo systemctl daemon-reload
sudo systemctl start genieacs-cwmp genieacs-nbi genieacs-fs genieacs-ui
sudo systemctl enable genieacs-cwmp genieacs-nbi genieacs-fs genieacs-ui

Verify & Monitor

Gunakan `systemctl status genieacs-*` untuk memeriksa status layanan dan `sudo journalctl -u genieacs-cwmp -f` untuk melihat log secara real-time.

6. Akses & Pengaturan Web UI

Akses Web UI melalui http://<IP-Server>:3000. Login dengan kredensial default: `admin` / `admin`. **PENTING**: Segera ubah password default melalui menu **Admin → Users**.

Menu Utama Web UI

  • Devices: Daftar semua perangkat terdaftar.
  • Presets: Aturan konfigurasi otomatis berdasarkan kondisi.
  • Provisions: Skrip JavaScript untuk logika provisioning yang lebih kompleks.
  • Virtual Parameters: Membuat parameter custom yang dihitung dari parameter lain.
  • Files: Manajemen file firmware.

7. Koneksi Perangkat ke ACS

Agar perangkat dapat terhubung ke GenieACS, konfigurasikan parameter TR-069 pada perangkat CPE, baik secara manual atau otomatis melalui DHCP Option 43.

ParameterContoh Nilai
ManagementServer.URL`http://IP:7547/`
ManagementServer.Username`admin`
ManagementServer.Password`admin`
ManagementServer.PeriodicInformEnable`true`
ManagementServer.PeriodicInformInterval`300`

Jika perangkat tidak muncul di ACS, periksa konektivitas jaringan, konfigurasi URL, dan aturan firewall pada server.

8. Manajemen Preset & Provision

Preset

Gunakan preset untuk menerapkan konfigurasi secara otomatis saat perangkat pertama kali terhubung (`1 BOOT`) atau secara periodik (`2 PERIODIC`). Kondisikan preset berdasarkan model, versi firmware, atau tag perangkat.

Provision Scripts

Gunakan provision script untuk automasi yang lebih canggih, seperti update firmware otomatis atau pembatasan bandwidth berdasarkan tag pelanggan (misal: 'premium', 'basic').

9. Virtual Parameters

Buat parameter custom yang nilainya dihitung dari parameter lain. Ini sangat berguna untuk membuat metrik yang lebih mudah dibaca tanpa mengubah firmware perangkat.

Contoh Penggunaan

  • UptimeFormatted: Mengubah detik uptime menjadi format "10d 5h 30m".
  • WiFiStatusSummary: Menggabungkan status SSID dan enable/disable 2.4G & 5G menjadi satu string.
  • BandwidthUsage: Mengonversi total byte terkirim/terima menjadi format GB.
  • HealthScore: Memberikan skor kesehatan perangkat (0-100%) berdasarkan uptime, suhu, dan status koneksi.

10. Monitoring & Troubleshooting

Gunakan Dashboard UI untuk memantau metrik kunci seperti persentase perangkat online, waktu inform terakhir, dan jumlah tugas yang gagal. Pantau juga log sistem dan sumber daya server (CPU, memori) untuk memastikan kelancaran operasi.

Anda dapat mengonfigurasi notifikasi (alert) melalui email atau webhook dengan membuat skrip ekstensi di direktori `/opt/genieacs/ext/`.

11. Keamanan & Best Practices

  • Aktifkan HTTPS/TLS dengan reverse proxy seperti Nginx untuk mengenkripsi semua komunikasi.
  • Atur Firewall untuk hanya membuka port yang diperlukan.
  • Gunakan Password & JWT Secret yang Kuat dan ganti kredensial default.
  • Terapkan Multi-user & Role Management untuk membatasi akses teknisi.
  • Rutin Update GenieACS dan dependensinya.
  • Aktifkan Log Monitoring & Alert untuk mendeteksi aktivitas mencurigakan.

12. Studi Kasus RT/RW Net

GenieACS sangat efektif untuk automasi di jaringan RT/RW Net:

  • Update Firmware OTA: Melakukan update firmware massal untuk berbagai merek ONT secara terjadwal.
  • Manajemen Pelanggan: Otomatis membatasi kecepatan atau menonaktifkan perangkat pelanggan yang menunggak tagihan berdasarkan tag.
  • Integrasi Billing: Menghubungkan sistem tagihan melalui API untuk menonaktifkan/mengaktifkan layanan secara otomatis sesuai status pembayaran.

13. API Integration

GenieACS menyediakan REST API yang kuat melalui layanan NBI (default di port 7557) untuk integrasi dengan sistem lain.

Anda bisa melakukan berbagai operasi seperti mengubah parameter, me-reboot perangkat, atau menjadwalkan tugas lain menggunakan perintah `cURL` atau library bahasa pemrograman seperti Python.

# Contoh Reboot Device via cURL
curl -i 'http://localhost:7557/devices/DEVICE_ID/tasks?timeout=3000&connection_request' \
-X POST \
--data '{"name":"reboot"}'

14. Troubleshooting Umum

Device Tidak Terhubung

  • Pastikan konektivitas jaringan dari perangkat ke server ACS.
  • Verifikasi kembali format ACS URL (harus diakhiri dengan `/`).
  • Periksa aturan firewall pada server.

Device Status "Offline"

  • Pastikan interval *Periodic Inform* tidak terlalu lama.
  • Reboot perangkat untuk memulai sesi baru.
  • Analisis log `genieacs-cwmp` untuk pesan error.

15. Referensi & Resources

Sumber Dokumentasi & Forum